aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/libertas/firmware.c
Commit message (Collapse)AuthorAgeFilesLines
* libertas: move firmware lifetime handling to firmware.cDan Williams2013-10-181-0/+5
| | | | | | | | | | | | | Previously, each bus type was responsible for freeing the firmware structure, but some did that badly. Move responsibility for freeing firmware into firmware.c so that it's done once and correctly, instead of happening in multiple places in bus-specific code. This fixes a use-after-free bug found by Dr. H. Nikolaus Schaller where the SDIO code forgot to NULL priv->helper_fw after freeing it. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: firmware.c: remove duplicated includeDuan Jiong2012-07-191-2/+0
| | | | Signed-off-by: Duan Jiong <djduanjiong@gmail.com>
* libertas: include sched.h on firmware.cLuis R. Rodriguez2012-05-081-0/+1
| | | | | | | | | Do not assume we have our subsystem including this for us, at least for older kernels this is not true. Lets just be explicit about this requirement for the usage of wake_up(). Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: add missing includeFelix Fietkau2012-04-231-0/+1
| | | | | | | | | Without it, I get compile errors due to missing TASK_NORMAL, TASK_UNINTERRUPTIBLE and schedule. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: add asynchronous firmware loading capabilityDaniel Drake2012-04-171-0/+143
| | | | | | | | | | | | | | | | | | As described at http://article.gmane.org/gmane.linux.kernel.wireless.general/86084 libertas is taking a long time to load because it loads firmware during module loading. Add a new API for interface drivers to load their firmware asynchronously. The same semantics of the firmware table are followed like before. Interface drivers will be converted in follow-up patches, then we can remove the old, synchronous firmware loading function. Signed-off-by: Daniel Drake <dsd@laptop.org> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* libertas: Firmware loading simplificationsDaniel Drake2012-04-171-0/+79
Remove the ability to pass module parameters with firmware filenames for USB and SDIO interfaces. Remove the ability to pass custom "user" filenames to lbs_get_firmware(). Remove the ability to reprogram internal device memory with a different firmware from the USB driver (we don't know of any users), and simplify the OLPC firmware loading quirk to simply placing the OLPC firmware at the top of the list (we don't know of any users other than OLPC). Move lbs_get_firmware() into its own file. These simplifications should have no real-life effect but make the upcoming transition to asynchronous firmware loading considerably less painful. Signed-off-by: Daniel Drake <dsd@laptop.org> Acked-by: Dan Williams <dcbw@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>