Search Linux Wireless

Re: ath6kl: AR6004 failed to start on computer boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Julien,

On 02/21/2013 07:33 PM, Julien Massot wrote:
Hi,
I just find a quick and dirty patch to workaround this issue.
I just reset the device on initialization failure.

I hope this helps to understand the real issue.

[    7.012514] usb 1-7: firmware: requesting ath6k/AR6004/hw1.3/bdata.bin
[    7.035276] cfg80211: World regulatory domain updated:
[    7.035287] cfg80211:   (start_freq - end_freq @ bandwidth),
(max_antenna_gain, max_eirp)
[    7.035299] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz),
(300 mBi, 2000 mBm)
[    7.037916] usb 1-7: firmware: requesting ath6k/AR6004/hw1.3/fw-3.bin
[    9.378940] ath6kl: f59afe4c
[    9.379054] ath6kl: f59afe6c
[    9.379391] ath6kl_usb: probe of 1-7:1.0 failed with error -5
Here I reset the device.

that was the suggestion gave by Wei. The failure it seems
check hostapp area to check target status and reset the device
if needed.

Great that you figured it out yourself!

We will send a proper patch for this.


[    9.380081] usbcore: registered new interface driver ath6kl_usb
[   10.396824] usb 1-7: USB disconnect, address 7
[   10.712160] usb 1-7: new high speed USB device using ehci_hcd and address 8
[   10.832491] usb 1-7: firmware: requesting ath6k/AR6004/hw1.3/bdata.bin
[   10.838218] usb 1-7: firmware: requesting ath6k/AR6004/hw1.3/fw-3.bin
[   11.026652] ath6kl: f5287c50

and it works..

---
drivers/net/wireless/ath/ath6kl/main.c | 1 +
drivers/net/wireless/ath/ath6kl/usb.c  | 1 +
  2 files changed, 2 insertions(+)

diff --git a/drivers/net/wireless/ath/ath6kl/main.c
b/drivers/net/wireless/ath/ath6kl/main.c
index d0080b3..9060380 100644
--- a/drivers/net/wireless/ath/ath6kl/main.c
+++ b/drivers/net/wireless/ath/ath6kl/main.c
@@ -375,6 +375,7 @@ void ath6kl_reset_device(struct ath6kl *ar, u32 target_type,
  	if (status)
  		ath6kl_err("failed to reset target\n");
  }
+EXPORT_SYMBOL(ath6kl_reset_device);

  static void ath6kl_install_static_wep_keys(struct ath6kl_vif *vif)
  {
diff --git a/drivers/net/wireless/ath/ath6kl/usb.c
b/drivers/net/wireless/ath/ath6kl/usb.c
index c7b87be..910bef9 100644
--- a/drivers/net/wireless/ath/ath6kl/usb.c
+++ b/drivers/net/wireless/ath/ath6kl/usb.c
@@ -1121,6 +1121,7 @@ static int ath6kl_usb_probe(struct usb_interface
*interface,
  	ret = ath6kl_core_init(ar, ATH6KL_HTC_TYPE_PIPE);
  	if (ret) {
  		ath6kl_err("Failed to init ath6kl core: %d\n", ret);
+                ath6kl_reset_device(ar, ar->target_type, true, true);
  		goto err_core_free;
  	}

--
Regards,
Julien



--
thanks,
shafi
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux