diff mbox series

Input: elo - fix an error code in elo_connect()

Message ID YBKFd5CvDu+jVmfW@mwanda (mailing list archive)
State Accepted
Commit 0958351e93fa0ac142f6dd8bd844441594f30a57
Headers show
Series Input: elo - fix an error code in elo_connect() | expand

Commit Message

Dan Carpenter Jan. 28, 2021, 9:35 a.m. UTC
If elo_setup_10() fails then this should return an error code instead
of success.

Fixes: fae3006e4b42 ("Input: elo - add support for non-pressure-sensitive touchscreens")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
 drivers/input/touchscreen/elo.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Dmitry Torokhov Feb. 17, 2021, 4:37 a.m. UTC | #1
Hi Dan,

On Thu, Jan 28, 2021 at 12:35:51PM +0300, Dan Carpenter wrote:
> If elo_setup_10() fails then this should return an error code instead
> of success.

Thank you for the patch.

> 
> Fixes: fae3006e4b42 ("Input: elo - add support for non-pressure-sensitive touchscreens")
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
>  drivers/input/touchscreen/elo.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/input/touchscreen/elo.c b/drivers/input/touchscreen/elo.c
> index e0bacd34866a..4b2fb73da5e2 100644
> --- a/drivers/input/touchscreen/elo.c
> +++ b/drivers/input/touchscreen/elo.c
> @@ -341,8 +341,10 @@ static int elo_connect(struct serio *serio, struct serio_driver *drv)
>  	switch (elo->id) {
>  
>  	case 0: /* 10-byte protocol */
> -		if (elo_setup_10(elo))
> +		if (elo_setup_10(elo)) {
> +			err = -EINVAL;

Ideally we'd propagate error from elo_setup_10() and underlying code,
but we are not ready for it, as most serio code simply uses -1 for
errors. However I think that -EIO would suit better here. Please let me
know if you disagree, otherwise I'll fix it up on my side.

Thanks!

>  			goto fail3;
> +		}
>  
>  		break;
>  
> -- 
> 2.29.2
>
Dan Carpenter Feb. 17, 2021, 8:24 a.m. UTC | #2
On Tue, Feb 16, 2021 at 08:37:31PM -0800, Dmitry Torokhov wrote:
> Hi Dan,
> 
> On Thu, Jan 28, 2021 at 12:35:51PM +0300, Dan Carpenter wrote:
> > If elo_setup_10() fails then this should return an error code instead
> > of success.
> 
> Thank you for the patch.
> 
> > 
> > Fixes: fae3006e4b42 ("Input: elo - add support for non-pressure-sensitive touchscreens")
> > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> > ---
> >  drivers/input/touchscreen/elo.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/input/touchscreen/elo.c b/drivers/input/touchscreen/elo.c
> > index e0bacd34866a..4b2fb73da5e2 100644
> > --- a/drivers/input/touchscreen/elo.c
> > +++ b/drivers/input/touchscreen/elo.c
> > @@ -341,8 +341,10 @@ static int elo_connect(struct serio *serio, struct serio_driver *drv)
> >  	switch (elo->id) {
> >  
> >  	case 0: /* 10-byte protocol */
> > -		if (elo_setup_10(elo))
> > +		if (elo_setup_10(elo)) {
> > +			err = -EINVAL;
> 
> Ideally we'd propagate error from elo_setup_10() and underlying code,
> but we are not ready for it, as most serio code simply uses -1 for
> errors. However I think that -EIO would suit better here. Please let me
> know if you disagree, otherwise I'll fix it up on my side.
> 

-EIO is fine.  Thanks!

regards,
dan carpenter
diff mbox series

Patch

diff --git a/drivers/input/touchscreen/elo.c b/drivers/input/touchscreen/elo.c
index e0bacd34866a..4b2fb73da5e2 100644
--- a/drivers/input/touchscreen/elo.c
+++ b/drivers/input/touchscreen/elo.c
@@ -341,8 +341,10 @@  static int elo_connect(struct serio *serio, struct serio_driver *drv)
 	switch (elo->id) {
 
 	case 0: /* 10-byte protocol */
-		if (elo_setup_10(elo))
+		if (elo_setup_10(elo)) {
+			err = -EINVAL;
 			goto fail3;
+		}
 
 		break;