staging: brcm80211: bugfix for oops on firmware load problems
authorRoland Vossen <rvossen@broadcom.com>
Tue, 15 Feb 2011 10:13:50 +0000 (11:13 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Feb 2011 21:04:54 +0000 (13:04 -0800)
Upon firmware load failure, wl_release_fw() was called multiple
times. This caused the driver to oops. Solution was to remove redundant
wl_release_fw() calls.

Signed-off-by: Roland Vossen <rvossen@broadcom.com>
Reviewed-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/brcm80211/brcmsmac/wl_mac80211.c

index 18f1ccfa0d4f9df1f6c3171b1c6cd3d30b1cf572..bf98a151de6d02ed79dabb132ac31a1a656c1839 100644 (file)
@@ -1804,7 +1804,6 @@ static int wl_request_fw(struct wl_info *wl, struct pci_dev *pdev)
                if (status) {
                        WL_ERROR("%s: fail to load firmware %s\n",
                                 KBUILD_MODNAME, fw_name);
-                       wl_release_fw(wl);
                        return status;
                }
                WL_NONE("request fw %s\n", fw_name);
@@ -1814,7 +1813,6 @@ static int wl_request_fw(struct wl_info *wl, struct pci_dev *pdev)
                if (status) {
                        WL_ERROR("%s: fail to load firmware %s\n",
                                 KBUILD_MODNAME, fw_name);
-                       wl_release_fw(wl);
                        return status;
                }
                wl->fw.hdr_num_entries[i] =