ath9k_htc: load proper firmware for device ID 7015
This patch handles the firmware loading properly for device ID 7015. Signed-off-by: Rajkumar Manoharan <rmanoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
fe0dbcc9d2
Коммит
ca6cff1f80
|
@ -191,6 +191,7 @@
|
|||
#define AR9287_EEP_NO_BACK_VER AR9287_EEP_MINOR_VER_1
|
||||
|
||||
#define AR9287_EEP_START_LOC 128
|
||||
#define AR9287_HTC_EEP_START_LOC 256
|
||||
#define AR9287_NUM_2G_CAL_PIERS 3
|
||||
#define AR9287_NUM_2G_CCK_TARGET_POWERS 3
|
||||
#define AR9287_NUM_2G_20_TARGET_POWERS 3
|
||||
|
|
|
@ -34,9 +34,14 @@ static bool ath9k_hw_ar9287_fill_eeprom(struct ath_hw *ah)
|
|||
struct ar9287_eeprom *eep = &ah->eeprom.map9287;
|
||||
struct ath_common *common = ath9k_hw_common(ah);
|
||||
u16 *eep_data;
|
||||
int addr, eep_start_loc = AR9287_EEP_START_LOC;
|
||||
int addr, eep_start_loc;
|
||||
eep_data = (u16 *)eep;
|
||||
|
||||
if (ah->hw_version.devid == 0x7015)
|
||||
eep_start_loc = AR9287_HTC_EEP_START_LOC;
|
||||
else
|
||||
eep_start_loc = AR9287_EEP_START_LOC;
|
||||
|
||||
if (!ath9k_hw_use_flash(ah)) {
|
||||
ath_print(common, ATH_DBG_EEPROM,
|
||||
"Reading from EEPROM, not flash\n");
|
||||
|
|
|
@ -799,7 +799,7 @@ static int ath9k_hif_usb_download_fw(struct hif_device_usb *hif_dev)
|
|||
}
|
||||
kfree(buf);
|
||||
|
||||
if (hif_dev->device_id == 0x7010)
|
||||
if ((hif_dev->device_id == 0x7010) || (hif_dev->device_id == 0x7015))
|
||||
firm_offset = AR7010_FIRMWARE_TEXT;
|
||||
else
|
||||
firm_offset = AR9271_FIRMWARE_TEXT;
|
||||
|
@ -901,6 +901,7 @@ static int ath9k_hif_usb_probe(struct usb_interface *interface,
|
|||
|
||||
switch(hif_dev->device_id) {
|
||||
case 0x7010:
|
||||
case 0x7015:
|
||||
case 0x9018:
|
||||
if (le16_to_cpu(udev->descriptor.bcdDevice) == 0x0202)
|
||||
hif_dev->fw_name = FIRMWARE_AR7010_1_1;
|
||||
|
@ -912,11 +913,6 @@ static int ath9k_hif_usb_probe(struct usb_interface *interface,
|
|||
break;
|
||||
}
|
||||
|
||||
if (!hif_dev->fw_name) {
|
||||
dev_err(&udev->dev, "Can't determine firmware !\n");
|
||||
goto err_htc_hw_alloc;
|
||||
}
|
||||
|
||||
ret = ath9k_hif_usb_dev_init(hif_dev);
|
||||
if (ret) {
|
||||
ret = -EINVAL;
|
||||
|
|
|
@ -245,6 +245,7 @@ static int ath9k_init_htc_services(struct ath9k_htc_priv *priv, u16 devid)
|
|||
|
||||
switch(devid) {
|
||||
case 0x7010:
|
||||
case 0x7015:
|
||||
case 0x9018:
|
||||
priv->htc->credits = 45;
|
||||
break;
|
||||
|
|
|
@ -899,6 +899,7 @@
|
|||
|
||||
#define AR_DEVID_7010(_ah) \
|
||||
(((_ah)->hw_version.devid == 0x7010) || \
|
||||
((_ah)->hw_version.devid == 0x7015) || \
|
||||
((_ah)->hw_version.devid == 0x9018))
|
||||
|
||||
#define AR_RADIO_SREV_MAJOR 0xf0
|
||||
|
|
Загрузка…
Ссылка в новой задаче