--- a/drivers/net/wireless/ath/carl9170/usb.c +++ b/drivers/net/wireless/ath/carl9170/usb.c @@ -983,11 +983,28 @@ err_failed: ar9170_usb_firmware_failed(aru); } + + static int ar9170_usb_request_firmware(struct ar9170_usb *aru) { +#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33)) + const struct firmware *fw; + int ret; + + ret = request_firmware(&fw, + ar9170_fws[aru->fw_load].files[aru->fw_files].name, + &aru->udev->dev); + + if (ret < 0) + return ret; + + ar9170_usb_firmware_step2(fw, aru); + return 0; +#else return request_firmware_nowait(THIS_MODULE, 1, ar9170_fws[aru->fw_load].files[aru->fw_files].name, &aru->udev->dev, GFP_KERNEL, aru, ar9170_usb_firmware_step2); +#endif } static void ar9170_usb_disconnect(struct usb_interface *intf)