Browse Source

staging: brcm80211: bugfix for oops on firmware load problems

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>
Roland Vossen 14 years ago
parent
commit
59909c7c29
1 changed files with 0 additions and 2 deletions
  1. 0 2
      drivers/staging/brcm80211/brcmsmac/wl_mac80211.c

+ 0 - 2
drivers/staging/brcm80211/brcmsmac/wl_mac80211.c

@@ -1804,7 +1804,6 @@ static int wl_request_fw(struct wl_info *wl, struct pci_dev *pdev)
 		if (status) {
 		if (status) {
 			WL_ERROR("%s: fail to load firmware %s\n",
 			WL_ERROR("%s: fail to load firmware %s\n",
 				 KBUILD_MODNAME, fw_name);
 				 KBUILD_MODNAME, fw_name);
-			wl_release_fw(wl);
 			return status;
 			return status;
 		}
 		}
 		WL_NONE("request fw %s\n", fw_name);
 		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) {
 		if (status) {
 			WL_ERROR("%s: fail to load firmware %s\n",
 			WL_ERROR("%s: fail to load firmware %s\n",
 				 KBUILD_MODNAME, fw_name);
 				 KBUILD_MODNAME, fw_name);
-			wl_release_fw(wl);
 			return status;
 			return status;
 		}
 		}
 		wl->fw.hdr_num_entries[i] =
 		wl->fw.hdr_num_entries[i] =