From patchwork Tue Jul 5 13:29:27 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mohammed Shafi X-Patchwork-Id: 945162 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p65DTWaa012585 for ; Tue, 5 Jul 2011 13:29:32 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751138Ab1GEN3a (ORCPT ); Tue, 5 Jul 2011 09:29:30 -0400 Received: from mail-wy0-f174.google.com ([74.125.82.174]:46289 "EHLO mail-wy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750977Ab1GEN33 (ORCPT ); Tue, 5 Jul 2011 09:29:29 -0400 Received: by wyg8 with SMTP id 8so3987932wyg.19 for ; Tue, 05 Jul 2011 06:29:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=cxIBruosCLyts0e9lpTkLOI75w3vtZ0+fQc77NevKeE=; b=Zxi29OImhDhJJX7wG9/DfZwLkJT4YO8JFa1w4K33wS7Zret1Zh5KN6J0EaI4tQ/5T4 hRvDb1evkPstOKOhfXwPJyjKwZrWT0xJXbUs2g9YLjFBmw48mvTrWA2QgOmgJ3i4+jGK o8ETdSEVwrHCivLWK+v9nvKND3HZYLqdjnpLs= MIME-Version: 1.0 Received: by 10.227.20.5 with SMTP id d5mr227153wbb.103.1309872567704; Tue, 05 Jul 2011 06:29:27 -0700 (PDT) Received: by 10.227.38.66 with HTTP; Tue, 5 Jul 2011 06:29:27 -0700 (PDT) In-Reply-To: <20110705124914.GC26882@alittletooquiet.net> References: <20110701133553.GA7125@alittletooquiet.net> <20110701173237.GC7125@alittletooquiet.net> <20110704052410.GA1364@vmraj-lnx.users.atheros.com> <20110704095341.GA1380@vmraj-lnx.users.atheros.com> <20110705124914.GC26882@alittletooquiet.net> Date: Tue, 5 Jul 2011 18:59:27 +0530 Message-ID: Subject: Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1 From: Mohammed Shafi To: Forest Bond Cc: Rajkumar Manoharan , "Luis R. Rodriguez" , Jouni Malinen , Vasanthakumar Thiagarajan , Senthil Balasubramanian , linux-wireless@vger.kernel.org Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Tue, 05 Jul 2011 13:29:33 +0000 (UTC) >> > Please share your PID/VID. > > 0cf3:9271 > >> And also for compat-wireless-v3.0-rc4-1, FW version should be 1.3 and fw size >> should be 51272. But in your case size is 51288 which is 1.2. Please upgrade fw >> to 1.3 and test again. >> >> http://wireless.kernel.org/download/htc_fw/1.3/htc_9271.fw > > Okay.  I had tried both versions previously; neither seems to work any better > than the other.  Here is dmesg using firmware version 1.3: > > [  102.984766] Compat-wireless backport release: compat-wireless-v3.0-rc4-1 > [  102.984775] Backport based on linux-2.6-allstable.git v3.0-rc4 > [  103.213468] Calling CRDA to update world regulatory domain > [  103.798281] usbcore: registered new interface driver ath9k_htc > [  108.482070] usb 5-7: new high speed USB device using ehci_hcd and address 5 > [  108.643105] usb 5-7: configuration #1 chosen from 1 choice > [  108.996663] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51272 > [  109.135499] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits > [  109.140526] ath: UNDEFINED -> AWAKE > [  109.141769] ath: serialize_regmode is 0 > [  109.383151] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID > [  109.383168] ath: REGISTER WRITE FAILED, multi len: 9 > [  109.609805] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  109.609822] ath: REGISTER READ FAILED: (0x9c00, -110) > [  109.609835] ath: Reading from EEPROM, not flash > [  109.824058] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  109.824079] ath: Multiple REGISTER READ FAILED (count: 8) > [  110.042132] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  110.042148] ath: Multiple REGISTER READ FAILED (count: 8) > [  110.260786] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  110.260802] ath: Multiple REGISTER READ FAILED (count: 8) > [  110.482613] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  110.482629] ath: Multiple REGISTER READ FAILED (count: 8) > [  110.719736] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  110.719753] ath: Multiple REGISTER READ FAILED (count: 8) > [  110.953628] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  110.953645] ath: Multiple REGISTER READ FAILED (count: 8) > [  111.195035] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  111.195057] ath: Multiple REGISTER READ FAILED (count: 8) > [  111.432953] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  111.432975] ath: Multiple REGISTER READ FAILED (count: 8) > [  111.668211] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  111.668227] ath: Multiple REGISTER READ FAILED (count: 8) > [  111.903626] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  111.903642] ath: Multiple REGISTER READ FAILED (count: 8) > [  112.135695] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  112.135711] ath: Multiple REGISTER READ FAILED (count: 8) > [  112.370919] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  112.370936] ath: Multiple REGISTER READ FAILED (count: 8) > [  112.603491] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  112.603508] ath: Multiple REGISTER READ FAILED (count: 8) > [  112.841972] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  112.841988] ath: Multiple REGISTER READ FAILED (count: 8) > [  113.065412] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  113.065428] ath: Multiple REGISTER READ FAILED (count: 8) > [  113.300441] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  113.300458] ath: Multiple REGISTER READ FAILED (count: 8) > [  113.536889] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  113.536906] ath: Multiple REGISTER READ FAILED (count: 8) > [  113.774809] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  113.774826] ath: Multiple REGISTER READ FAILED (count: 8) > [  114.012001] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  114.012018] ath: Multiple REGISTER READ FAILED (count: 8) > [  114.245297] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  114.245314] ath: Multiple REGISTER READ FAILED (count: 8) > [  114.476929] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  114.476946] ath: Multiple REGISTER READ FAILED (count: 8) > [  114.753310] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  114.753327] ath: Multiple REGISTER READ FAILED (count: 8) > [  114.966595] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  114.966611] ath: Multiple REGISTER READ FAILED (count: 8) > [  115.193618] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  115.193634] ath: Multiple REGISTER READ FAILED (count: 4) > [  115.462402] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  115.462419] ath: REGISTER READ FAILED: (0x2000, -110) > [  115.685667] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  115.685684] ath: REGISTER READ FAILED: (0x407c, -110) > [  115.918681] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  115.918703] ath: REGISTER READ FAILED: (0x407c, -110) > [  116.152756] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  116.152773] ath: REGISTER READ FAILED: (0x407c, -110) > [  116.391881] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  116.391898] ath: REGISTER READ FAILED: (0x407c, -110) > [  116.629244] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  116.629265] ath: REGISTER READ FAILED: (0x407c, -110) > [  116.860197] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  116.860214] ath: REGISTER READ FAILED: (0x407c, -110) > [  117.094108] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  117.094124] ath: REGISTER READ FAILED: (0x407c, -110) > [  117.325535] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  117.325551] ath: REGISTER READ FAILED: (0x407c, -110) > [  117.578615] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  117.578632] ath: REGISTER READ FAILED: (0x407c, -110) > [  117.819951] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  117.819968] ath: REGISTER READ FAILED: (0x407c, -110) > [  118.055933] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  118.055950] ath: REGISTER READ FAILED: (0x407c, -110) > [  118.329876] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  118.329893] ath: REGISTER READ FAILED: (0x407c, -110) > [  118.563992] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  118.564009] ath: REGISTER READ FAILED: (0x407c, -110) > [  118.803279] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  118.803296] ath: REGISTER READ FAILED: (0x407c, -110) > [  119.045193] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  119.045209] ath: REGISTER READ FAILED: (0x407c, -110) > [  119.294820] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  119.294832] ath: REGISTER READ FAILED: (0x407c, -110) > [  119.536403] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  119.536421] ath: REGISTER READ FAILED: (0x407c, -110) > [  119.764358] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  119.764375] ath: REGISTER READ FAILED: (0x407c, -110) > [  120.002647] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  120.002664] ath: REGISTER READ FAILED: (0x407c, -110) > [  120.223089] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  120.223107] ath: REGISTER READ FAILED: (0x407c, -110) > [  120.450418] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  120.450435] ath: REGISTER READ FAILED: (0x407c, -110) > [  120.701625] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID > [  120.701638] ath: REGISTER READ FAILED: (0x407c, -110) please try to apply the attached reverting patch, if it works it may help us to narrow down the issue. Thanks. > > I appreciate your help on this. > > Thanks, > Forest > -- > Forest Bond > http://www.alittletooquiet.net > http://www.rapidrollout.com > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > > iEYEARECAAYFAk4TCEoACgkQRO4fQQdv5AzU1QCfTLes04IZ3F9Zrdo+WdMQ6Kg8 > bV8AoI0CgOsrqwPnSxGA/NMPZFAXmsbP > =0xqn > -----END PGP SIGNATURE----- > > From 71374335e0ffa299775be03f99f265a02bba4347 Mon Sep 17 00:00:00 2001 From: Mohammed Shafi Shajakhan Date: Tue, 5 Jul 2011 18:48:10 +0530 Subject: [PATCH] Revert "ath9k_hw: Offload USB eeprom reading to target" This reverts commit 04cf53f465049c7c509aac7b776f75d38ef68e69. Signed-off-by: Mohammed Shafi Shajakhan --- drivers/net/wireless/ath/ath9k/eeprom.c | 32 ------------------ drivers/net/wireless/ath/ath9k/eeprom.h | 2 - drivers/net/wireless/ath/ath9k/eeprom_4k.c | 41 ++++++----------------- drivers/net/wireless/ath/ath9k/eeprom_9287.c | 45 ++++++++----------------- drivers/net/wireless/ath/ath9k/eeprom_def.c | 32 ++---------------- 5 files changed, 29 insertions(+), 123 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/eeprom.c b/drivers/net/wireless/ath/ath9k/eeprom.c index e61404d..a4a4100 100644 --- a/drivers/net/wireless/ath/ath9k/eeprom.c +++ b/drivers/net/wireless/ath/ath9k/eeprom.c @@ -89,38 +89,6 @@ bool ath9k_hw_get_lower_upper_index(u8 target, u8 *pList, u16 listSize, return false; } -void ath9k_hw_usb_gen_fill_eeprom(struct ath_hw *ah, u16 *eep_data, - int eep_start_loc, int size) -{ - int i = 0, j, addr; - u32 addrdata[8]; - u32 data[8]; - - for (addr = 0; addr < size; addr++) { - addrdata[i] = AR5416_EEPROM_OFFSET + - ((addr + eep_start_loc) << AR5416_EEPROM_S); - i++; - if (i == 8) { - REG_READ_MULTI(ah, addrdata, data, i); - - for (j = 0; j < i; j++) { - *eep_data = data[j]; - eep_data++; - } - i = 0; - } - } - - if (i != 0) { - REG_READ_MULTI(ah, addrdata, data, i); - - for (j = 0; j < i; j++) { - *eep_data = data[j]; - eep_data++; - } - } -} - bool ath9k_hw_nvram_read(struct ath_common *common, u32 off, u16 *data) { return common->bus_ops->eeprom_read(common, off, data); diff --git a/drivers/net/wireless/ath/ath9k/eeprom.h b/drivers/net/wireless/ath/ath9k/eeprom.h index de99c0d..fc3b620 100644 --- a/drivers/net/wireless/ath/ath9k/eeprom.h +++ b/drivers/net/wireless/ath/ath9k/eeprom.h @@ -669,8 +669,6 @@ int16_t ath9k_hw_interpolate(u16 target, u16 srcLeft, u16 srcRight, bool ath9k_hw_get_lower_upper_index(u8 target, u8 *pList, u16 listSize, u16 *indexL, u16 *indexR); bool ath9k_hw_nvram_read(struct ath_common *common, u32 off, u16 *data); -void ath9k_hw_usb_gen_fill_eeprom(struct ath_hw *ah, u16 *eep_data, - int eep_start_loc, int size); void ath9k_hw_fill_vpd_table(u8 pwrMin, u8 pwrMax, u8 *pPwrList, u8 *pVpdList, u16 numIntercepts, u8 *pRetVpdList); diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c b/drivers/net/wireless/ath/ath9k/eeprom_4k.c index 5b1e894..867cb89 100644 --- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c +++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c @@ -27,13 +27,19 @@ static int ath9k_hw_4k_get_eeprom_rev(struct ath_hw *ah) return ((ah->eeprom.map4k.baseEepHeader.version) & 0xFFF); } -#define SIZE_EEPROM_4K (sizeof(struct ar5416_eeprom_4k) / sizeof(u16)) - -static bool __ath9k_hw_4k_fill_eeprom(struct ath_hw *ah) +static bool ath9k_hw_4k_fill_eeprom(struct ath_hw *ah) { +#define SIZE_EEPROM_4K (sizeof(struct ar5416_eeprom_4k) / sizeof(u16)) struct ath_common *common = ath9k_hw_common(ah); u16 *eep_data = (u16 *)&ah->eeprom.map4k; - int addr, eep_start_loc = 64; + int addr, eep_start_loc = 0; + + eep_start_loc = 64; + + if (!ath9k_hw_use_flash(ah)) { + ath_dbg(common, ATH_DBG_EEPROM, + "Reading from EEPROM, not flash\n"); + } for (addr = 0; addr < SIZE_EEPROM_4K; addr++) { if (!ath9k_hw_nvram_read(common, addr + eep_start_loc, eep_data)) { @@ -45,33 +51,8 @@ static bool __ath9k_hw_4k_fill_eeprom(struct ath_hw *ah) } return true; -} - -static bool __ath9k_hw_usb_4k_fill_eeprom(struct ath_hw *ah) -{ - u16 *eep_data = (u16 *)&ah->eeprom.map4k; - - ath9k_hw_usb_gen_fill_eeprom(ah, eep_data, 64, SIZE_EEPROM_4K); - - return true; -} - -static bool ath9k_hw_4k_fill_eeprom(struct ath_hw *ah) -{ - struct ath_common *common = ath9k_hw_common(ah); - - if (!ath9k_hw_use_flash(ah)) { - ath_dbg(common, ATH_DBG_EEPROM, - "Reading from EEPROM, not flash\n"); - } - - if (common->bus_ops->ath_bus_type == ATH_USB) - return __ath9k_hw_usb_4k_fill_eeprom(ah); - else - return __ath9k_hw_4k_fill_eeprom(ah); -} - #undef SIZE_EEPROM_4K +} static int ath9k_hw_4k_check_eeprom(struct ath_hw *ah) { diff --git a/drivers/net/wireless/ath/ath9k/eeprom_9287.c b/drivers/net/wireless/ath/ath9k/eeprom_9287.c index 343fc9f..7015547 100644 --- a/drivers/net/wireless/ath/ath9k/eeprom_9287.c +++ b/drivers/net/wireless/ath/ath9k/eeprom_9287.c @@ -17,7 +17,7 @@ #include "hw.h" #include "ar9002_phy.h" -#define SIZE_EEPROM_AR9287 (sizeof(struct ar9287_eeprom) / sizeof(u16)) +#define NUM_EEP_WORDS (sizeof(struct ar9287_eeprom) / sizeof(u16)) static int ath9k_hw_ar9287_get_eeprom_ver(struct ath_hw *ah) { @@ -29,15 +29,25 @@ static int ath9k_hw_ar9287_get_eeprom_rev(struct ath_hw *ah) return (ah->eeprom.map9287.baseEepHeader.version) & 0xFFF; } -static bool __ath9k_hw_ar9287_fill_eeprom(struct ath_hw *ah) +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; - for (addr = 0; addr < SIZE_EEPROM_AR9287; addr++) { + if (common->bus_ops->ath_bus_type == ATH_USB) + eep_start_loc = AR9287_HTC_EEP_START_LOC; + else + eep_start_loc = AR9287_EEP_START_LOC; + + if (!ath9k_hw_use_flash(ah)) { + ath_dbg(common, ATH_DBG_EEPROM, + "Reading from EEPROM, not flash\n"); + } + + for (addr = 0; addr < NUM_EEP_WORDS; addr++) { if (!ath9k_hw_nvram_read(common, addr + eep_start_loc, eep_data)) { ath_dbg(common, ATH_DBG_EEPROM, @@ -50,31 +60,6 @@ static bool __ath9k_hw_ar9287_fill_eeprom(struct ath_hw *ah) return true; } -static bool __ath9k_hw_usb_ar9287_fill_eeprom(struct ath_hw *ah) -{ - u16 *eep_data = (u16 *)&ah->eeprom.map9287; - - ath9k_hw_usb_gen_fill_eeprom(ah, eep_data, - AR9287_HTC_EEP_START_LOC, - SIZE_EEPROM_AR9287); - return true; -} - -static bool ath9k_hw_ar9287_fill_eeprom(struct ath_hw *ah) -{ - struct ath_common *common = ath9k_hw_common(ah); - - if (!ath9k_hw_use_flash(ah)) { - ath_dbg(common, ATH_DBG_EEPROM, - "Reading from EEPROM, not flash\n"); - } - - if (common->bus_ops->ath_bus_type == ATH_USB) - return __ath9k_hw_usb_ar9287_fill_eeprom(ah); - else - return __ath9k_hw_ar9287_fill_eeprom(ah); -} - static int ath9k_hw_ar9287_check_eeprom(struct ath_hw *ah) { u32 sum = 0, el, integer; @@ -101,7 +86,7 @@ static int ath9k_hw_ar9287_check_eeprom(struct ath_hw *ah) need_swap = true; eepdata = (u16 *)(&ah->eeprom); - for (addr = 0; addr < SIZE_EEPROM_AR9287; addr++) { + for (addr = 0; addr < NUM_EEP_WORDS; addr++) { temp = swab16(*eepdata); *eepdata = temp; eepdata++; diff --git a/drivers/net/wireless/ath/ath9k/eeprom_def.c b/drivers/net/wireless/ath/ath9k/eeprom_def.c index 17f0a68..51e7286 100644 --- a/drivers/net/wireless/ath/ath9k/eeprom_def.c +++ b/drivers/net/wireless/ath/ath9k/eeprom_def.c @@ -86,10 +86,9 @@ static int ath9k_hw_def_get_eeprom_rev(struct ath_hw *ah) return ((ah->eeprom.def.baseEepHeader.version) & 0xFFF); } -#define SIZE_EEPROM_DEF (sizeof(struct ar5416_eeprom_def) / sizeof(u16)) - -static bool __ath9k_hw_def_fill_eeprom(struct ath_hw *ah) +static bool ath9k_hw_def_fill_eeprom(struct ath_hw *ah) { +#define SIZE_EEPROM_DEF (sizeof(struct ar5416_eeprom_def) / sizeof(u16)) struct ath_common *common = ath9k_hw_common(ah); u16 *eep_data = (u16 *)&ah->eeprom.def; int addr, ar5416_eep_start_loc = 0x100; @@ -104,33 +103,8 @@ static bool __ath9k_hw_def_fill_eeprom(struct ath_hw *ah) eep_data++; } return true; -} - -static bool __ath9k_hw_usb_def_fill_eeprom(struct ath_hw *ah) -{ - u16 *eep_data = (u16 *)&ah->eeprom.def; - - ath9k_hw_usb_gen_fill_eeprom(ah, eep_data, - 0x100, SIZE_EEPROM_DEF); - return true; -} - -static bool ath9k_hw_def_fill_eeprom(struct ath_hw *ah) -{ - struct ath_common *common = ath9k_hw_common(ah); - - if (!ath9k_hw_use_flash(ah)) { - ath_dbg(common, ATH_DBG_EEPROM, - "Reading from EEPROM, not flash\n"); - } - - if (common->bus_ops->ath_bus_type == ATH_USB) - return __ath9k_hw_usb_def_fill_eeprom(ah); - else - return __ath9k_hw_def_fill_eeprom(ah); -} - #undef SIZE_EEPROM_DEF +} static int ath9k_hw_def_check_eeprom(struct ath_hw *ah) { -- 1.7.0.4