diff mbox

[media] Input: synaptics-rmi4 - unlock on error

Message ID 20161014171427.GA21917@mwanda (mailing list archive)
State Accepted
Headers show

Commit Message

Dan Carpenter Oct. 14, 2016, 5:14 p.m. UTC
We should unlock before returning on this error path.

Fixes: 3a762dbd5347 ('[media] Input: synaptics-rmi4 - add support for F54 diagnostics')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Hans Verkuil (hansverk) Nov. 14, 2016, 12:24 p.m. UTC | #1
On 10/14/2016 07:14 PM, Dan Carpenter wrote:
> We should unlock before returning on this error path.
>
> Fixes: 3a762dbd5347 ('[media] Input: synaptics-rmi4 - add support for F54 diagnostics')
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>

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

>
> diff --git a/drivers/input/rmi4/rmi_f54.c b/drivers/input/rmi4/rmi_f54.c
> index cf805b9..2e934ae 100644
> --- a/drivers/input/rmi4/rmi_f54.c
> +++ b/drivers/input/rmi4/rmi_f54.c
> @@ -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)
>

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dmitry Torokhov Nov. 17, 2016, 1:24 a.m. UTC | #2
On Mon, Nov 14, 2016 at 01:24:12PM +0100, Hans Verkuil wrote:
> On 10/14/2016 07:14 PM, Dan Carpenter wrote:
> >We should unlock before returning on this error path.
> >
> >Fixes: 3a762dbd5347 ('[media] Input: synaptics-rmi4 - add support for F54 diagnostics')
> >Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> 
> 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.

> 
> Regards,
> 
> 	Hans
> 
> >
> >diff --git a/drivers/input/rmi4/rmi_f54.c b/drivers/input/rmi4/rmi_f54.c
> >index cf805b9..2e934ae 100644
> >--- a/drivers/input/rmi4/rmi_f54.c
> >+++ b/drivers/input/rmi4/rmi_f54.c
> >@@ -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)
> >
>
diff mbox

Patch

diff --git a/drivers/input/rmi4/rmi_f54.c b/drivers/input/rmi4/rmi_f54.c
index cf805b9..2e934ae 100644
--- a/drivers/input/rmi4/rmi_f54.c
+++ b/drivers/input/rmi4/rmi_f54.c
@@ -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)