]> git.baikalelectronics.ru Git - kernel.git/commit
p54: use request_firmware_direct() for optional EEPROM override
authorLuis R. Rodriguez <mcgrof@suse.com>
Tue, 24 Jun 2014 22:39:43 +0000 (15:39 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 25 Jun 2014 19:40:40 +0000 (15:40 -0400)
commitb5da4675dabfe09dfe0b41dfa8918c3dd41744ff
tree883270237b22ae54925c9b9dbb2dc4702c3cfd6f
parent28685c8a16432b971a4a900399bb5bdac701b2a6
p54: use request_firmware_direct() for optional EEPROM override

The p54 driver uses request_firmware() twice, once for actual
firmware and then another time for an optional user overide on
EEPROM, 3826.eeprom. The custom EEPROM  is optional but if not
present we'll introduce an extra lag of 60 seconds with udev
present. Annotate we don't want udev nonsense here to avoid
the lag in case its not present.

This was found with the following SmPL patch.

@ firmware_not_critical @
expression cf;
expression config_file;
expression dev;
int ret;
identifier l;
statement S;
@@

- ret = request_firmware(&cf, config_file, dev);
+ ret = request_firmware_direct(&cf, config_file, dev);
if (ret < 0) {
... when != goto l;
    when != return ret;
    when any
} else {
...
release_firmware(cf);
...
}

Cc: Takashi Iwai <tiwai@suse.de>
Cc: Christian Lamparter <chunkeey@googlemail.com>
Cc: linux-wireless@vger.kernel.org
Cc: cocci@systeme.lip6.fr
Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
Acked-By: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/p54/p54spi.c