Re: [PATCH 1/2]drivers/usb/core/sysfs.c Fix variable 'retval' set but not used

From: Valdis . Kletnieks
Date: Tue Aug 03 2010 - 11:14:05 EST


On Tue, 03 Aug 2010 10:29:52 EDT, Alan Stern said:
> On Tue, 3 Aug 2010 Valdis.Kletnieks@xxxxxx wrote:
>
> > On Mon, 02 Aug 2010 21:26:28 PDT, "Justin P. Mattock" said:
> > > diff --git a/drivers/usb/core/sysfs.c b/drivers/usb/core/sysfs.c
> >
> > > if (alt->string)
> > > - retval = device_create_file(&intf->dev, &dev_attr_interface);
> > > + device_create_file(&intf->dev, &dev_attr_interface);
> > > intf->sysfs_files_created = 1;
> > > return 0;
>
> Justin, did you try compiling your new code? Those unused values are
> there because device_create_file is declared as __must_check.
>
> > What should the code do if device_create_file() manages to fail? Yes, ignoring
> > the return value is one option, but is it the best one? 'return ret;' might be
> > another one. Somebody who understands this code and has more caffeine than me
> > should look this over.
>
> Failure to create a file in sysfs is almost never fatal and usually not
> even dangerous. Ignoring the error is generally better than failing
> the entire operation.

Then why the __must_check attribute if it's usually ignorable? I thought
that was reserved for functions that you damned sight better well check
for errors because bad things are afoot otherwise?

Attachment: pgp00000.pgp
Description: PGP signature