On Wed, Mar 24, 2021 at 10:26:04PM +0500, Muhammad Usama Anjum wrote: > Return value of usb_driver_claim_interface should not be ignored. > Instead it should be stored in err variable and returned from > this function. > > Signed-off-by: Muhammad Usama Anjum <musamaanjum@xxxxxxxxx> > --- > sound/usb/quirks.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c > index 9e5e37eff10e..dd32ceaef18a 100644 > --- a/sound/usb/quirks.c > +++ b/sound/usb/quirks.c > @@ -427,10 +427,10 @@ static int create_autodetect_quirks(struct snd_usb_audio *chip, > > err = create_autodetect_quirk(chip, iface, driver); > if (err >= 0) create_autodetect_quirk() never returns positive values. Flip this condition. (Always do error handling, don't do success handling). if (err) continue; > - usb_driver_claim_interface(driver, iface, (void *)-1L); > + err = usb_driver_claim_interface(driver, iface, (void *)-1L); This is in a loop so only the last return value is used. Which seems sort of weird and pointless that the last value would matter more than the others. > } > > - return 0; > + return err; regards, dan carpenter