Skip to contentSkip to conversation

Input: synaptics-rmi4 - unlock on error

PATCH In review Dan Carpenter 3 participants 3 messages Oct 14, 2016 – Nov 17, 2016

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Input: synaptics-rmi4 - unlock on error

We should unlock before returning on this error path.

Fixes 3a762dbd5347 ('[media] Input: synaptics-rmi4 - add support for F54 diagnostics')
drivers/input/rmi4/rmi_f54.c +3 -2
index cf805b9..2e934ae 100644
@@ -200,7 +200,7 @@ static int rmi_f54_request_report(struct rmi_function *fn, u8 report_type)
 
 	error = rmi_write(rmi_dev, fn->fd.command_base_addr, F54_GET_REPORT);
 	if (error < 0)
-		return error;
+		goto unlock;
 
 	init_completion(&f54->cmd_done);
 
@@ -209,9 +209,10 @@ static int rmi_f54_request_report(struct rmi_function *fn, u8 report_type)
 
 	queue_delayed_work(f54->workqueue, &f54->work, 0);
 
+unlock:
 	mutex_unlock(&f54->data_mutex);
 
-	return 0;
+	return error;
 }
 
 static size_t rmi_f54_get_report_size(struct f54_data *f54)
#1 lore raw
Quoted 4 lines · Dan Carpenter

We should unlock before returning on this error path.

Fixes 3a762dbd5347 ('[media] Input: synaptics-rmi4 - add support for F54 diagnostics')

Dmitry, will you pick this up? It probably should to in for 4.9.

Even though it was prefixed with [media] it wasn't send to linux-media, so it never ended up in our patchwork.

If you don't want to process this patch, then let me know and I'll take it.

Regards,

Hans

Quoted 27 lines
drivers/input/rmi4/rmi_f54.c +3 -2
index cf805b9..2e934ae 100644
@@ -200,7 +200,7 @@ static int rmi_f54_request_report(struct rmi_function *fn, u8 report_type)
 
 	error = rmi_write(rmi_dev, fn->fd.command_base_addr, F54_GET_REPORT);
 	if (error < 0)
-		return error;
+		goto unlock;
 
 	init_completion(&f54->cmd_done);
 
@@ -209,9 +209,10 @@ static int rmi_f54_request_report(struct rmi_function *fn, u8 report_type)
 
 	queue_delayed_work(f54->workqueue, &f54->work, 0);
 
+unlock:
 	mutex_unlock(&f54->data_mutex);
 
-	return 0;
+	return error;
 }
 
 static size_t rmi_f54_get_report_size(struct f54_data *f54)
maintainer
#2 lore raw
Quoted 6 lines · Hans Verkuil
Quoted 4 lines · Dan Carpenter

We should unlock before returning on this error path.

Fixes 3a762dbd5347 ('[media] Input: synaptics-rmi4 - add support for F54 diagnostics')
Quoted 6 lines

Dmitry, will you pick this up? It probably should to in for 4.9.

Even though it was prefixed with [media] it wasn't send to linux-media, so it never ended up in our patchwork.

If you don't want to process this patch, then let me know and I'll take it.

I picked it up. Given it is error handling that should not really fail I think it can wait for next merge.

Thanks.

Quoted 33 lines

Regards,

Hans

Quoted 27 lines
drivers/input/rmi4/rmi_f54.c +3 -2
index cf805b9..2e934ae 100644
@@ -200,7 +200,7 @@ static int rmi_f54_request_report(struct rmi_function *fn, u8 report_type)
 
 	error = rmi_write(rmi_dev, fn->fd.command_base_addr, F54_GET_REPORT);
 	if (error < 0)
-		return error;
+		goto unlock;
 
 	init_completion(&f54->cmd_done);
 
@@ -209,9 +209,10 @@ static int rmi_f54_request_report(struct rmi_function *fn, u8 report_type)
 
 	queue_delayed_work(f54->workqueue, &f54->work, 0);
 
+unlock:
 	mutex_unlock(&f54->data_mutex);
 
-	return 0;
+	return error;
 }
 
 static size_t rmi_f54_get_report_size(struct f54_data *f54)
Signature · 1 line
Dmitry