2021-07-24 21:38:49

by Salah Triki

[permalink] [raw]
Subject: [PATCH] input: joystick: pxrc: use usb_get_intf()

Use usb_get_intf() in order to increment reference count of the usb
interface structure.

Signed-off-by: Salah Triki <[email protected]>
---
drivers/input/joystick/pxrc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/joystick/pxrc.c b/drivers/input/joystick/pxrc.c
index ea2bf5951d67..59304352548b 100644
--- a/drivers/input/joystick/pxrc.c
+++ b/drivers/input/joystick/pxrc.c
@@ -143,7 +143,7 @@ static int pxrc_probe(struct usb_interface *intf,
return -ENOMEM;

mutex_init(&pxrc->pm_mutex);
- pxrc->intf = intf;
+ pxrc->intf = usb_get_intf(intf);

usb_set_intfdata(pxrc->intf, pxrc);

--
2.25.1


2021-07-25 06:33:44

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] input: joystick: pxrc: use usb_get_intf()

On Sat, Jul 24, 2021 at 10:36:17PM +0100, Salah Triki wrote:
> Use usb_get_intf() in order to increment reference count of the usb
> interface structure.
>
> Signed-off-by: Salah Triki <[email protected]>
> ---
> drivers/input/joystick/pxrc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/input/joystick/pxrc.c b/drivers/input/joystick/pxrc.c
> index ea2bf5951d67..59304352548b 100644
> --- a/drivers/input/joystick/pxrc.c
> +++ b/drivers/input/joystick/pxrc.c
> @@ -143,7 +143,7 @@ static int pxrc_probe(struct usb_interface *intf,
> return -ENOMEM;
>
> mutex_init(&pxrc->pm_mutex);
> - pxrc->intf = intf;
> + pxrc->intf = usb_get_intf(intf);
>
> usb_set_intfdata(pxrc->intf, pxrc);
>
> --

You can not add a reference and never drop it :(

2021-07-25 18:04:35

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] input: joystick: pxrc: use usb_get_intf()

On Sun, Jul 25, 2021 at 08:31:47AM +0200, Greg KH wrote:
> On Sat, Jul 24, 2021 at 10:36:17PM +0100, Salah Triki wrote:
> > Use usb_get_intf() in order to increment reference count of the usb
> > interface structure.
> >
> > Signed-off-by: Salah Triki <[email protected]>
> > ---
> > drivers/input/joystick/pxrc.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/input/joystick/pxrc.c b/drivers/input/joystick/pxrc.c
> > index ea2bf5951d67..59304352548b 100644
> > --- a/drivers/input/joystick/pxrc.c
> > +++ b/drivers/input/joystick/pxrc.c
> > @@ -143,7 +143,7 @@ static int pxrc_probe(struct usb_interface *intf,
> > return -ENOMEM;
> >
> > mutex_init(&pxrc->pm_mutex);
> > - pxrc->intf = intf;
> > + pxrc->intf = usb_get_intf(intf);
> >
> > usb_set_intfdata(pxrc->intf, pxrc);
> >
> > --
>
> You can not add a reference and never drop it :(

On top of that taking a reference here is not useful as the interface
must be valid until disconnect() call.

Thanks.

--
Dmitry