All of lore.kernel.org
 help / color / mirror / Atom feed
* ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
@ 2011-07-01 13:35 Forest Bond
  2011-07-01 14:01 ` Mohammed Shafi
  0 siblings, 1 reply; 21+ messages in thread
From: Forest Bond @ 2011-07-01 13:35 UTC (permalink / raw)
  To: linux-wireless
  Cc: Luis R. Rodriguez, Jouni Malinen, Vasanthakumar Thiagarajan,
	Senthil Balasubramanian

[-- Attachment #1: Type: text/plain, Size: 2350 bytes --]

Hi,

I am running compat-wireless 3.0-rc4-1 on an Ubuntu 8.04 (Hardy) system with
Ubuntu kernel version 2.6.24-21-generic.  Yes, I know this kernel version is
ancient, but that's what c-w is for, right? ;)

First, I should mention that had to apply this patch for c-w to build:

  http://permalink.gmane.org/gmane.linux.kernel.wireless.general/72402

I also ran into problems because the c-w Makefile installs the udev
compat_firmware rules file into /lib/udev/rules.d, which is not a supported
location on Hardy.  Moving the rules file to /etc/udev/rules.d solved that.

Now the module loads fine and appears to load the firmware correctly, but the
interface never comes up.  Here's what happens when I insert the device:

[  206.270348] usb 5-7: new high speed USB device using ehci_hcd and address 5
[  206.422393] usb 5-7: configuration #1 chosen from 1 choice
[  206.657723] Compat-wireless backport release: compat-wireless-v3.0-rc4-1
[  206.657732] Backport based on linux-2.6-allstable.git v3.0-rc4
[  206.864667] Calling CRDA to update world regulatory domain
[  207.714633] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51288
[  207.861037] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits

At this point the interface is not visible in the output of ifconfig.  Something
has gone wrong with USB, because lsusb hangs until I unplug the device, at which
point I see the following in dmesg:

[  225.464212] usb 5-7: USB disconnect, address 5
[  225.592282] ath: Reading Magic # failed
[  225.592310] ath: no band has been marked as supported in EEPROM
[  225.592315] ath: Unable to initialize hardware; initialization status: -22
[  225.592321] ath: Unable to initialize hardware; initialization status: -22
[  225.592336] Failed to initialize the device
[  225.592400] ath9k_htc: probe of 5-7:1.0 failed with error -22
[  225.712249] usbcore: registered new interface driver ath9k_htc

There are several variations on this depending on how long I leave the device
plugged in.  Eventually lsusb runs fine in some cases, and I have seen the
interface come up once, but I did not test functionality and I haven't been able
to easily repeat that scenario.

What can I do to debug?

Thanks,
Forest
-- 
Forest Bond
http://www.alittletooquiet.net
http://www.rapidrollout.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-01 13:35 ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1 Forest Bond
@ 2011-07-01 14:01 ` Mohammed Shafi
       [not found]   ` <BANLkTimUs65_Sw=pwF-J8gPjyrNcs2qnOw@mail.gmail.com>
  0 siblings, 1 reply; 21+ messages in thread
From: Mohammed Shafi @ 2011-07-01 14:01 UTC (permalink / raw)
  To: Forest Bond
  Cc: linux-wireless, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian

On Fri, Jul 1, 2011 at 7:05 PM, Forest Bond <forest@alittletooquiet.net> wrote:
> Hi,
>
> I am running compat-wireless 3.0-rc4-1 on an Ubuntu 8.04 (Hardy) system with
> Ubuntu kernel version 2.6.24-21-generic.  Yes, I know this kernel version is
> ancient, but that's what c-w is for, right? ;)
>
> First, I should mention that had to apply this patch for c-w to build:
>
>  http://permalink.gmane.org/gmane.linux.kernel.wireless.general/72402
>
> I also ran into problems because the c-w Makefile installs the udev
> compat_firmware rules file into /lib/udev/rules.d, which is not a supported
> location on Hardy.  Moving the rules file to /etc/udev/rules.d solved that.
>
> Now the module loads fine and appears to load the firmware correctly, but the
> interface never comes up.  Here's what happens when I insert the device:
>
> [  206.270348] usb 5-7: new high speed USB device using ehci_hcd and address 5
> [  206.422393] usb 5-7: configuration #1 chosen from 1 choice
> [  206.657723] Compat-wireless backport release: compat-wireless-v3.0-rc4-1
> [  206.657732] Backport based on linux-2.6-allstable.git v3.0-rc4
> [  206.864667] Calling CRDA to update world regulatory domain
> [  207.714633] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51288
> [  207.861037] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits
>
> At this point the interface is not visible in the output of ifconfig.  Something
> has gone wrong with USB, because lsusb hangs until I unplug the device, at which
> point I see the following in dmesg:
>
> [  225.464212] usb 5-7: USB disconnect, address 5
> [  225.592282] ath: Reading Magic # failed
> [  225.592310] ath: no band has been marked as supported in EEPROM
> [  225.592315] ath: Unable to initialize hardware; initialization status: -22
> [  225.592321] ath: Unable to initialize hardware; initialization status: -22
> [  225.592336] Failed to initialize the device
> [  225.592400] ath9k_htc: probe of 5-7:1.0 failed with error -22
> [  225.712249] usbcore: registered new interface driver ath9k_htc

something wrong in reading EEPROM, please post the kernel log for
sudo modprobe ath9k_htc debug debug=0x404

make sure to enable CONFIG_ATH_DEBUG and ATH9K_HTC_DEBUGFS
http://wireless.kernel.org/en/users/Drivers/ath9k/debug

was this previously working?

>
> There are several variations on this depending on how long I leave the device
> plugged in.  Eventually lsusb runs fine in some cases, and I have seen the
> interface come up once, but I did not test functionality and I haven't been able
> to easily repeat that scenario.
>
> What can I do to debug?
>
> Thanks,
> Forest
> --
> Forest Bond
> http://www.alittletooquiet.net
> http://www.rapidrollout.com
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEARECAAYFAk4NzTkACgkQRO4fQQdv5Ay4aACbBkvIjx+4PB5TlADJlcGMGcGe
> TYwAnjiVA65h6MubxeVc7i7bN8QlzoRM
> =Vo6s
> -----END PGP SIGNATURE-----
>
>



-- 
shafi

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
       [not found]   ` <BANLkTimUs65_Sw=pwF-J8gPjyrNcs2qnOw@mail.gmail.com>
@ 2011-07-01 17:32     ` Forest Bond
  2011-07-04  5:24       ` Rajkumar Manoharan
  0 siblings, 1 reply; 21+ messages in thread
From: Forest Bond @ 2011-07-01 17:32 UTC (permalink / raw)
  To: Mohammed Shafi
  Cc: Luis R. Rodriguez, Jouni Malinen, Vasanthakumar Thiagarajan,
	Senthil Balasubramanian, linux-wireless

[-- Attachment #1: Type: text/plain, Size: 6153 bytes --]

Hi shafi,

[Sorry for the duplicate, lost the Cc's the first time around.]

On Fri, Jul 01, 2011 at 07:39:40PM +0530, Mohammed Shafi wrote:
> On Fri, Jul 1, 2011 at 7:31 PM, Mohammed Shafi <shafi.wireless@gmail.com> wrote:
> > On Fri, Jul 1, 2011 at 7:05 PM, Forest Bond <forest@alittletooquiet.net> wrote:
> >> Now the module loads fine and appears to load the firmware correctly, but the
> >> interface never comes up.  Here's what happens when I insert the device:
> >>
> >> [  206.270348] usb 5-7: new high speed USB device using ehci_hcd and address 5
> >> [  206.422393] usb 5-7: configuration #1 chosen from 1 choice
> >> [  206.657723] Compat-wireless backport release: compat-wireless-v3.0-rc4-1
> >> [  206.657732] Backport based on linux-2.6-allstable.git v3.0-rc4
> >> [  206.864667] Calling CRDA to update world regulatory domain
> >> [  207.714633] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51288
> >> [  207.861037] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits
> >>
> >> At this point the interface is not visible in the output of ifconfig.  Something
> >> has gone wrong with USB, because lsusb hangs until I unplug the device, at which
> >> point I see the following in dmesg:
> >>
> >> [  225.464212] usb 5-7: USB disconnect, address 5
> >> [  225.592282] ath: Reading Magic # failed
> >> [  225.592310] ath: no band has been marked as supported in EEPROM
> >> [  225.592315] ath: Unable to initialize hardware; initialization status: -22
> >> [  225.592321] ath: Unable to initialize hardware; initialization status: -22
> >> [  225.592336] Failed to initialize the device
> >> [  225.592400] ath9k_htc: probe of 5-7:1.0 failed with error -22
> >> [  225.712249] usbcore: registered new interface driver ath9k_htc
> >
> > something wrong in reading EEPROM, please post the kernel log for
> > sudo modprobe ath9k_htc debug debug=0x404
> 
> please do
> sudo modprobe ath9k_htc debug=0xffffffff
> this will give lots of information

[   98.421395] Compat-wireless backport release: compat-wireless-v3.0-rc4-1
[   98.421405] Backport based on linux-2.6-allstable.git v3.0-rc4
[   98.638709] Calling CRDA to update world regulatory domain
[   99.219353] usbcore: registered new interface driver ath9k_htc
[  103.829197] usb 5-7: new high speed USB device using ehci_hcd and address 5
[  103.985215] usb 5-7: configuration #1 chosen from 1 choice
[  104.288053] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51288
[  104.448323] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits
[  104.453395] ath: UNDEFINED -> AWAKE
[  104.454654] ath: serialize_regmode is 0
[  104.686218] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  104.686240] ath: REGISTER WRITE FAILED, multi len: 9
[  104.901237] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  104.901259] ath: REGISTER READ FAILED: (0x9c00, -110)
[  104.901276] ath: Reading from EEPROM, not flash
[  105.136983] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  105.137000] ath: Multiple REGISTER READ FAILED (count: 8)
[  105.408496] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  105.408513] ath: Multiple REGISTER READ FAILED (count: 8)
[  105.676507] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  105.676524] ath: Multiple REGISTER READ FAILED (count: 8)
[  105.911084] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  105.911106] ath: Multiple REGISTER READ FAILED (count: 8)
[  106.148500] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  106.148517] ath: Multiple REGISTER READ FAILED (count: 8)
[  106.380920] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  106.380933] ath: Multiple REGISTER READ FAILED (count: 8)
[  106.646720] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  106.646737] ath: Multiple REGISTER READ FAILED (count: 8)
[  106.877455] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  106.877473] ath: Multiple REGISTER READ FAILED (count: 8)
[  107.106916] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  107.106932] ath: Multiple REGISTER READ FAILED (count: 8)
[  107.327013] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  107.327029] ath: Multiple REGISTER READ FAILED (count: 8)
[  107.549431] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  107.549453] ath: Multiple REGISTER READ FAILED (count: 8)
[  107.784184] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  107.784205] ath: Multiple REGISTER READ FAILED (count: 8)
[  108.028850] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  108.028867] ath: Multiple REGISTER READ FAILED (count: 8)
[  108.268894] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  108.268911] ath: Multiple REGISTER READ FAILED (count: 8)
[  108.507164] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  108.507180] ath: Multiple REGISTER READ FAILED (count: 8)
[  108.746603] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  108.746619] ath: Multiple REGISTER READ FAILED (count: 8)
[  108.978447] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  108.978464] ath: Multiple REGISTER READ FAILED (count: 8)
[  109.219056] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  109.219069] ath: Multiple REGISTER READ FAILED (count: 8)
[  109.496668] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  109.496685] ath: Multiple REGISTER READ FAILED (count: 8)
[  109.735763] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  109.735780] ath: Multiple REGISTER READ FAILED (count: 8)
[  109.973853] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  109.973869] ath: Multiple REGISTER READ FAILED (count: 8)

> > make sure to enable CONFIG_ATH_DEBUG and ATH9K_HTC_DEBUGFS
> > http://wireless.kernel.org/en/users/Drivers/ath9k/debug
> >
> > was this previously working?

Not that I am aware of.  This is this first time I've tried it.

Thanks,
Forest
-- 
Forest Bond
http://www.alittletooquiet.net
http://www.rapidrollout.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-01 17:32     ` Forest Bond
@ 2011-07-04  5:24       ` Rajkumar Manoharan
  2011-07-04  9:53         ` Rajkumar Manoharan
  0 siblings, 1 reply; 21+ messages in thread
From: Rajkumar Manoharan @ 2011-07-04  5:24 UTC (permalink / raw)
  To: Forest Bond
  Cc: Mohammed Shafi, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

On Fri, Jul 01, 2011 at 01:32:37PM -0400, Forest Bond wrote:
> Hi shafi,
> 
> [Sorry for the duplicate, lost the Cc's the first time around.]
> 
> On Fri, Jul 01, 2011 at 07:39:40PM +0530, Mohammed Shafi wrote:
> > On Fri, Jul 1, 2011 at 7:31 PM, Mohammed Shafi <shafi.wireless@gmail.com> wrote:
> > > On Fri, Jul 1, 2011 at 7:05 PM, Forest Bond <forest@alittletooquiet.net> wrote:
> > >> Now the module loads fine and appears to load the firmware correctly, but the
> > >> interface never comes up.  Here's what happens when I insert the device:
> > >>
> > >> [  206.657723] Compat-wireless backport release: compat-wireless-v3.0-rc4-1
> > >> [  206.657732] Backport based on linux-2.6-allstable.git v3.0-rc4
> > >> [  206.864667] Calling CRDA to update world regulatory domain
> > >> [  207.714633] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51288
> > >> [  207.861037] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits
> > >>
> > >> At this point the interface is not visible in the output of ifconfig.  Something
> > >> has gone wrong with USB, because lsusb hangs until I unplug the device, at which
> > >> point I see the following in dmesg:
> > >>
> > >> [  225.464212] usb 5-7: USB disconnect, address 5
> > >> [  225.592282] ath: Reading Magic # failed
> > >> [  225.592310] ath: no band has been marked as supported in EEPROM
> > >> [  225.592315] ath: Unable to initialize hardware; initialization status: -22
> > >> [  225.592321] ath: Unable to initialize hardware; initialization status: -22
> > >> [  225.592336] Failed to initialize the device
> > >> [  225.592400] ath9k_htc: probe of 5-7:1.0 failed with error -22
> > >> [  225.712249] usbcore: registered new interface driver ath9k_htc
> > >
> > > something wrong in reading EEPROM, please post the kernel log for
> > > sudo modprobe ath9k_htc debug debug=0x404
> > 
> > please do
> > sudo modprobe ath9k_htc debug=0xffffffff
> > this will give lots of information
> 
> [   98.421395] Compat-wireless backport release: compat-wireless-v3.0-rc4-1
> [   98.421405] Backport based on linux-2.6-allstable.git v3.0-rc4
> [   98.638709] Calling CRDA to update world regulatory domain
> [   99.219353] usbcore: registered new interface driver ath9k_htc
> [  103.829197] usb 5-7: new high speed USB device using ehci_hcd and address 5
> [  103.985215] usb 5-7: configuration #1 chosen from 1 choice
> [  104.288053] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51288
> [  104.448323] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits
> [  104.453395] ath: UNDEFINED -> AWAKE
> [  104.454654] ath: serialize_regmode is 0
> [  104.686218] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
> [  104.686240] ath: REGISTER WRITE FAILED, multi len: 9
> [  104.901237] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
> [  104.901259] ath: REGISTER READ FAILED: (0x9c00, -110)
> [  104.901276] ath: Reading from EEPROM, not flash
> [  105.136983] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
> [  105.137000] ath: Multiple REGISTER READ FAILED (count: 8)
> [  105.408496] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
> [  105.408513] ath: Multiple REGISTER READ FAILED (count: 8)
> [  105.676507] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
> [  105.676524] ath: Multiple REGISTER READ FAILED (count: 8)
> [  105.911084] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
Please share your PID/VID.

--
Rajkumar

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-04  5:24       ` Rajkumar Manoharan
@ 2011-07-04  9:53         ` Rajkumar Manoharan
  2011-07-05 12:49           ` Forest Bond
  0 siblings, 1 reply; 21+ messages in thread
From: Rajkumar Manoharan @ 2011-07-04  9:53 UTC (permalink / raw)
  To: Forest Bond
  Cc: Mohammed Shafi, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

On Mon, Jul 04, 2011 at 10:54:11AM +0530, Rajkumar Manoharan wrote:
> On Fri, Jul 01, 2011 at 01:32:37PM -0400, Forest Bond wrote:
> > Hi shafi,
> > 
> > [Sorry for the duplicate, lost the Cc's the first time around.]
> > 
> > On Fri, Jul 01, 2011 at 07:39:40PM +0530, Mohammed Shafi wrote:
> > > On Fri, Jul 1, 2011 at 7:31 PM, Mohammed Shafi <shafi.wireless@gmail.com> wrote:
> > > > On Fri, Jul 1, 2011 at 7:05 PM, Forest Bond <forest@alittletooquiet.net> wrote:
> > > >> Now the module loads fine and appears to load the firmware correctly, but the
> > > >> interface never comes up.  Here's what happens when I insert the device:
> > > >>
> > > >> [  206.657723] Compat-wireless backport release: compat-wireless-v3.0-rc4-1
> > > >> [  206.657732] Backport based on linux-2.6-allstable.git v3.0-rc4
> > > >> [  206.864667] Calling CRDA to update world regulatory domain
> > > >> [  207.714633] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51288
> > > >> [  207.861037] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits
> > > >>
> > > >> At this point the interface is not visible in the output of ifconfig.  Something
> > > >> has gone wrong with USB, because lsusb hangs until I unplug the device, at which
> > > >> point I see the following in dmesg:
> > > >>
> > > >> [  225.464212] usb 5-7: USB disconnect, address 5
> > > >> [  225.592282] ath: Reading Magic # failed
> > > >> [  225.592310] ath: no band has been marked as supported in EEPROM
> > > >> [  225.592315] ath: Unable to initialize hardware; initialization status: -22
> > > >> [  225.592321] ath: Unable to initialize hardware; initialization status: -22
> > > >> [  225.592336] Failed to initialize the device
> > > >> [  225.592400] ath9k_htc: probe of 5-7:1.0 failed with error -22
> > > >> [  225.712249] usbcore: registered new interface driver ath9k_htc
> > > >
> > > > something wrong in reading EEPROM, please post the kernel log for
> > > > sudo modprobe ath9k_htc debug debug=0x404
> > > 
> > > please do
> > > sudo modprobe ath9k_htc debug=0xffffffff
> > > this will give lots of information
> > 
> > [   98.421395] Compat-wireless backport release: compat-wireless-v3.0-rc4-1
> > [   98.421405] Backport based on linux-2.6-allstable.git v3.0-rc4
> > [   98.638709] Calling CRDA to update world regulatory domain
> > [   99.219353] usbcore: registered new interface driver ath9k_htc
> > [  103.829197] usb 5-7: new high speed USB device using ehci_hcd and address 5
> > [  103.985215] usb 5-7: configuration #1 chosen from 1 choice
> > [  104.288053] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51288
> > [  104.448323] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits
> > [  104.453395] ath: UNDEFINED -> AWAKE
> > [  104.454654] ath: serialize_regmode is 0
> > [  104.686218] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
> > [  104.686240] ath: REGISTER WRITE FAILED, multi len: 9
> > [  104.901237] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
> > [  104.901259] ath: REGISTER READ FAILED: (0x9c00, -110)
> > [  104.901276] ath: Reading from EEPROM, not flash
> > [  105.911084] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
> Please share your PID/VID.
>
Forest,

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

--
Rajkumar

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-04  9:53         ` Rajkumar Manoharan
@ 2011-07-05 12:49           ` Forest Bond
  2011-07-05 13:29             ` Mohammed Shafi
  0 siblings, 1 reply; 21+ messages in thread
From: Forest Bond @ 2011-07-05 12:49 UTC (permalink / raw)
  To: Rajkumar Manoharan
  Cc: Mohammed Shafi, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

[-- Attachment #1: Type: text/plain, Size: 11269 bytes --]

Hi Rajkumar,

Thanks for your reply.

On Mon, Jul 04, 2011 at 03:23:42PM +0530, Rajkumar Manoharan wrote:
> On Mon, Jul 04, 2011 at 10:54:11AM +0530, Rajkumar Manoharan wrote:
> > On Fri, Jul 01, 2011 at 01:32:37PM -0400, Forest Bond wrote:
> > > Hi shafi,
> > > 
> > > [Sorry for the duplicate, lost the Cc's the first time around.]
> > > 
> > > On Fri, Jul 01, 2011 at 07:39:40PM +0530, Mohammed Shafi wrote:
> > > > On Fri, Jul 1, 2011 at 7:31 PM, Mohammed Shafi <shafi.wireless@gmail.com> wrote:
> > > > > On Fri, Jul 1, 2011 at 7:05 PM, Forest Bond <forest@alittletooquiet.net> wrote:
> > > > >> Now the module loads fine and appears to load the firmware correctly, but the
> > > > >> interface never comes up.  Here's what happens when I insert the device:
> > > > >>
> > > > >> [  206.657723] Compat-wireless backport release: compat-wireless-v3.0-rc4-1
> > > > >> [  206.657732] Backport based on linux-2.6-allstable.git v3.0-rc4
> > > > >> [  206.864667] Calling CRDA to update world regulatory domain
> > > > >> [  207.714633] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51288
> > > > >> [  207.861037] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits
> > > > >>
> > > > >> At this point the interface is not visible in the output of ifconfig.  Something
> > > > >> has gone wrong with USB, because lsusb hangs until I unplug the device, at which
> > > > >> point I see the following in dmesg:
> > > > >>
> > > > >> [  225.464212] usb 5-7: USB disconnect, address 5
> > > > >> [  225.592282] ath: Reading Magic # failed
> > > > >> [  225.592310] ath: no band has been marked as supported in EEPROM
> > > > >> [  225.592315] ath: Unable to initialize hardware; initialization status: -22
> > > > >> [  225.592321] ath: Unable to initialize hardware; initialization status: -22
> > > > >> [  225.592336] Failed to initialize the device
> > > > >> [  225.592400] ath9k_htc: probe of 5-7:1.0 failed with error -22
> > > > >> [  225.712249] usbcore: registered new interface driver ath9k_htc
> > > > >
> > > > > something wrong in reading EEPROM, please post the kernel log for
> > > > > sudo modprobe ath9k_htc debug debug=0x404
> > > > 
> > > > please do
> > > > sudo modprobe ath9k_htc debug=0xffffffff
> > > > this will give lots of information
> > > 
> > > [   98.421395] Compat-wireless backport release: compat-wireless-v3.0-rc4-1
> > > [   98.421405] Backport based on linux-2.6-allstable.git v3.0-rc4
> > > [   98.638709] Calling CRDA to update world regulatory domain
> > > [   99.219353] usbcore: registered new interface driver ath9k_htc
> > > [  103.829197] usb 5-7: new high speed USB device using ehci_hcd and address 5
> > > [  103.985215] usb 5-7: configuration #1 chosen from 1 choice
> > > [  104.288053] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51288
> > > [  104.448323] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits
> > > [  104.453395] ath: UNDEFINED -> AWAKE
> > > [  104.454654] ath: serialize_regmode is 0
> > > [  104.686218] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
> > > [  104.686240] ath: REGISTER WRITE FAILED, multi len: 9
> > > [  104.901237] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
> > > [  104.901259] ath: REGISTER READ FAILED: (0x9c00, -110)
> > > [  104.901276] ath: Reading from EEPROM, not flash
> > > [  105.911084] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
> > 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)

I appreciate your help on this.

Thanks,
Forest
-- 
Forest Bond
http://www.alittletooquiet.net
http://www.rapidrollout.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-05 12:49           ` Forest Bond
@ 2011-07-05 13:29             ` Mohammed Shafi
  2011-07-05 14:30               ` Forest Bond
  0 siblings, 1 reply; 21+ messages in thread
From: Mohammed Shafi @ 2011-07-05 13:29 UTC (permalink / raw)
  To: Forest Bond
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

[-- Attachment #1: Type: text/plain, Size: 8413 bytes --]

>> > 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-----
>
>



-- 
shafi

[-- Attachment #2: 0001-Revert-ath9k_hw-Offload-USB-eeprom-reading-to-target.patch --]
[-- Type: text/x-diff, Size: 8609 bytes --]

From 71374335e0ffa299775be03f99f265a02bba4347 Mon Sep 17 00:00:00 2001
From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
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 <mohammed@qca.qualcomm.com>
---
 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


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-05 13:29             ` Mohammed Shafi
@ 2011-07-05 14:30               ` Forest Bond
  2011-07-05 14:47                 ` Mohammed Shafi
  0 siblings, 1 reply; 21+ messages in thread
From: Forest Bond @ 2011-07-05 14:30 UTC (permalink / raw)
  To: Mohammed Shafi
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

[-- Attachment #1: Type: text/plain, Size: 8473 bytes --]

Hi,

On Tue, Jul 05, 2011 at 06:59:27PM +0530, Mohammed Shafi wrote:
> >> > 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.

This does not seem to make a difference.

Thanks,
Forest
-- 
Forest Bond
http://www.alittletooquiet.net
http://www.rapidrollout.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-05 14:30               ` Forest Bond
@ 2011-07-05 14:47                 ` Mohammed Shafi
  2011-07-05 17:20                   ` Forest Bond
  0 siblings, 1 reply; 21+ messages in thread
From: Mohammed Shafi @ 2011-07-05 14:47 UTC (permalink / raw)
  To: Forest Bond
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

On Tue, Jul 5, 2011 at 8:00 PM, Forest Bond <forest@alittletooquiet.net> wrote:
> Hi,
>
> On Tue, Jul 05, 2011 at 06:59:27PM +0530, Mohammed Shafi wrote:
>> >> > 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.
>
> This does not seem to make a difference.

sorry  i found it late and Raj pointed out register write itself is
failing and I doubt multiple register write is failing for you.
just thinking about these two commits ... and may be try reverting the
second one

commit 4a22fe108e62367c10c3abeb469d6972ba3299f5
commit 7d0d0df0eca695c83a08dc386824a9d1d7c526a4


-- 
shafi

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-05 14:47                 ` Mohammed Shafi
@ 2011-07-05 17:20                   ` Forest Bond
  2011-07-06  2:39                     ` Rajkumar Manoharan
  0 siblings, 1 reply; 21+ messages in thread
From: Forest Bond @ 2011-07-05 17:20 UTC (permalink / raw)
  To: Mohammed Shafi
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless


[-- Attachment #1.1: Type: text/plain, Size: 45429 bytes --]

Hi,

On Tue, Jul 05, 2011 at 08:17:13PM +0530, Mohammed Shafi wrote:
> On Tue, Jul 5, 2011 at 8:00 PM, Forest Bond <forest@alittletooquiet.net> wrote:
> > Hi,
> >
> > On Tue, Jul 05, 2011 at 06:59:27PM +0530, Mohammed Shafi wrote:
> >> >> > 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.
> >
> > This does not seem to make a difference.
> 
> sorry  i found it late and Raj pointed out register write itself is
> failing and I doubt multiple register write is failing for you.
> just thinking about these two commits ... and may be try reverting the
> second one
> 
> commit 4a22fe108e62367c10c3abeb469d6972ba3299f5
> commit 7d0d0df0eca695c83a08dc386824a9d1d7c526a4

I reverted 7d0d0df0eca695c83a08dc386824a9d1d7c526a4 and resolved conflicts as
best as I could (see attached patch).  I think this helps some, but there are
still problems.  Here's dmesg:

[   60.933710] Compat-wireless backport release: compat-wireless-v3.0-rc4-1
[   60.933719] Backport based on linux-2.6-allstable.git v3.0-rc4
[   61.270084] Calling CRDA to update world regulatory domain
[   62.168966] usbcore: registered new interface driver ath9k_htc
[   78.359251] usb 5-7: new high speed USB device using ehci_hcd and address 5
[   78.508423] usb 5-7: configuration #1 chosen from 1 choice
[   78.813505] usb 5-7: ath9k_htc: Transferred FW: htc_9271.fw, size: 51272
[   78.950592] ath9k_htc 5-7:1.0: ath9k_htc: HTC initialized with 33 credits
[   78.955621] ath: UNDEFINED -> AWAKE
[   78.956846] ath: serialize_regmode is 0
[   78.958679] ath: Reading from EEPROM, not flash
[   79.179769] ath: Read Magic = 0xA55A
[   79.179783] ath: need_swap = False.
[   79.179794] ath: Eeprom VER: 14, REV: 13
[   79.179803] ath: Initialize ANI
[   79.179812] ath: Enable MIB counters
[   79.181827] ath: Setup TX queue: 9
[   79.181832] ath: Set queue properties for: 9
[   79.181837] ath: Setup TX queue: 8
[   79.181840] ath: Set queue properties for: 8
[   79.181844] ath: Setup TX queue: 0
[   79.181847] ath: Set queue properties for: 0
[   79.181851] ath: Setup TX queue: 1
[   79.181854] ath: Set queue properties for: 1
[   79.181857] ath: Setup TX queue: 2
[   79.181861] ath: Set queue properties for: 2
[   79.181864] ath: Setup TX queue: 3
[   79.181867] ath: Set queue properties for: 3
[   79.419609] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   79.419630] ath: REGISTER WRITE FAILED, multi len: 8
[   79.649912] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   79.649929] ath: REGISTER READ FAILED: (0x8834, -110)
[   79.878055] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   79.878072] ath: REGISTER WRITE FAILED, multi len: 8
[   80.129094] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   80.129112] ath: REGISTER READ FAILED: (0x8854, -110)
[   80.395313] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   80.395330] ath: REGISTER WRITE FAILED, multi len: 8
[   80.623382] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   80.623395] ath: REGISTER READ FAILED: (0x8874, -110)
[   80.856254] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   80.856271] ath: REGISTER WRITE FAILED, multi len: 8
[   81.101565] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   81.101582] ath: REGISTER READ FAILED: (0x8894, -110)
[   81.335080] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   81.335102] ath: REGISTER WRITE FAILED, multi len: 8
[   81.573358] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   81.573374] ath: REGISTER READ FAILED: (0x88b4, -110)
[   81.803931] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   81.803948] ath: REGISTER WRITE FAILED, multi len: 8
[   82.039197] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   82.039214] ath: REGISTER READ FAILED: (0x88d4, -110)
[   82.328374] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   82.328391] ath: REGISTER WRITE FAILED, multi len: 8
[   82.568008] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   82.568019] ath: REGISTER READ FAILED: (0x88f4, -110)
[   82.811037] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   82.811059] ath: REGISTER WRITE FAILED, multi len: 8
[   83.049456] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   83.049473] ath: REGISTER READ FAILED: (0x8914, -110)
[   83.324571] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   83.324588] ath: REGISTER WRITE FAILED, multi len: 8
[   83.566035] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   83.566052] ath: REGISTER READ FAILED: (0x8934, -110)
[   83.795421] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   83.795439] ath: REGISTER WRITE FAILED, multi len: 8
[   84.017921] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   84.017942] ath: REGISTER READ FAILED: (0x8954, -110)
[   84.248985] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   84.249002] ath: REGISTER WRITE FAILED, multi len: 8
[   84.474865] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   84.474881] ath: REGISTER READ FAILED: (0x8974, -110)
[   84.713530] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   84.713547] ath: REGISTER WRITE FAILED, multi len: 8
[   84.950195] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   84.950212] ath: REGISTER READ FAILED: (0x8994, -110)
[   85.191996] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   85.192013] ath: REGISTER WRITE FAILED, multi len: 8
[   85.439516] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   85.439529] ath: REGISTER READ FAILED: (0x89b4, -110)
[   85.689182] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   85.689199] ath: REGISTER WRITE FAILED, multi len: 8
[   85.913953] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   85.913970] ath: REGISTER READ FAILED: (0x89d4, -110)
[   86.151019] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   86.151037] ath: REGISTER WRITE FAILED, multi len: 8
[   86.429545] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   86.429562] ath: REGISTER READ FAILED: (0x89f4, -110)
[   86.748242] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   86.748259] ath: REGISTER WRITE FAILED, multi len: 8
[   86.981646] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   86.981663] ath: REGISTER READ FAILED: (0x8a14, -110)
[   87.219593] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   87.219610] ath: REGISTER WRITE FAILED, multi len: 8
[   87.457406] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   87.457423] ath: REGISTER READ FAILED: (0x8a34, -110)
[   87.696039] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   87.696056] ath: REGISTER WRITE FAILED, multi len: 8
[   87.932277] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   87.932294] ath: REGISTER READ FAILED: (0x8a54, -110)
[   88.167619] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   88.167637] ath: REGISTER WRITE FAILED, multi len: 8
[   88.446352] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   88.446369] ath: REGISTER READ FAILED: (0x8a74, -110)
[   88.673373] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   88.673390] ath: REGISTER WRITE FAILED, multi len: 8
[   88.910855] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   88.910877] ath: REGISTER READ FAILED: (0x8a94, -110)
[   89.144349] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   89.144366] ath: REGISTER WRITE FAILED, multi len: 8
[   89.363669] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   89.363685] ath: REGISTER READ FAILED: (0x8ab4, -110)
[   89.579427] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   89.579444] ath: REGISTER WRITE FAILED, multi len: 8
[   89.802272] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   89.802289] ath: REGISTER READ FAILED: (0x8ad4, -110)
[   90.035100] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   90.035117] ath: REGISTER WRITE FAILED, multi len: 8
[   90.274214] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   90.274231] ath: REGISTER READ FAILED: (0x8af4, -110)
[   90.508156] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   90.508174] ath: REGISTER WRITE FAILED, multi len: 8
[   90.744777] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   90.744794] ath: REGISTER READ FAILED: (0x8b14, -110)
[   90.986425] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   90.986443] ath: REGISTER WRITE FAILED, multi len: 8
[   91.206572] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   91.206595] ath: REGISTER READ FAILED: (0x8b34, -110)
[   91.445947] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   91.445965] ath: REGISTER WRITE FAILED, multi len: 8
[   91.680429] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   91.680451] ath: REGISTER READ FAILED: (0x8b54, -110)
[   91.916274] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   91.916291] ath: REGISTER WRITE FAILED, multi len: 8
[   92.151459] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   92.151476] ath: REGISTER READ FAILED: (0x8b74, -110)
[   92.383992] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   92.384009] ath: REGISTER WRITE FAILED, multi len: 8
[   92.613994] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   92.614016] ath: REGISTER READ FAILED: (0x8b94, -110)
[   92.850545] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   92.850562] ath: REGISTER WRITE FAILED, multi len: 8
[   93.086608] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   93.086619] ath: REGISTER READ FAILED: (0x8bb4, -110)
[   93.327099] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   93.327116] ath: REGISTER WRITE FAILED, multi len: 8
[   93.563971] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   93.563987] ath: REGISTER READ FAILED: (0x8bd4, -110)
[   93.795161] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   93.795174] ath: REGISTER WRITE FAILED, multi len: 8
[   94.033200] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   94.033216] ath: REGISTER READ FAILED: (0x8bf4, -110)
[   94.299464] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   94.299477] ath: REGISTER WRITE FAILED, multi len: 8
[   94.540808] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   94.540825] ath: REGISTER READ FAILED: (0x8c14, -110)
[   94.766436] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   94.766458] ath: REGISTER WRITE FAILED, multi len: 8
[   94.990123] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   94.990140] ath: REGISTER READ FAILED: (0x8c34, -110)
[   95.255593] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   95.255610] ath: REGISTER WRITE FAILED, multi len: 8
[   95.493251] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   95.493268] ath: REGISTER READ FAILED: (0x8c54, -110)
[   95.727716] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   95.727733] ath: REGISTER WRITE FAILED, multi len: 8
[   95.964662] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   95.964684] ath: REGISTER READ FAILED: (0x8c74, -110)
[   96.205757] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   96.205774] ath: REGISTER WRITE FAILED, multi len: 8
[   96.431263] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   96.431280] ath: REGISTER READ FAILED: (0x8c94, -110)
[   96.670594] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   96.670611] ath: REGISTER WRITE FAILED, multi len: 8
[   96.904391] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   96.904407] ath: REGISTER READ FAILED: (0x8cb4, -110)
[   97.141760] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   97.141778] ath: REGISTER WRITE FAILED, multi len: 8
[   97.380312] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   97.380329] ath: REGISTER READ FAILED: (0x8cd4, -110)
[   97.610917] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   97.610935] ath: REGISTER WRITE FAILED, multi len: 8
[   97.841642] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   97.841658] ath: REGISTER READ FAILED: (0x8cf4, -110)
[   98.087991] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   98.088009] ath: REGISTER WRITE FAILED, multi len: 8
[   98.352449] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   98.352466] ath: REGISTER READ FAILED: (0x8d14, -110)
[   98.591965] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   98.591982] ath: REGISTER WRITE FAILED, multi len: 8
[   98.826263] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   98.826281] ath: REGISTER READ FAILED: (0x8d34, -110)
[   99.047712] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   99.047729] ath: REGISTER WRITE FAILED, multi len: 8
[   99.292783] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   99.292800] ath: REGISTER READ FAILED: (0x8d54, -110)
[   99.522494] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   99.522511] ath: REGISTER WRITE FAILED, multi len: 8
[   99.738792] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[   99.738809] ath: REGISTER READ FAILED: (0x8d74, -110)
[   99.959168] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[   99.959186] ath: REGISTER WRITE FAILED, multi len: 8
[  100.188047] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  100.188059] ath: REGISTER READ FAILED: (0x8d94, -110)
[  100.454063] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  100.454080] ath: REGISTER WRITE FAILED, multi len: 8
[  100.689843] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  100.689860] ath: REGISTER READ FAILED: (0x8db4, -110)
[  100.924129] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  100.924146] ath: REGISTER WRITE FAILED, multi len: 8
[  101.156497] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  101.156515] ath: REGISTER READ FAILED: (0x8dd4, -110)
[  101.397536] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  101.397555] ath: REGISTER WRITE FAILED, multi len: 8
[  101.666040] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  101.666057] ath: REGISTER READ FAILED: (0x8df4, -110)
[  101.899913] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  101.899930] ath: REGISTER WRITE FAILED, multi len: 8
[  102.134299] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  102.134312] ath: REGISTER READ FAILED: (0x8e14, -110)
[  102.371090] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  102.371107] ath: REGISTER WRITE FAILED, multi len: 8
[  102.611698] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  102.611715] ath: REGISTER READ FAILED: (0x8e34, -110)
[  102.847307] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  102.847324] ath: REGISTER WRITE FAILED, multi len: 8
[  103.066903] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  103.066920] ath: REGISTER READ FAILED: (0x8e54, -110)
[  103.304121] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  103.304138] ath: REGISTER WRITE FAILED, multi len: 8
[  103.535983] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  103.536000] ath: REGISTER READ FAILED: (0x8e74, -110)
[  103.771419] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  103.771436] ath: REGISTER WRITE FAILED, multi len: 8
[  104.010499] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  104.010516] ath: REGISTER READ FAILED: (0x8e94, -110)
[  104.244160] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  104.244178] ath: REGISTER WRITE FAILED, multi len: 8
[  104.479000] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  104.479013] ath: REGISTER READ FAILED: (0x8eb4, -110)
[  104.711724] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  104.711741] ath: REGISTER WRITE FAILED, multi len: 8
[  104.923163] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  104.923185] ath: REGISTER READ FAILED: (0x8ed4, -110)
[  105.159891] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  105.159909] ath: REGISTER WRITE FAILED, multi len: 8
[  105.389905] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  105.389922] ath: REGISTER READ FAILED: (0x8ef4, -110)
[  105.605699] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  105.605716] ath: REGISTER WRITE FAILED, multi len: 8
[  105.838344] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  105.838361] ath: REGISTER READ FAILED: (0x8f14, -110)
[  106.076069] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  106.076086] ath: REGISTER WRITE FAILED, multi len: 8
[  106.350270] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  106.350287] ath: REGISTER READ FAILED: (0x8f34, -110)
[  106.588805] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  106.588823] ath: REGISTER WRITE FAILED, multi len: 8
[  106.823643] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  106.823660] ath: REGISTER READ FAILED: (0x8f54, -110)
[  107.053350] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  107.053367] ath: REGISTER WRITE FAILED, multi len: 8
[  107.286945] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  107.286963] ath: REGISTER READ FAILED: (0x8f74, -110)
[  107.517329] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  107.517346] ath: REGISTER WRITE FAILED, multi len: 8
[  107.754844] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  107.754861] ath: REGISTER READ FAILED: (0x8f94, -110)
[  108.018059] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  108.018076] ath: REGISTER WRITE FAILED, multi len: 8
[  108.243426] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  108.243444] ath: REGISTER READ FAILED: (0x8fb4, -110)
[  108.477214] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  108.477231] ath: REGISTER WRITE FAILED, multi len: 8
[  108.707476] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  108.707496] ath: REGISTER READ FAILED: (0x8fd4, -110)
[  108.941315] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  108.941332] ath: REGISTER WRITE FAILED, multi len: 8
[  109.172995] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  109.173007] ath: REGISTER READ FAILED: (0x8ff4, -110)
[  109.402696] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  109.402714] ath: REGISTER WRITE FAILED, multi len: 8
[  109.634771] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  109.634793] ath: REGISTER READ FAILED: (0x9014, -110)
[  109.865550] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  109.865567] ath: REGISTER WRITE FAILED, multi len: 8
[  110.082064] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  110.082080] ath: REGISTER READ FAILED: (0x9034, -110)
[  110.300529] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  110.300546] ath: REGISTER WRITE FAILED, multi len: 8
[  110.526273] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  110.526289] ath: REGISTER READ FAILED: (0x9054, -110)
[  110.749106] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  110.749124] ath: REGISTER WRITE FAILED, multi len: 8
[  110.999478] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  110.999489] ath: REGISTER READ FAILED: (0x9074, -110)
[  111.237365] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  111.237382] ath: REGISTER WRITE FAILED, multi len: 8
[  111.472907] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  111.472924] ath: REGISTER READ FAILED: (0x9094, -110)
[  111.711196] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  111.711213] ath: REGISTER WRITE FAILED, multi len: 8
[  111.946930] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  111.946948] ath: REGISTER READ FAILED: (0x90b4, -110)
[  112.220810] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  112.220828] ath: REGISTER WRITE FAILED, multi len: 8
[  112.456704] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  112.456720] ath: REGISTER READ FAILED: (0x90d4, -110)
[  112.693033] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  112.693050] ath: REGISTER WRITE FAILED, multi len: 8
[  112.973828] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  112.973845] ath: REGISTER READ FAILED: (0x90f4, -110)
[  113.212845] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  113.212862] ath: REGISTER WRITE FAILED, multi len: 8
[  113.433009] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  113.433026] ath: REGISTER READ FAILED: (0x9114, -110)
[  113.662628] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  113.662645] ath: REGISTER WRITE FAILED, multi len: 8
[  113.896300] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  113.896313] ath: REGISTER READ FAILED: (0x9134, -110)
[  114.131041] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  114.131059] ath: REGISTER WRITE FAILED, multi len: 8
[  114.368026] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  114.368042] ath: REGISTER READ FAILED: (0x9154, -110)
[  114.604473] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  114.604490] ath: REGISTER WRITE FAILED, multi len: 8
[  114.838850] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  114.838867] ath: REGISTER READ FAILED: (0x9174, -110)
[  115.072474] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  115.072492] ath: REGISTER WRITE FAILED, multi len: 8
[  115.297650] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  115.297667] ath: REGISTER READ FAILED: (0x9194, -110)
[  115.522142] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  115.522159] ath: REGISTER WRITE FAILED, multi len: 8
[  115.743577] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  115.743594] ath: REGISTER READ FAILED: (0x91b4, -110)
[  115.966947] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  115.966965] ath: REGISTER WRITE FAILED, multi len: 8
[  116.240720] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  116.240737] ath: REGISTER READ FAILED: (0x91d4, -110)
[  116.473288] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  116.473305] ath: REGISTER WRITE FAILED, multi len: 8
[  116.711937] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  116.711954] ath: REGISTER READ FAILED: (0x91f4, -110)
[  116.949273] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  116.949290] ath: REGISTER WRITE FAILED, multi len: 8
[  117.202915] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  117.202932] ath: REGISTER READ FAILED: (0x9214, -110)
[  117.429051] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  117.429068] ath: REGISTER WRITE FAILED, multi len: 8
[  117.663660] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  117.663677] ath: REGISTER READ FAILED: (0x9234, -110)
[  117.903342] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  117.903359] ath: REGISTER WRITE FAILED, multi len: 8
[  118.183918] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  118.183935] ath: REGISTER READ FAILED: (0x9254, -110)
[  118.426246] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  118.426263] ath: REGISTER WRITE FAILED, multi len: 8
[  118.657714] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  118.657730] ath: REGISTER READ FAILED: (0x9274, -110)
[  118.884836] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  118.884854] ath: REGISTER WRITE FAILED, multi len: 8
[  119.120373] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  119.120390] ath: REGISTER READ FAILED: (0x9294, -110)
[  119.356156] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  119.356174] ath: REGISTER WRITE FAILED, multi len: 8
[  119.591889] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  119.591905] ath: REGISTER READ FAILED: (0x92b4, -110)
[  119.826025] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  119.826038] ath: REGISTER WRITE FAILED, multi len: 8
[  120.058233] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  120.058249] ath: REGISTER READ FAILED: (0x92d4, -110)
[  120.290314] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  120.290332] ath: REGISTER WRITE FAILED, multi len: 8
[  120.562007] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  120.562023] ath: REGISTER READ FAILED: (0x92f4, -110)
[  120.777958] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  120.777975] ath: REGISTER WRITE FAILED, multi len: 8
[  120.990469] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  120.990486] ath: REGISTER READ FAILED: (0x9314, -110)
[  121.215391] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  121.215408] ath: REGISTER WRITE FAILED, multi len: 8
[  121.444176] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  121.444194] ath: REGISTER READ FAILED: (0x9334, -110)
[  121.680204] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  121.680221] ath: REGISTER WRITE FAILED, multi len: 8
[  121.921151] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  121.921167] ath: REGISTER READ FAILED: (0x9354, -110)
[  122.163536] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  122.163553] ath: REGISTER WRITE FAILED, multi len: 8
[  122.401806] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  122.401823] ath: REGISTER READ FAILED: (0x9374, -110)
[  122.634011] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  122.634028] ath: REGISTER WRITE FAILED, multi len: 8
[  122.869594] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  122.869612] ath: REGISTER READ FAILED: (0x9394, -110)
[  123.133792] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  123.133809] ath: REGISTER WRITE FAILED, multi len: 8
[  123.372003] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  123.372020] ath: REGISTER READ FAILED: (0x93b4, -110)
[  123.607633] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  123.607650] ath: REGISTER WRITE FAILED, multi len: 8
[  123.839417] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  123.839434] ath: REGISTER READ FAILED: (0x93d4, -110)
[  124.082752] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  124.082765] ath: REGISTER WRITE FAILED, multi len: 8
[  124.343226] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  124.343243] ath: REGISTER READ FAILED: (0x93f4, -110)
[  124.609795] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  124.609808] ath: REGISTER WRITE FAILED, multi len: 8
[  124.873602] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  124.873619] ath: REGISTER READ FAILED: (0x9414, -110)
[  125.110193] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  125.110210] ath: REGISTER WRITE FAILED, multi len: 8
[  125.343346] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  125.343367] ath: REGISTER READ FAILED: (0x9434, -110)
[  125.578907] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  125.578924] ath: REGISTER WRITE FAILED, multi len: 8
[  125.812580] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  125.812597] ath: REGISTER READ FAILED: (0x9454, -110)
[  126.036792] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  126.036809] ath: REGISTER WRITE FAILED, multi len: 8
[  126.245583] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  126.245600] ath: REGISTER READ FAILED: (0x9474, -110)
[  126.470684] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  126.470701] ath: REGISTER WRITE FAILED, multi len: 8
[  126.695099] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  126.695116] ath: REGISTER READ FAILED: (0x9494, -110)
[  126.927598] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  126.927616] ath: REGISTER WRITE FAILED, multi len: 8
[  127.170145] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  127.170163] ath: REGISTER READ FAILED: (0x94b4, -110)
[  127.402661] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  127.402678] ath: REGISTER WRITE FAILED, multi len: 8
[  127.637571] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  127.637588] ath: REGISTER READ FAILED: (0x94d4, -110)
[  127.863365] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  127.863383] ath: REGISTER WRITE FAILED, multi len: 8
[  128.091631] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  128.091647] ath: REGISTER READ FAILED: (0x94f4, -110)
[  128.329717] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  128.329734] ath: REGISTER WRITE FAILED, multi len: 8
[  128.569187] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  128.569204] ath: REGISTER READ FAILED: (0x9514, -110)
[  128.808314] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  128.808331] ath: REGISTER WRITE FAILED, multi len: 8
[  129.051407] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  129.051424] ath: REGISTER READ FAILED: (0x9534, -110)
[  129.264204] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  129.264222] ath: REGISTER WRITE FAILED, multi len: 8
[  129.500790] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  129.500807] ath: REGISTER READ FAILED: (0x9554, -110)
[  129.739287] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  129.739304] ath: REGISTER WRITE FAILED, multi len: 8
[  129.977121] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  129.977138] ath: REGISTER READ FAILED: (0x9574, -110)
[  130.256434] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  130.256452] ath: REGISTER WRITE FAILED, multi len: 8
[  130.482659] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  130.482671] ath: REGISTER READ FAILED: (0x9594, -110)
[  130.758145] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  130.758162] ath: REGISTER WRITE FAILED, multi len: 8
[  130.988136] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  130.988158] ath: REGISTER READ FAILED: (0x95b4, -110)
[  131.198704] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  131.198721] ath: REGISTER WRITE FAILED, multi len: 8
[  131.425187] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  131.425204] ath: REGISTER READ FAILED: (0x95d4, -110)
[  131.652416] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  131.652433] ath: REGISTER WRITE FAILED, multi len: 8
[  131.871049] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  131.871066] ath: REGISTER READ FAILED: (0x95f4, -110)
[  132.106850] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  132.106868] ath: REGISTER WRITE FAILED, multi len: 8
[  132.351316] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  132.351333] ath: REGISTER READ FAILED: (0x9614, -110)
[  132.586807] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  132.586825] ath: REGISTER WRITE FAILED, multi len: 8
[  132.821928] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  132.821941] ath: REGISTER READ FAILED: (0x9634, -110)
[  133.052099] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  133.052117] ath: REGISTER WRITE FAILED, multi len: 8
[  133.281250] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  133.281267] ath: REGISTER READ FAILED: (0x9654, -110)
[  133.533685] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  133.533703] ath: REGISTER WRITE FAILED, multi len: 8
[  133.802899] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  133.802916] ath: REGISTER READ FAILED: (0x9674, -110)
[  134.035319] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  134.035336] ath: REGISTER WRITE FAILED, multi len: 8
[  134.271297] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  134.271314] ath: REGISTER READ FAILED: (0x9694, -110)
[  134.488850] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  134.488867] ath: REGISTER WRITE FAILED, multi len: 8
[  134.723776] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  134.723793] ath: REGISTER READ FAILED: (0x96b4, -110)
[  134.960923] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  134.960940] ath: REGISTER WRITE FAILED, multi len: 8
[  135.208717] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  135.208734] ath: REGISTER READ FAILED: (0x96d4, -110)
[  135.447071] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  135.447088] ath: REGISTER WRITE FAILED, multi len: 8
[  135.686469] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  135.686486] ath: REGISTER READ FAILED: (0x96f4, -110)
[  135.920807] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  135.920829] ath: REGISTER WRITE FAILED, multi len: 8
[  136.198714] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  136.198731] ath: REGISTER READ FAILED: (0x9714, -110)
[  136.419191] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  136.419209] ath: REGISTER WRITE FAILED, multi len: 8
[  136.640991] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  136.641012] ath: REGISTER READ FAILED: (0x9734, -110)
[  136.865320] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  136.865338] ath: REGISTER WRITE FAILED, multi len: 8
[  137.127238] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  137.127255] ath: REGISTER READ FAILED: (0x9754, -110)
[  137.359408] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  137.359425] ath: REGISTER WRITE FAILED, multi len: 8
[  137.597341] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  137.597363] ath: REGISTER READ FAILED: (0x9774, -110)
[  137.836090] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  137.836107] ath: REGISTER WRITE FAILED, multi len: 8
[  138.075803] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  138.075819] ath: REGISTER READ FAILED: (0x9794, -110)
[  138.310459] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  138.310477] ath: REGISTER WRITE FAILED, multi len: 8
[  138.540266] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  138.540283] ath: REGISTER READ FAILED: (0x97b4, -110)
[  138.778382] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  138.778399] ath: REGISTER WRITE FAILED, multi len: 8
[  139.034750] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  139.034767] ath: REGISTER READ FAILED: (0x97d4, -110)
[  139.273181] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  139.273198] ath: REGISTER WRITE FAILED, multi len: 8
[  139.512953] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  139.512970] ath: REGISTER READ FAILED: (0x97f4, -110)
[  139.770607] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  139.770625] ath: REGISTER WRITE FAILED, multi len: 8
[  139.770638] ath: TX streams 1, RX streams: 1
[  140.946240] ath: Timeout waiting for WMI command: WMI_GET_FW_VERSION
[  140.946259] ath: AWAKE -> FULL-SLEEP
[  141.187898] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  141.187915] ath: REGISTER READ FAILED: (0x8004, -110)
[  141.420292] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  141.420308] ath: REGISTER WRITE FAILED:(0x8004, -110)
[  141.632925] ath: Timeout waiting for WMI command: WMI_REG_READ_CMDID
[  141.632942] ath: REGISTER READ FAILED: (0x704c, -110)
[  141.855875] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  141.855892] ath: REGISTER WRITE FAILED:(0x704c, -110)
[  142.116512] ath: Timeout waiting for WMI command: WMI_REG_WRITE_CMDID
[  142.116529] ath: REGISTER WRITE FAILED:(0x4000, -110)
[  142.116562] Failed to initialize the device
[  142.156645] ath9k_htc: probe of 5-7:1.0 failed with error -22


I should also mention that lsusb seems to work much better now, but maybe it's a
coincidence?

Thanks,
Forest
-- 
Forest Bond
http://www.alittletooquiet.net
http://www.rapidrollout.com

[-- Attachment #1.2: 0001-Revert-ath9k_hw-Use-buffered-register-writes.patch --]
[-- Type: text/x-diff, Size: 19616 bytes --]

From 952f8ce6a3762b2aca49641b66e88f4ea37d7454 Mon Sep 17 00:00:00 2001
From: Forest Bond <forest.bond@rapidrollout.com>
Date: Tue, 5 Jul 2011 13:06:18 -0400
Subject: [PATCH] Revert "ath9k_hw: Use buffered register writes"

This reverts commit 7d0d0df0eca695c83a08dc386824a9d1d7c526a4.

Conflicts:

	drivers/net/wireless/ath/ath9k/ani.c
	drivers/net/wireless/ath/ath9k/ar5008_phy.c
	drivers/net/wireless/ath/ath9k/ar9002_calib.c
	drivers/net/wireless/ath/ath9k/ar9002_hw.c
	drivers/net/wireless/ath/ath9k/ar9002_phy.c
	drivers/net/wireless/ath/ath9k/eeprom_4k.c
	drivers/net/wireless/ath/ath9k/hw.c
	drivers/net/wireless/ath/ath9k/mac.c
---
 drivers/net/wireless/ath/ath9k/ani.c          |   13 ------
 drivers/net/wireless/ath/ath9k/ar5008_phy.c   |   18 --------
 drivers/net/wireless/ath/ath9k/ar9002_calib.c |    4 --
 drivers/net/wireless/ath/ath9k/ar9002_hw.c    |    6 +--
 drivers/net/wireless/ath/ath9k/ar9002_phy.c   |    4 --
 drivers/net/wireless/ath/ath9k/calib.c        |    2 -
 drivers/net/wireless/ath/ath9k/eeprom_4k.c    |    8 ----
 drivers/net/wireless/ath/ath9k/hw.c           |   53 -------------------------
 drivers/net/wireless/ath/ath9k/mac.c          |   17 --------
 9 files changed, 1 insertions(+), 124 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ani.c b/drivers/net/wireless/ath/ath9k/ani.c
index bfb6481..41c2fd0 100644
--- a/drivers/net/wireless/ath/ath9k/ani.c
+++ b/drivers/net/wireless/ath/ath9k/ani.c
@@ -138,15 +138,11 @@ static void ath9k_ani_restart(struct ath_hw *ah)
 	ath_dbg(common, ATH_DBG_ANI,
 		"Writing ofdmbase=%u   cckbase=%u\n", ofdm_base, cck_base);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_PHY_ERR_1, ofdm_base);
 	REG_WRITE(ah, AR_PHY_ERR_2, cck_base);
 	REG_WRITE(ah, AR_PHY_ERR_MASK_1, AR_PHY_ERR_OFDM_TIMING);
 	REG_WRITE(ah, AR_PHY_ERR_MASK_2, AR_PHY_ERR_CCK_TIMING);
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	ath9k_hw_update_mibstats(ah, &ah->ah_mibStats);
 
 	aniState->ofdmPhyErrCount = 0;
@@ -528,13 +524,8 @@ static void ath9k_ani_reset_old(struct ath_hw *ah, bool is_scanning)
 	ath9k_hw_setrxfilter(ah, ath9k_hw_getrxfilter(ah) &
 			     ~ATH9K_RX_FILTER_PHYERR);
 	ath9k_ani_restart(ah);
-
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_PHY_ERR_MASK_1, AR_PHY_ERR_OFDM_TIMING);
 	REG_WRITE(ah, AR_PHY_ERR_MASK_2, AR_PHY_ERR_CCK_TIMING);
-
-	REGWRITE_BUFFER_FLUSH(ah);
 }
 
 /*
@@ -752,8 +743,6 @@ void ath9k_enable_mib_counters(struct ath_hw *ah)
 
 	ath9k_hw_update_mibstats(ah, &ah->ah_mibStats);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_FILT_OFDM, 0);
 	REG_WRITE(ah, AR_FILT_CCK, 0);
 	REG_WRITE(ah, AR_MIBC,
@@ -761,8 +750,6 @@ void ath9k_enable_mib_counters(struct ath_hw *ah)
 		  & 0x0f);
 	REG_WRITE(ah, AR_PHY_ERR_MASK_1, AR_PHY_ERR_OFDM_TIMING);
 	REG_WRITE(ah, AR_PHY_ERR_MASK_2, AR_PHY_ERR_CCK_TIMING);
-
-	REGWRITE_BUFFER_FLUSH(ah);
 }
 
 /* Freeze the MIB counters, get the stats and then clear them */
diff --git a/drivers/net/wireless/ath/ath9k/ar5008_phy.c b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
index 441bb33..6b83eaf 100644
--- a/drivers/net/wireless/ath/ath9k/ar5008_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar5008_phy.c
@@ -639,7 +639,6 @@ static void ar5008_hw_init_chain_masks(struct ath_hw *ah)
 	rx_chainmask = ah->rxchainmask;
 	tx_chainmask = ah->txchainmask;
 
-
 	switch (rx_chainmask) {
 	case 0x5:
 		REG_SET_BIT(ah, AR_PHY_ANALOG_SWAP,
@@ -653,19 +652,14 @@ static void ar5008_hw_init_chain_masks(struct ath_hw *ah)
 	case 0x1:
 	case 0x2:
 	case 0x7:
-		ENABLE_REGWRITE_BUFFER(ah);
 		REG_WRITE(ah, AR_PHY_RX_CHAINMASK, rx_chainmask);
 		REG_WRITE(ah, AR_PHY_CAL_CHAINMASK, rx_chainmask);
 		break;
 	default:
-		ENABLE_REGWRITE_BUFFER(ah);
 		break;
 	}
 
 	REG_WRITE(ah, AR_SELFGEN_MASK, tx_chainmask);
-
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	if (tx_chainmask == 0x5) {
 		REG_SET_BIT(ah, AR_PHY_ANALOG_SWAP,
 			    AR_PHY_SWAP_ALT_CHAIN);
@@ -744,12 +738,8 @@ static void ar5008_hw_set_channel_regs(struct ath_hw *ah,
 
 	ath9k_hw_set11nmac2040(ah);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_GTXTO, 25 << AR_GTXTO_TIMEOUT_LIMIT_S);
 	REG_WRITE(ah, AR_CST, 0xF << AR_CST_TIMEOUT_LIMIT_S);
-
-	REGWRITE_BUFFER_FLUSH(ah);
 }
 
 
@@ -822,8 +812,6 @@ static int ar5008_hw_process_ini(struct ath_hw *ah,
 
 	REG_WRITE(ah, AR_PHY_ADC_SERIAL_CTL, AR_PHY_SEL_INTERNAL_ADDAC);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	for (i = 0; i < ah->iniModes.ia_rows; i++) {
 		u32 reg = INI_RA(&ah->iniModes, i, 0);
 		u32 val = INI_RA(&ah->iniModes, i, modesIndex);
@@ -842,8 +830,6 @@ static int ar5008_hw_process_ini(struct ath_hw *ah,
 		DO_DELAY(regWrites);
 	}
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	if (AR_SREV_9280(ah) || AR_SREV_9287_11_OR_LATER(ah))
 		REG_WRITE_ARRAY(&ah->iniModesRxGain, modesIndex, regWrites);
 
@@ -855,8 +841,6 @@ static int ar5008_hw_process_ini(struct ath_hw *ah,
 		REG_WRITE_ARRAY(&ah->iniModes_9271_1_0_only,
 				modesIndex, regWrites);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	/* Write common array parameters */
 	for (i = 0; i < ah->iniCommon.ia_rows; i++) {
 		u32 reg = INI_RA(&ah->iniCommon, i, 0);
@@ -873,8 +857,6 @@ static int ar5008_hw_process_ini(struct ath_hw *ah,
 		DO_DELAY(regWrites);
 	}
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	if (AR_SREV_9271(ah)) {
 		if (ah->eep_ops->get_eeprom(ah, EEP_TXGAIN_TYPE) == 1)
 			REG_WRITE_ARRAY(&ah->iniModes_high_power_tx_gain_9271,
diff --git a/drivers/net/wireless/ath/ath9k/ar9002_calib.c b/drivers/net/wireless/ath/ath9k/ar9002_calib.c
index 2d4c091..f24c46f 100644
--- a/drivers/net/wireless/ath/ath9k/ar9002_calib.c
+++ b/drivers/net/wireless/ath/ath9k/ar9002_calib.c
@@ -528,8 +528,6 @@ static void ar9271_hw_pa_cal(struct ath_hw *ah, bool is_reset)
 		ah->pacal_info.prev_offset = regVal;
 	}
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	regVal = REG_READ(ah, 0x7834);
 	regVal |= 0x1;
 	REG_WRITE(ah, 0x7834, regVal);
@@ -539,8 +537,6 @@ static void ar9271_hw_pa_cal(struct ath_hw *ah, bool is_reset)
 
 	for (i = 0; i < ARRAY_SIZE(regList); i++)
 		REG_WRITE(ah, regList[i][0], regList[i][1]);
-
-	REGWRITE_BUFFER_FLUSH(ah);
 }
 
 static inline void ar9285_hw_pa_cal(struct ath_hw *ah, bool is_reset)
diff --git a/drivers/net/wireless/ath/ath9k/ar9002_hw.c b/drivers/net/wireless/ath/ath9k/ar9002_hw.c
index f344cc2..3020f0c 100644
--- a/drivers/net/wireless/ath/ath9k/ar9002_hw.c
+++ b/drivers/net/wireless/ath/ath9k/ar9002_hw.c
@@ -444,14 +444,10 @@ static int ar9002_hw_get_radiorev(struct ath_hw *ah)
 	u32 val;
 	int i;
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_PHY(0x36), 0x00007058);
+
 	for (i = 0; i < 8; i++)
 		REG_WRITE(ah, AR_PHY(0x20), 0x00010000);
-
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	val = (REG_READ(ah, AR_PHY(256)) >> 24) & 0xff;
 	val = ((val & 0xf0) >> 4) | ((val & 0x0f) << 4);
 
diff --git a/drivers/net/wireless/ath/ath9k/ar9002_phy.c b/drivers/net/wireless/ath/ath9k/ar9002_phy.c
index 2fe0a34..0715d71 100644
--- a/drivers/net/wireless/ath/ath9k/ar9002_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9002_phy.c
@@ -239,8 +239,6 @@ static void ar9002_hw_spur_mitigate(struct ath_hw *ah,
 
 	tmp = REG_READ(ah, AR_PHY_TIMING_CTRL4(0));
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	newVal = tmp | (AR_PHY_TIMING_CTRL4_ENABLE_SPUR_RSSI |
 			AR_PHY_TIMING_CTRL4_ENABLE_SPUR_FILTER |
 			AR_PHY_TIMING_CTRL4_ENABLE_CHAN_MASK |
@@ -416,8 +414,6 @@ static void ar9002_hw_spur_mitigate(struct ath_hw *ah,
 		| (mask_p[47] << 2) | (mask_p[46] << 0);
 	REG_WRITE(ah, AR_PHY_BIN_MASK2_4, tmp_mask);
 	REG_WRITE(ah, AR_PHY_MASK2_P_61_45, tmp_mask);
-
-	REGWRITE_BUFFER_FLUSH(ah);
 }
 
 static void ar9002_olc_init(struct ath_hw *ah)
diff --git a/drivers/net/wireless/ath/ath9k/calib.c b/drivers/net/wireless/ath/ath9k/calib.c
index a1250c5..6b2f104 100644
--- a/drivers/net/wireless/ath/ath9k/calib.c
+++ b/drivers/net/wireless/ath/ath9k/calib.c
@@ -300,7 +300,6 @@ void ath9k_hw_loadnf(struct ath_hw *ah, struct ath9k_channel *chan)
 	 * by the median we just loaded.  This will be initial (and max) value
 	 * of next noise floor calibration the baseband does.
 	 */
-	ENABLE_REGWRITE_BUFFER(ah);
 	for (i = 0; i < NUM_NF_READINGS; i++) {
 		if (chainmask & (1 << i)) {
 			if ((i >= AR5416_MAX_CHAINS) && !conf_is_ht40(conf))
@@ -312,7 +311,6 @@ void ath9k_hw_loadnf(struct ath_hw *ah, struct ath9k_channel *chan)
 			REG_WRITE(ah, ah->nf_regs[i], val);
 		}
 	}
-	REGWRITE_BUFFER_FLUSH(ah);
 }
 
 
diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
index 5b1e894..8f96297 100644
--- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c
+++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c
@@ -313,8 +313,6 @@ static void ath9k_hw_set_4k_power_cal_table(struct ath_hw *ah,
 					    gainBoundaries,
 					    pdadcValues, numXpdGain);
 
-			ENABLE_REGWRITE_BUFFER(ah);
-
 			if ((i == 0) || AR_SREV_5416_20_OR_LATER(ah)) {
 				REG_WRITE(ah, AR_PHY_TPCRG5 + regChainOffset,
 					  SM(pdGainOverlap_t2,
@@ -354,8 +352,6 @@ static void ath9k_hw_set_4k_power_cal_table(struct ath_hw *ah,
 
 				regOffset += 4;
 			}
-
-			REGWRITE_BUFFER_FLUSH(ah);
 		}
 	}
 
@@ -628,8 +624,6 @@ static void ath9k_hw_4k_set_txpower(struct ath_hw *ah,
 			ratesArray[i] -= AR5416_PWR_TABLE_OFFSET_DB * 2;
 	}
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	/* OFDM power per rate */
 	REG_WRITE(ah, AR_PHY_POWER_TX_RATE1,
 		  ATH9K_POW_SM(ratesArray[rate18mb], 24)
@@ -692,8 +686,6 @@ static void ath9k_hw_4k_set_txpower(struct ath_hw *ah,
 			  | ATH9K_POW_SM(ratesArray[rateDupOfdm], 8)
 			  | ATH9K_POW_SM(ratesArray[rateDupCck], 0));
 	}
-
-	REGWRITE_BUFFER_FLUSH(ah);
 }
 
 static void ath9k_hw_4k_set_addac(struct ath_hw *ah,
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 1be7c8b..df48dc3 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -654,8 +654,6 @@ EXPORT_SYMBOL(ath9k_hw_init);
 
 static void ath9k_hw_init_qos(struct ath_hw *ah)
 {
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_MIC_QOS_CONTROL, 0x100aa);
 	REG_WRITE(ah, AR_MIC_QOS_SELECT, 0x3210);
 
@@ -669,8 +667,6 @@ static void ath9k_hw_init_qos(struct ath_hw *ah)
 	REG_WRITE(ah, AR_TXOP_4_7, 0xFFFFFFFF);
 	REG_WRITE(ah, AR_TXOP_8_11, 0xFFFFFFFF);
 	REG_WRITE(ah, AR_TXOP_12_15, 0xFFFFFFFF);
-
-	REGWRITE_BUFFER_FLUSH(ah);
 }
 
 u32 ar9003_get_pll_sqsum_dvc(struct ath_hw *ah)
@@ -825,8 +821,6 @@ static void ath9k_hw_init_interrupt_masks(struct ath_hw *ah,
 	if (opmode == NL80211_IFTYPE_AP)
 		imr_reg |= AR_IMR_MIB;
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_IMR, imr_reg);
 	ah->imrs2_reg |= AR_IMR_S2_GTT;
 	REG_WRITE(ah, AR_IMR_S2, ah->imrs2_reg);
@@ -837,8 +831,6 @@ static void ath9k_hw_init_interrupt_masks(struct ath_hw *ah,
 		REG_WRITE(ah, AR_INTR_SYNC_MASK, 0);
 	}
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	if (AR_SREV_9300_20_OR_LATER(ah)) {
 		REG_WRITE(ah, AR_INTR_PRIO_ASYNC_ENABLE, 0);
 		REG_WRITE(ah, AR_INTR_PRIO_ASYNC_MASK, 0);
@@ -962,8 +954,6 @@ static inline void ath9k_hw_set_dma(struct ath_hw *ah)
 {
 	struct ath_common *common = ath9k_hw_common(ah);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	/*
 	 * set AHB_MODE not to do cacheline prefetches
 	*/
@@ -975,8 +965,6 @@ static inline void ath9k_hw_set_dma(struct ath_hw *ah)
 	 */
 	REG_RMW(ah, AR_TXCFG, AR_TXCFG_DMASZ_128B, AR_TXCFG_DMASZ_MASK);
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	/*
 	 * Restore TX Trigger Level to its pre-reset value.
 	 * The initial value depends on whether aggregation is enabled, and is
@@ -985,8 +973,6 @@ static inline void ath9k_hw_set_dma(struct ath_hw *ah)
 	if (!AR_SREV_9300_20_OR_LATER(ah))
 		REG_RMW_FIELD(ah, AR_TXCFG, AR_FTRIG, ah->tx_trig_level);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	/*
 	 * let mac dma writes be in 128 byte chunks
 	 */
@@ -1021,8 +1007,6 @@ static inline void ath9k_hw_set_dma(struct ath_hw *ah)
 			  AR_PCU_TXBUF_CTRL_USABLE_SIZE);
 	}
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	if (AR_SREV_9300_20_OR_LATER(ah))
 		ath9k_hw_reset_txstatus_ring(ah);
 }
@@ -1080,8 +1064,6 @@ static bool ath9k_hw_set_reset(struct ath_hw *ah, int type)
 		(void)REG_READ(ah, AR_RTC_DERIVED_CLK);
 	}
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	if (AR_SREV_9300_20_OR_LATER(ah)) {
 		REG_WRITE(ah, AR_WA, ah->WARegVal);
 		udelay(10);
@@ -1115,9 +1097,6 @@ static bool ath9k_hw_set_reset(struct ath_hw *ah, int type)
 	}
 
 	REG_WRITE(ah, AR_RTC_RC, rst_flags);
-
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	udelay(50);
 
 	REG_WRITE(ah, AR_RTC_RC, 0);
@@ -1138,8 +1117,6 @@ static bool ath9k_hw_set_reset(struct ath_hw *ah, int type)
 
 static bool ath9k_hw_set_reset_power_on(struct ath_hw *ah)
 {
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	if (AR_SREV_9300_20_OR_LATER(ah)) {
 		REG_WRITE(ah, AR_WA, ah->WARegVal);
 		udelay(10);
@@ -1153,8 +1130,6 @@ static bool ath9k_hw_set_reset_power_on(struct ath_hw *ah)
 
 	REG_WRITE(ah, AR_RTC_RESET, 0);
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	if (!AR_SREV_9300_20_OR_LATER(ah))
 		udelay(2);
 
@@ -1442,8 +1417,6 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
 	ath9k_hw_spur_mitigate_freq(ah, chan);
 	ah->eep_ops->set_board_values(ah, chan);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_STA_ID0, get_unaligned_le32(common->macaddr));
 	REG_WRITE(ah, AR_STA_ID1, get_unaligned_le16(common->macaddr + 4)
 		  | macStaId1
@@ -1457,8 +1430,6 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
 	REG_WRITE(ah, AR_ISR, ~0);
 	REG_WRITE(ah, AR_RSSI_THR, INIT_RSSI_THR);
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	ath9k_hw_set_operating_mode(ah, ah->opmode);
 
 	r = ath9k_hw_rf_set_freq(ah, chan);
@@ -1467,13 +1438,9 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
 
 	ath9k_hw_set_clockrate(ah);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	for (i = 0; i < AR_NUM_DCU; i++)
 		REG_WRITE(ah, AR_DQCUMASK(i), 1 << i);
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	ah->intr_txqs = 0;
 	for (i = 0; i < ATH9K_NUM_TX_QUEUES; i++)
 		ath9k_hw_resettxqueue(ah, i);
@@ -1513,13 +1480,9 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
 	if (!ath9k_hw_init_cal(ah, chan))
 		return -EIO;
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	ath9k_hw_restore_chainmask(ah);
 	REG_WRITE(ah, AR_CFG_LED, saveLedState | AR_CFG_SCLK_32KHZ);
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	/*
 	 * For big endian systems turn on swapping for descriptors
 	 */
@@ -1735,8 +1698,6 @@ void ath9k_hw_beaconinit(struct ath_hw *ah, u32 next_beacon, u32 beacon_period)
 {
 	int flags = 0;
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	switch (ah->opmode) {
 	case NL80211_IFTYPE_ADHOC:
 	case NL80211_IFTYPE_MESH_POINT:
@@ -1767,8 +1728,6 @@ void ath9k_hw_beaconinit(struct ath_hw *ah, u32 next_beacon, u32 beacon_period)
 	REG_WRITE(ah, AR_SWBA_PERIOD, beacon_period);
 	REG_WRITE(ah, AR_NDP_PERIOD, beacon_period);
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	REG_SET_BIT(ah, AR_TIMER_MODE, flags);
 }
 EXPORT_SYMBOL(ath9k_hw_beaconinit);
@@ -1780,8 +1739,6 @@ void ath9k_hw_set_sta_beacon_timers(struct ath_hw *ah,
 	struct ath9k_hw_capabilities *pCap = &ah->caps;
 	struct ath_common *common = ath9k_hw_common(ah);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_NEXT_TBTT_TIMER, TU_TO_USEC(bs->bs_nexttbtt));
 
 	REG_WRITE(ah, AR_BEACON_PERIOD,
@@ -1789,8 +1746,6 @@ void ath9k_hw_set_sta_beacon_timers(struct ath_hw *ah,
 	REG_WRITE(ah, AR_DMA_BEACON_PERIOD,
 		  TU_TO_USEC(bs->bs_intval & ATH9K_BEACON_PERIOD));
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	REG_RMW_FIELD(ah, AR_RSSI_THR,
 		      AR_RSSI_THR_BM_THR, bs->bs_bmissthreshold);
 
@@ -1813,8 +1768,6 @@ void ath9k_hw_set_sta_beacon_timers(struct ath_hw *ah,
 	ath_dbg(common, ATH_DBG_BEACON, "beacon period %d\n", beaconintval);
 	ath_dbg(common, ATH_DBG_BEACON, "DTIM period %d\n", dtimperiod);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_NEXT_DTIM,
 		  TU_TO_USEC(bs->bs_nextdtim - SLEEP_SLOP));
 	REG_WRITE(ah, AR_NEXT_TIM, TU_TO_USEC(nextTbtt - SLEEP_SLOP));
@@ -1834,8 +1787,6 @@ void ath9k_hw_set_sta_beacon_timers(struct ath_hw *ah,
 	REG_WRITE(ah, AR_TIM_PERIOD, TU_TO_USEC(beaconintval));
 	REG_WRITE(ah, AR_DTIM_PERIOD, TU_TO_USEC(dtimperiod));
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	REG_SET_BIT(ah, AR_TIMER_MODE,
 		    AR_TBTT_TIMER_EN | AR_TIM_TIMER_EN |
 		    AR_DTIM_TIMER_EN);
@@ -2217,8 +2168,6 @@ void ath9k_hw_setrxfilter(struct ath_hw *ah, u32 bits)
 {
 	u32 phybits;
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_RX_FILTER, bits);
 
 	phybits = 0;
@@ -2232,8 +2181,6 @@ void ath9k_hw_setrxfilter(struct ath_hw *ah, u32 bits)
 		REG_SET_BIT(ah, AR_RXCFG, AR_RXCFG_ZLFDMA);
 	else
 		REG_CLR_BIT(ah, AR_RXCFG, AR_RXCFG_ZLFDMA);
-
-	REGWRITE_BUFFER_FLUSH(ah);
 }
 EXPORT_SYMBOL(ath9k_hw_setrxfilter);
 
diff --git a/drivers/net/wireless/ath/ath9k/mac.c b/drivers/net/wireless/ath/ath9k/mac.c
index c2091f1..50510ca 100644
--- a/drivers/net/wireless/ath/ath9k/mac.c
+++ b/drivers/net/wireless/ath/ath9k/mac.c
@@ -26,8 +26,6 @@ static void ath9k_hw_set_txq_interrupts(struct ath_hw *ah,
 		ah->txdesc_interrupt_mask, ah->txeol_interrupt_mask,
 		ah->txurn_interrupt_mask);
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_IMR_S0,
 		  SM(ah->txok_interrupt_mask, AR_IMR_S0_QCU_TXOK)
 		  | SM(ah->txdesc_interrupt_mask, AR_IMR_S0_QCU_TXDESC));
@@ -38,8 +36,6 @@ static void ath9k_hw_set_txq_interrupts(struct ath_hw *ah,
 	ah->imrs2_reg &= ~AR_IMR_S2_QCU_TXURN;
 	ah->imrs2_reg |= (ah->txurn_interrupt_mask & AR_IMR_S2_QCU_TXURN);
 	REG_WRITE(ah, AR_IMR_S2, ah->imrs2_reg);
-
-	REGWRITE_BUFFER_FLUSH(ah);
 }
 
 u32 ath9k_hw_gettxbuf(struct ath_hw *ah, u32 q)
@@ -417,8 +413,6 @@ bool ath9k_hw_resettxqueue(struct ath_hw *ah, u32 q)
 	} else
 		cwMin = qi->tqi_cwmin;
 
-	ENABLE_REGWRITE_BUFFER(ah);
-
 	REG_WRITE(ah, AR_DLCL_IFS(q),
 		  SM(cwMin, AR_D_LCL_IFS_CWMIN) |
 		  SM(qi->tqi_cwmax, AR_D_LCL_IFS_CWMAX) |
@@ -463,15 +457,11 @@ bool ath9k_hw_resettxqueue(struct ath_hw *ah, u32 q)
 	if (qi->tqi_qflags & TXQ_FLAG_BACKOFF_DISABLE)
 		REG_SET_BIT(ah, AR_DMISC(q), AR_D_MISC_POST_FR_BKOFF_DIS);
 
-	REGWRITE_BUFFER_FLUSH(ah);
-
 	if (qi->tqi_qflags & TXQ_FLAG_FRAG_BURST_BACKOFF_ENABLE)
 		REG_SET_BIT(ah, AR_DMISC(q), AR_D_MISC_FRAG_BKOFF_EN);
 
 	switch (qi->tqi_type) {
 	case ATH9K_TX_QUEUE_BEACON:
-		ENABLE_REGWRITE_BUFFER(ah);
-
 		REG_SET_BIT(ah, AR_QMISC(q),
 			    AR_Q_MISC_FSP_DBA_GATED
 			    | AR_Q_MISC_BEACON_USE
@@ -483,8 +473,6 @@ bool ath9k_hw_resettxqueue(struct ath_hw *ah, u32 q)
 			    | AR_D_MISC_BEACON_USE
 			    | AR_D_MISC_POST_FR_BKOFF_DIS);
 
-		REGWRITE_BUFFER_FLUSH(ah);
-
 		/*
 		 * cwmin and cwmax should be 0 for beacon queue
 		 * but not for IBSS as we would create an imbalance
@@ -498,8 +486,6 @@ bool ath9k_hw_resettxqueue(struct ath_hw *ah, u32 q)
 		}
 		break;
 	case ATH9K_TX_QUEUE_CAB:
-		ENABLE_REGWRITE_BUFFER(ah);
-
 		REG_SET_BIT(ah, AR_QMISC(q),
 			    AR_Q_MISC_FSP_DBA_GATED
 			    | AR_Q_MISC_CBR_INCR_DIS1
@@ -513,9 +499,6 @@ bool ath9k_hw_resettxqueue(struct ath_hw *ah, u32 q)
 		REG_SET_BIT(ah, AR_DMISC(q),
 			    (AR_D_MISC_ARB_LOCKOUT_CNTRL_GLOBAL <<
 			     AR_D_MISC_ARB_LOCKOUT_CNTRL_S));
-
-		REGWRITE_BUFFER_FLUSH(ah);
-
 		break;
 	case ATH9K_TX_QUEUE_PSPOLL:
 		REG_SET_BIT(ah, AR_QMISC(q), AR_Q_MISC_CBR_INCR_DIS1);
-- 
1.7.0.4


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-05 17:20                   ` Forest Bond
@ 2011-07-06  2:39                     ` Rajkumar Manoharan
  2011-07-06  7:58                       ` Mohammed Shafi
  0 siblings, 1 reply; 21+ messages in thread
From: Rajkumar Manoharan @ 2011-07-06  2:39 UTC (permalink / raw)
  To: Forest Bond
  Cc: Mohammed Shafi, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

On Tue, Jul 05, 2011 at 01:20:22PM -0400, Forest Bond wrote:
> Hi,
> 
> On Tue, Jul 05, 2011 at 08:17:13PM +0530, Mohammed Shafi wrote:
> > On Tue, Jul 5, 2011 at 8:00 PM, Forest Bond <forest@alittletooquiet.net> wrote:
> > > Hi,
> > >
> > > On Tue, Jul 05, 2011 at 06:59:27PM +0530, Mohammed Shafi wrote:
> > >> >> > 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
Forest,

To avoid multi reg writes please apply the following change 

diff --git a/drivers/net/wireless/ath/ath9k/wmi.h
b/drivers/net/wireless/ath/ath9k/wmi.h
index fde6da6..0878add 100644
--- a/drivers/net/wireless/ath/ath9k/wmi.h
+++ b/drivers/net/wireless/ath/ath9k/wmi.h
@@ -124,7 +124,7 @@ enum wmi_event_id {
        WMI_TXSTATUS_EVENTID,
	 };
	  
	  -#define MAX_CMD_NUMBER 62
	  +#define MAX_CMD_NUMBER 1
	   
	    struct register_write {
	            __be32 reg;
--
Rajkumar
		   


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-06  2:39                     ` Rajkumar Manoharan
@ 2011-07-06  7:58                       ` Mohammed Shafi
  2011-07-06 18:29                         ` Forest Bond
  0 siblings, 1 reply; 21+ messages in thread
From: Mohammed Shafi @ 2011-07-06  7:58 UTC (permalink / raw)
  To: Forest Bond, Rajkumar Manoharan
  Cc: Luis R. Rodriguez, Jouni Malinen, Vasanthakumar Thiagarajan,
	Senthil Balasubramanian, linux-wireless

> Forest,
>
> To avoid multi reg writes please apply the following change
>
> diff --git a/drivers/net/wireless/ath/ath9k/wmi.h
> b/drivers/net/wireless/ath/ath9k/wmi.h
> index fde6da6..0878add 100644
> --- a/drivers/net/wireless/ath/ath9k/wmi.h
> +++ b/drivers/net/wireless/ath/ath9k/wmi.h
> @@ -124,7 +124,7 @@ enum wmi_event_id {
>        WMI_TXSTATUS_EVENTID,
>         };
>
>          -#define MAX_CMD_NUMBER 62
>          +#define MAX_CMD_NUMBER 1
>
>            struct register_write {
>                    __be32 reg;
> --

Hi Forest,

did you try in your system the simple hack Raj had suggested?
it seems to solve ths issue, but we encountered some soft lock ups due
to the LED stuff is moved to mac80211 with the recent code base,
we will take a look at this to fix this, probably requires some backporting.

in order to recreate the issue, we installed Ubuntu 8.04- the Hardy
Heron - released in April 2008.
as expected the issue is perfectly reproducible. thanks to Raj for his
help and suggestions.

*please obtain the stable compat-wireless-2.6.36-4
http://linuxwireless.org/en/users/Download/stable/#compat-wireless_2.6.36_stable_releases
*download the old firmware
http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar9271.fw;hb=HEAD
(history http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=history;f=ar9271.fw;h=d0ee74a1c8dccb7cc21f5be90f1d4048fa9dbf9e;hb=HEAD)
with this your USB card will be up and running, we did some basic testing.
*I used  usbmodeswitch-0.9.4

we also recommend you upgrade to latest kernel available for your distribution,
because we may still face some other issues as ath9k_htc very much new
compared to ath9k
please also read
http://wireless.kernel.org/en/users/Download/compat-wireless-old

-- 
shafi

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-06  7:58                       ` Mohammed Shafi
@ 2011-07-06 18:29                         ` Forest Bond
  2011-07-07  5:12                           ` Mohammed Shafi
  0 siblings, 1 reply; 21+ messages in thread
From: Forest Bond @ 2011-07-06 18:29 UTC (permalink / raw)
  To: Mohammed Shafi
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

[-- Attachment #1: Type: text/plain, Size: 2877 bytes --]

Hi shafi,

On Wed, Jul 06, 2011 at 03:58:13AM -0400, Mohammed Shafi wrote:
> > To avoid multi reg writes please apply the following change
> >
> > diff --git a/drivers/net/wireless/ath/ath9k/wmi.h
> > b/drivers/net/wireless/ath/ath9k/wmi.h
> > index fde6da6..0878add 100644
> > --- a/drivers/net/wireless/ath/ath9k/wmi.h
> > +++ b/drivers/net/wireless/ath/ath9k/wmi.h
> > @@ -124,7 +124,7 @@ enum wmi_event_id {
> >        WMI_TXSTATUS_EVENTID,
> >         };
> >
> >          -#define MAX_CMD_NUMBER 62
> >          +#define MAX_CMD_NUMBER 1
> >
> >            struct register_write {
> >                    __be32 reg;
> > --
> 
> did you try in your system the simple hack Raj had suggested?
> it seems to solve ths issue, but we encountered some soft lock ups due
> to the LED stuff is moved to mac80211 with the recent code base,
> we will take a look at this to fix this, probably requires some backporting.

Yes, the device seems to initialize properly with this patch.  Like you
expected, I am seeing soft lock-ups when I try to bring the interface up.

> in order to recreate the issue, we installed Ubuntu 8.04- the Hardy
> Heron - released in April 2008.
> as expected the issue is perfectly reproducible. thanks to Raj for his
> help and suggestions.

Thanks for taking the time to test.  I really appreciate everyone's help.

> *please obtain the stable compat-wireless-2.6.36-4
> http://linuxwireless.org/en/users/Download/stable/#compat-wireless_2.6.36_stable_releases
> *download the old firmware
> http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar9271.fw;hb=HEAD
> (history http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=history;f=ar9271.fw;h=d0ee74a1c8dccb7cc21f5be90f1d4048fa9dbf9e;hb=HEAD)
> with this your USB card will be up and running, we did some basic testing.
> *I used  usbmodeswitch-0.9.4

Ultimately we'd like to try the experimental AP mode.  I understand this was
introduced in kernel version 2.6.40, so I don't think compat-wireless-2.6.36-4
will work for us.

Can you point me to the LED-related commits that you mentioned above?  We'll
either need to backport the changes required to fix the soft lock-ups or upgrade
our kernel to include these commits.

> we also recommend you upgrade to latest kernel available for your distribution,
> because we may still face some other issues as ath9k_htc very much new
> compared to ath9k

A kernel upgrade is something I would like to avoid if possible, but of course
it is something we'll consider if we need to.

> please also read
> http://wireless.kernel.org/en/users/Download/compat-wireless-old

I think this kernel is supported by the regular compat-wireless package, right?

Thanks,
Forest
-- 
Forest Bond
http://www.alittletooquiet.net
http://www.rapidrollout.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-06 18:29                         ` Forest Bond
@ 2011-07-07  5:12                           ` Mohammed Shafi
  2011-07-07  6:19                             ` Mohammed Shafi
  0 siblings, 1 reply; 21+ messages in thread
From: Mohammed Shafi @ 2011-07-07  5:12 UTC (permalink / raw)
  To: Forest Bond
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

On Wed, Jul 6, 2011 at 11:59 PM, Forest Bond <forest@alittletooquiet.net> wrote:
> Hi shafi,
>
> On Wed, Jul 06, 2011 at 03:58:13AM -0400, Mohammed Shafi wrote:
>> > To avoid multi reg writes please apply the following change
>> >
>> > diff --git a/drivers/net/wireless/ath/ath9k/wmi.h
>> > b/drivers/net/wireless/ath/ath9k/wmi.h
>> > index fde6da6..0878add 100644
>> > --- a/drivers/net/wireless/ath/ath9k/wmi.h
>> > +++ b/drivers/net/wireless/ath/ath9k/wmi.h
>> > @@ -124,7 +124,7 @@ enum wmi_event_id {
>> >        WMI_TXSTATUS_EVENTID,
>> >         };
>> >
>> >          -#define MAX_CMD_NUMBER 62
>> >          +#define MAX_CMD_NUMBER 1
>> >
>> >            struct register_write {
>> >                    __be32 reg;
>> > --
>>
>> did you try in your system the simple hack Raj had suggested?
>> it seems to solve ths issue, but we encountered some soft lock ups due
>> to the LED stuff is moved to mac80211 with the recent code base,
>> we will take a look at this to fix this, probably requires some backporting.
>
> Yes, the device seems to initialize properly with this patch.  Like you
> expected, I am seeing soft lock-ups when I try to bring the interface up.
>
>> in order to recreate the issue, we installed Ubuntu 8.04- the Hardy
>> Heron - released in April 2008.
>> as expected the issue is perfectly reproducible. thanks to Raj for his
>> help and suggestions.
>
> Thanks for taking the time to test.  I really appreciate everyone's help.
>
>> *please obtain the stable compat-wireless-2.6.36-4
>> http://linuxwireless.org/en/users/Download/stable/#compat-wireless_2.6.36_stable_releases
>> *download the old firmware
>> http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar9271.fw;hb=HEAD
>> (history http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=history;f=ar9271.fw;h=d0ee74a1c8dccb7cc21f5be90f1d4048fa9dbf9e;hb=HEAD)
>> with this your USB card will be up and running, we did some basic testing.
>> *I used  usbmodeswitch-0.9.4
>
> Ultimately we'd like to try the experimental AP mode.  I understand this was
> introduced in kernel version 2.6.40, so I don't think compat-wireless-2.6.36-4
> will work for us.

yes AP mode support is not available in 2.6.36-4 and so as the
corresponding firmware changes.

>
> Can you point me to the LED-related commits that you mentioned above?  We'll
> either need to backport the changes required to fix the soft lock-ups or upgrade
> our kernel to include these commits.

no I have not looked into that deeply, will surely take a look into it sooner.

>
>> we also recommend you upgrade to latest kernel available for your distribution,
>> because we may still face some other issues as ath9k_htc very much new
>> compared to ath9k
>
> A kernel upgrade is something I would like to avoid if possible, but of course
> it is something we'll consider if we need to.

its highly recommended you please upgrade the kernel. its needed because
 we can avoid fixing issues that may need to back ported in the future.

>
>> please also read
>> http://wireless.kernel.org/en/users/Download/compat-wireless-old
>
> I think this kernel is supported by the regular compat-wireless package, right?

true, but its also mentioned in the known issues that 2.6.26 >= is
what ath9k best supports.
its good that  ath9k_htc worked

>
> Thanks,
> Forest
> --
> Forest Bond
> http://www.alittletooquiet.net
> http://www.rapidrollout.com
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEARECAAYFAk4UqZEACgkQRO4fQQdv5Ay9jQCbB3lJUTTYM0Vm1o+JNqwG0kyI
> BAMAnjiX7VDThAbNYOyasOBTarI5ZqtE
> =V/bH
> -----END PGP SIGNATURE-----
>
>



-- 
shafi

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-07  5:12                           ` Mohammed Shafi
@ 2011-07-07  6:19                             ` Mohammed Shafi
  2011-07-07  7:23                               ` Mohammed Shafi
  0 siblings, 1 reply; 21+ messages in thread
From: Mohammed Shafi @ 2011-07-07  6:19 UTC (permalink / raw)
  To: Forest Bond
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

On Thu, Jul 7, 2011 at 10:42 AM, Mohammed Shafi
<shafi.wireless@gmail.com> wrote:
> On Wed, Jul 6, 2011 at 11:59 PM, Forest Bond <forest@alittletooquiet.net> wrote:
>> Hi shafi,
>>
>> On Wed, Jul 06, 2011 at 03:58:13AM -0400, Mohammed Shafi wrote:
>>> > To avoid multi reg writes please apply the following change
>>> >
>>> > diff --git a/drivers/net/wireless/ath/ath9k/wmi.h
>>> > b/drivers/net/wireless/ath/ath9k/wmi.h
>>> > index fde6da6..0878add 100644
>>> > --- a/drivers/net/wireless/ath/ath9k/wmi.h
>>> > +++ b/drivers/net/wireless/ath/ath9k/wmi.h
>>> > @@ -124,7 +124,7 @@ enum wmi_event_id {
>>> >        WMI_TXSTATUS_EVENTID,
>>> >         };
>>> >
>>> >          -#define MAX_CMD_NUMBER 62
>>> >          +#define MAX_CMD_NUMBER 1
>>> >
>>> >            struct register_write {
>>> >                    __be32 reg;
>>> > --
>>>
>>> did you try in your system the simple hack Raj had suggested?
>>> it seems to solve ths issue, but we encountered some soft lock ups due
>>> to the LED stuff is moved to mac80211 with the recent code base,
>>> we will take a look at this to fix this, probably requires some backporting.
>>
>> Yes, the device seems to initialize properly with this patch.  Like you
>> expected, I am seeing soft lock-ups when I try to bring the interface up.
>>
>>> in order to recreate the issue, we installed Ubuntu 8.04- the Hardy
>>> Heron - released in April 2008.
>>> as expected the issue is perfectly reproducible. thanks to Raj for his
>>> help and suggestions.
>>
>> Thanks for taking the time to test.  I really appreciate everyone's help.
>>
>>> *please obtain the stable compat-wireless-2.6.36-4
>>> http://linuxwireless.org/en/users/Download/stable/#compat-wireless_2.6.36_stable_releases
>>> *download the old firmware
>>> http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=blob_plain;f=ar9271.fw;hb=HEAD
>>> (history http://git.kernel.org/?p=linux/kernel/git/dwmw2/linux-firmware.git;a=history;f=ar9271.fw;h=d0ee74a1c8dccb7cc21f5be90f1d4048fa9dbf9e;hb=HEAD)
>>> with this your USB card will be up and running, we did some basic testing.
>>> *I used  usbmodeswitch-0.9.4
>>
>> Ultimately we'd like to try the experimental AP mode.  I understand this was
>> introduced in kernel version 2.6.40, so I don't think compat-wireless-2.6.36-4
>> will work for us.
>
> yes AP mode support is not available in 2.6.36-4 and so as the
> corresponding firmware changes.
>
>>
>> Can you point me to the LED-related commits that you mentioned above?  We'll
>> either need to backport the changes required to fix the soft lock-ups or upgrade
>> our kernel to include these commits.

we are going to revert this and see if it helps (in addition to
Rajkumar's patch applied)

commit d244f21e79162b829c9af09845421d9b4fac4253
Author: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Date:   Thu Apr 28 16:14:05 2011 +0530

    ath9k_htc: Revamp LED management

    Remove all the convoluted hacks in the driver and simplify things
    by making use of mac80211's LED triggers.

    Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>



>
> no I have not looked into that deeply, will surely take a look into it sooner.
>
>>
>>> we also recommend you upgrade to latest kernel available for your distribution,
>>> because we may still face some other issues as ath9k_htc very much new
>>> compared to ath9k
>>
>> A kernel upgrade is something I would like to avoid if possible, but of course
>> it is something we'll consider if we need to.
>
> its highly recommended you please upgrade the kernel. its needed because
>  we can avoid fixing issues that may need to back ported in the future.
>
>>
>>> please also read
>>> http://wireless.kernel.org/en/users/Download/compat-wireless-old
>>
>> I think this kernel is supported by the regular compat-wireless package, right?
>
> true, but its also mentioned in the known issues that 2.6.26 >= is
> what ath9k best supports.
> its good that  ath9k_htc worked
>
>>
>> Thanks,
>> Forest
>> --
>> Forest Bond
>> http://www.alittletooquiet.net
>> http://www.rapidrollout.com
>>
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.10 (GNU/Linux)
>>
>> iEYEARECAAYFAk4UqZEACgkQRO4fQQdv5Ay9jQCbB3lJUTTYM0Vm1o+JNqwG0kyI
>> BAMAnjiX7VDThAbNYOyasOBTarI5ZqtE
>> =V/bH
>> -----END PGP SIGNATURE-----
>>
>>
>
>
>
> --
> shafi
>



-- 
shafi

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-07  6:19                             ` Mohammed Shafi
@ 2011-07-07  7:23                               ` Mohammed Shafi
  2011-07-07 22:53                                 ` Forest Bond
  0 siblings, 1 reply; 21+ messages in thread
From: Mohammed Shafi @ 2011-07-07  7:23 UTC (permalink / raw)
  To: Forest Bond
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

[-- Attachment #1: Type: text/plain, Size: 162 bytes --]

attached a reverting patch for LED, did a basic test and looks fine.
need to investigate in this for backporting.  we have not tested in
2.6.24 kernel

-- 
shafi

[-- Attachment #2: 0001-Revert-ath9k_htc-Revamp-LED-management.patch --]
[-- Type: text/x-diff, Size: 12786 bytes --]

From 6e3aa6402bf1ee2090d72b57de7fa1dcc49d115a Mon Sep 17 00:00:00 2001
From: vasanth <vasanth@vasanth-laptop.(none)>
Date: Thu, 7 Jul 2011 12:25:07 +0530
Subject: [PATCH] Revert "ath9k_htc: Revamp LED management"

This reverts commit d244f21e79162b829c9af09845421d9b4fac4253.
---
 drivers/net/wireless/ath/ath9k/htc.h          |   65 +++++----
 drivers/net/wireless/ath/ath9k/htc_drv_gpio.c |  188 +++++++++++++++++++++----
 drivers/net/wireless/ath/ath9k/htc_drv_init.c |   22 ---
 drivers/net/wireless/ath/ath9k/htc_drv_main.c |    6 +-
 4 files changed, 196 insertions(+), 85 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/htc.h b/drivers/net/wireless/ath/ath9k/htc.h
index 5bc0220..80a8f7d 100644
--- a/drivers/net/wireless/ath/ath9k/htc.h
+++ b/drivers/net/wireless/ath/ath9k/htc.h
@@ -373,6 +373,25 @@ static inline void ath9k_htc_err_stat_rx(struct ath9k_htc_priv *priv,
 #define ATH_LED_PIN_9287            10
 #define ATH_LED_PIN_9271            15
 #define ATH_LED_PIN_7010            12
+#define ATH_LED_ON_DURATION_IDLE    350	/* in msecs */
+#define ATH_LED_OFF_DURATION_IDLE   250	/* in msecs */
+
+enum ath_led_type {
+	ATH_LED_RADIO,
+	ATH_LED_ASSOC,
+	ATH_LED_TX,
+	ATH_LED_RX
+};
+
+struct ath_led {
+	struct ath9k_htc_priv *priv;
+	struct led_classdev led_cdev;
+	enum ath_led_type led_type;
+	struct delayed_work brightness_work;
+	char name[32];
+	bool registered;
+	int brightness;
+};
 
 #define BSTUCK_THRESHOLD 10
 
@@ -406,11 +425,14 @@ void ath_htc_cancel_btcoex_work(struct ath9k_htc_priv *priv);
 
 #define OP_INVALID		   BIT(0)
 #define OP_SCANNING		   BIT(1)
-#define OP_ENABLE_BEACON           BIT(2)
-#define OP_BT_PRIORITY_DETECTED    BIT(3)
-#define OP_BT_SCAN                 BIT(4)
-#define OP_ANI_RUNNING             BIT(5)
-#define OP_TSF_RESET               BIT(6)
+#define OP_LED_ASSOCIATED	   BIT(2)
+#define OP_LED_ON		   BIT(3)
+#define OP_ENABLE_BEACON	   BIT(4)
+#define OP_LED_DEINIT		   BIT(5)
+#define OP_BT_PRIORITY_DETECTED    BIT(6)
+#define OP_BT_SCAN                 BIT(7)
+#define OP_ANI_RUNNING             BIT(8)
+#define OP_TSF_RESET               BIT(9)
 
 struct ath9k_htc_priv {
 	struct device *dev;
@@ -471,13 +493,15 @@ struct ath9k_htc_priv {
 	bool ps_enabled;
 	bool ps_idle;
 
-#ifdef CONFIG_MAC80211_LEDS
-	enum led_brightness brightness;
-	bool led_registered;
-	char led_name[32];
-	struct led_classdev led_cdev;
-	struct work_struct led_work;
-#endif
+	struct ath_led radio_led;
+	struct ath_led assoc_led;
+	struct ath_led tx_led;
+	struct ath_led rx_led;
+	struct delayed_work ath9k_led_blink_work;
+	int led_on_duration;
+	int led_off_duration;
+	int led_on_cnt;
+	int led_off_cnt;
 
 	int beaconq;
 	int cabq;
@@ -562,24 +586,9 @@ void ath9k_start_rfkill_poll(struct ath9k_htc_priv *priv);
 void ath9k_htc_rfkill_poll_state(struct ieee80211_hw *hw);
 void ath9k_htc_radio_enable(struct ieee80211_hw *hw);
 void ath9k_htc_radio_disable(struct ieee80211_hw *hw);
-
-#ifdef CONFIG_MAC80211_LEDS
+void ath9k_led_stop_brightness(struct ath9k_htc_priv *priv);
 void ath9k_init_leds(struct ath9k_htc_priv *priv);
 void ath9k_deinit_leds(struct ath9k_htc_priv *priv);
-void ath9k_led_work(struct work_struct *work);
-#else
-static inline void ath9k_init_leds(struct ath9k_htc_priv *priv)
-{
-}
-
-static inline void ath9k_deinit_leds(struct ath9k_htc_priv *priv)
-{
-}
-
-static inline void ath9k_led_work(struct work_struct *work)
-{
-}
-#endif
 
 int ath9k_htc_probe_device(struct htc_target *htc_handle, struct device *dev,
 			   u16 devid, char *product, u32 drv_info);
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c b/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c
index db2352e..d88a2e3 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_gpio.c
@@ -154,41 +154,140 @@ void ath_htc_cancel_btcoex_work(struct ath9k_htc_priv *priv)
 /* LED */
 /*******/
 
-#ifdef CONFIG_MAC80211_LEDS
-void ath9k_led_work(struct work_struct *work)
+static void ath9k_led_blink_work(struct work_struct *work)
 {
-	struct ath9k_htc_priv *priv = container_of(work,
-						   struct ath9k_htc_priv,
-						   led_work);
+	struct ath9k_htc_priv *priv = container_of(work, struct ath9k_htc_priv,
+						   ath9k_led_blink_work.work);
+
+	if (!(priv->op_flags & OP_LED_ASSOCIATED))
+		return;
 
-	ath9k_hw_set_gpio(priv->ah, priv->ah->led_pin,
-			  (priv->brightness == LED_OFF));
+	if ((priv->led_on_duration == ATH_LED_ON_DURATION_IDLE) ||
+	    (priv->led_off_duration == ATH_LED_OFF_DURATION_IDLE))
+		ath9k_hw_set_gpio(priv->ah, priv->ah->led_pin, 0);
+	else
+		ath9k_hw_set_gpio(priv->ah, priv->ah->led_pin,
+				  (priv->op_flags & OP_LED_ON) ? 1 : 0);
+
+	ieee80211_queue_delayed_work(priv->hw,
+				     &priv->ath9k_led_blink_work,
+				     (priv->op_flags & OP_LED_ON) ?
+				     msecs_to_jiffies(priv->led_off_duration) :
+				     msecs_to_jiffies(priv->led_on_duration));
+
+	priv->led_on_duration = priv->led_on_cnt ?
+		max((ATH_LED_ON_DURATION_IDLE - priv->led_on_cnt), 25) :
+		ATH_LED_ON_DURATION_IDLE;
+	priv->led_off_duration = priv->led_off_cnt ?
+		max((ATH_LED_OFF_DURATION_IDLE - priv->led_off_cnt), 10) :
+		ATH_LED_OFF_DURATION_IDLE;
+	priv->led_on_cnt = priv->led_off_cnt = 0;
+
+	if (priv->op_flags & OP_LED_ON)
+		priv->op_flags &= ~OP_LED_ON;
+	else
+		priv->op_flags |= OP_LED_ON;
+}
+
+static void ath9k_led_brightness_work(struct work_struct *work)
+{
+	struct ath_led *led = container_of(work, struct ath_led,
+					   brightness_work.work);
+	struct ath9k_htc_priv *priv = led->priv;
+
+	switch (led->brightness) {
+	case LED_OFF:
+		if (led->led_type == ATH_LED_ASSOC ||
+		    led->led_type == ATH_LED_RADIO) {
+			ath9k_hw_set_gpio(priv->ah, priv->ah->led_pin,
+					  (led->led_type == ATH_LED_RADIO));
+			priv->op_flags &= ~OP_LED_ASSOCIATED;
+			if (led->led_type == ATH_LED_RADIO)
+				priv->op_flags &= ~OP_LED_ON;
+		} else {
+			priv->led_off_cnt++;
+		}
+		break;
+	case LED_FULL:
+		if (led->led_type == ATH_LED_ASSOC) {
+			priv->op_flags |= OP_LED_ASSOCIATED;
+			ieee80211_queue_delayed_work(priv->hw,
+					     &priv->ath9k_led_blink_work, 0);
+		} else if (led->led_type == ATH_LED_RADIO) {
+			ath9k_hw_set_gpio(priv->ah, priv->ah->led_pin, 0);
+			priv->op_flags |= OP_LED_ON;
+		} else {
+			priv->led_on_cnt++;
+		}
+		break;
+	default:
+		break;
+	}
 }
 
 static void ath9k_led_brightness(struct led_classdev *led_cdev,
 				 enum led_brightness brightness)
 {
-	struct ath9k_htc_priv *priv = container_of(led_cdev,
-						   struct ath9k_htc_priv,
-						   led_cdev);
+	struct ath_led *led = container_of(led_cdev, struct ath_led, led_cdev);
+	struct ath9k_htc_priv *priv = led->priv;
 
-	/* Not locked, but it's just a tiny green light..*/
-	priv->brightness = brightness;
-	ieee80211_queue_work(priv->hw, &priv->led_work);
+	led->brightness = brightness;
+	if (!(priv->op_flags & OP_LED_DEINIT))
+		ieee80211_queue_delayed_work(priv->hw,
+					     &led->brightness_work, 0);
 }
 
-void ath9k_deinit_leds(struct ath9k_htc_priv *priv)
+void ath9k_led_stop_brightness(struct ath9k_htc_priv *priv)
 {
-	if (!priv->led_registered)
-		return;
+	cancel_delayed_work_sync(&priv->radio_led.brightness_work);
+	cancel_delayed_work_sync(&priv->assoc_led.brightness_work);
+	cancel_delayed_work_sync(&priv->tx_led.brightness_work);
+	cancel_delayed_work_sync(&priv->rx_led.brightness_work);
+}
+
+static int ath9k_register_led(struct ath9k_htc_priv *priv, struct ath_led *led,
+			      char *trigger)
+{
+	int ret;
 
-	ath9k_led_brightness(&priv->led_cdev, LED_OFF);
-	led_classdev_unregister(&priv->led_cdev);
-	cancel_work_sync(&priv->led_work);
+	led->priv = priv;
+	led->led_cdev.name = led->name;
+	led->led_cdev.default_trigger = trigger;
+	led->led_cdev.brightness_set = ath9k_led_brightness;
+
+	ret = led_classdev_register(wiphy_dev(priv->hw->wiphy), &led->led_cdev);
+	if (ret)
+		ath_err(ath9k_hw_common(priv->ah),
+			"Failed to register led:%s", led->name);
+	else
+		led->registered = 1;
+
+	INIT_DELAYED_WORK(&led->brightness_work, ath9k_led_brightness_work);
+
+	return ret;
+}
+
+static void ath9k_unregister_led(struct ath_led *led)
+{
+	if (led->registered) {
+		led_classdev_unregister(&led->led_cdev);
+		led->registered = 0;
+	}
+}
+
+void ath9k_deinit_leds(struct ath9k_htc_priv *priv)
+{
+	priv->op_flags |= OP_LED_DEINIT;
+	ath9k_unregister_led(&priv->assoc_led);
+	priv->op_flags &= ~OP_LED_ASSOCIATED;
+	ath9k_unregister_led(&priv->tx_led);
+	ath9k_unregister_led(&priv->rx_led);
+	ath9k_unregister_led(&priv->radio_led);
 }
 
 void ath9k_init_leds(struct ath9k_htc_priv *priv)
 {
+	char *trigger;
 	int ret;
 
 	if (AR_SREV_9287(priv->ah))
@@ -206,21 +305,48 @@ void ath9k_init_leds(struct ath9k_htc_priv *priv)
 	/* LED off, active low */
 	ath9k_hw_set_gpio(priv->ah, priv->ah->led_pin, 1);
 
-	snprintf(priv->led_name, sizeof(priv->led_name),
-		"ath9k_htc-%s", wiphy_name(priv->hw->wiphy));
-	priv->led_cdev.name = priv->led_name;
-	priv->led_cdev.brightness_set = ath9k_led_brightness;
-
-	ret = led_classdev_register(wiphy_dev(priv->hw->wiphy), &priv->led_cdev);
-	if (ret < 0)
-		return;
-
-	INIT_WORK(&priv->led_work, ath9k_led_work);
-	priv->led_registered = true;
+	INIT_DELAYED_WORK(&priv->ath9k_led_blink_work, ath9k_led_blink_work);
+
+	trigger = ieee80211_get_radio_led_name(priv->hw);
+	snprintf(priv->radio_led.name, sizeof(priv->radio_led.name),
+		"ath9k-%s::radio", wiphy_name(priv->hw->wiphy));
+	ret = ath9k_register_led(priv, &priv->radio_led, trigger);
+	priv->radio_led.led_type = ATH_LED_RADIO;
+	if (ret)
+		goto fail;
+
+	trigger = ieee80211_get_assoc_led_name(priv->hw);
+	snprintf(priv->assoc_led.name, sizeof(priv->assoc_led.name),
+		"ath9k-%s::assoc", wiphy_name(priv->hw->wiphy));
+	ret = ath9k_register_led(priv, &priv->assoc_led, trigger);
+	priv->assoc_led.led_type = ATH_LED_ASSOC;
+	if (ret)
+		goto fail;
+
+	trigger = ieee80211_get_tx_led_name(priv->hw);
+	snprintf(priv->tx_led.name, sizeof(priv->tx_led.name),
+		"ath9k-%s::tx", wiphy_name(priv->hw->wiphy));
+	ret = ath9k_register_led(priv, &priv->tx_led, trigger);
+	priv->tx_led.led_type = ATH_LED_TX;
+	if (ret)
+		goto fail;
+
+	trigger = ieee80211_get_rx_led_name(priv->hw);
+	snprintf(priv->rx_led.name, sizeof(priv->rx_led.name),
+		"ath9k-%s::rx", wiphy_name(priv->hw->wiphy));
+	ret = ath9k_register_led(priv, &priv->rx_led, trigger);
+	priv->rx_led.led_type = ATH_LED_RX;
+	if (ret)
+		goto fail;
+
+	priv->op_flags &= ~OP_LED_DEINIT;
 
 	return;
+
+fail:
+	cancel_delayed_work_sync(&priv->ath9k_led_blink_work);
+	ath9k_deinit_leds(priv);
 }
-#endif
 
 /*******************/
 /*	Rfkill	   */
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
index 61e6d39..b68af2c 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c
@@ -117,21 +117,6 @@ static struct ieee80211_rate ath9k_legacy_rates[] = {
 	RATE(540, 0x0c, 0),
 };
 
-#ifdef CONFIG_MAC80211_LEDS
-static const struct ieee80211_tpt_blink ath9k_htc_tpt_blink[] = {
-	{ .throughput = 0 * 1024, .blink_time = 334 },
-	{ .throughput = 1 * 1024, .blink_time = 260 },
-	{ .throughput = 5 * 1024, .blink_time = 220 },
-	{ .throughput = 10 * 1024, .blink_time = 190 },
-	{ .throughput = 20 * 1024, .blink_time = 170 },
-	{ .throughput = 50 * 1024, .blink_time = 150 },
-	{ .throughput = 70 * 1024, .blink_time = 130 },
-	{ .throughput = 100 * 1024, .blink_time = 110 },
-	{ .throughput = 200 * 1024, .blink_time = 80 },
-	{ .throughput = 300 * 1024, .blink_time = 50 },
-};
-#endif
-
 static int ath9k_htc_wait_for_target(struct ath9k_htc_priv *priv)
 {
 	int time_left;
@@ -873,13 +858,6 @@ static int ath9k_init_device(struct ath9k_htc_priv *priv,
 	if (error != 0)
 		goto err_rx;
 
-#ifdef CONFIG_MAC80211_LEDS
-	/* must be initialized before ieee80211_register_hw */
-	priv->led_cdev.default_trigger = ieee80211_create_tpt_led_trigger(priv->hw,
-		IEEE80211_TPT_LEDTRIG_FL_RADIO, ath9k_htc_tpt_blink,
-		ARRAY_SIZE(ath9k_htc_tpt_blink));
-#endif
-
 	/* Register with mac80211 */
 	error = ieee80211_register_hw(hw);
 	if (error)
diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index 7b77968..8678420 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -1002,11 +1002,9 @@ static void ath9k_htc_stop(struct ieee80211_hw *hw)
 	/* Cancel all the running timers/work .. */
 	cancel_work_sync(&priv->fatal_work);
 	cancel_work_sync(&priv->ps_work);
-
-#ifdef CONFIG_MAC80211_LEDS
-	cancel_work_sync(&priv->led_work);
-#endif
+	cancel_delayed_work_sync(&priv->ath9k_led_blink_work);
 	ath9k_htc_stop_ani(priv);
+	ath9k_led_stop_brightness(priv);
 
 	mutex_lock(&priv->mutex);
 
-- 
1.7.0.4


^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-07  7:23                               ` Mohammed Shafi
@ 2011-07-07 22:53                                 ` Forest Bond
  2011-07-08 13:24                                   ` Mohammed Shafi
  0 siblings, 1 reply; 21+ messages in thread
From: Forest Bond @ 2011-07-07 22:53 UTC (permalink / raw)
  To: Mohammed Shafi
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

[-- Attachment #1: Type: text/plain, Size: 507 bytes --]

Hi shafi,

On Thu, Jul 07, 2011 at 03:23:50AM -0400, Mohammed Shafi wrote:
> attached a reverting patch for LED, did a basic test and looks fine.
> need to investigate in this for backporting.  we have not tested in
> 2.6.24 kernel

Yes, this seems to fix things.  I can bring the interface up now and get
scanning results.  I will test further and let you know how things go.

Thanks again for your help.

-Forest
-- 
Forest Bond
http://www.alittletooquiet.net
http://www.rapidrollout.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-07 22:53                                 ` Forest Bond
@ 2011-07-08 13:24                                   ` Mohammed Shafi
  2011-07-11  5:31                                     ` Mohammed Shafi
  0 siblings, 1 reply; 21+ messages in thread
From: Mohammed Shafi @ 2011-07-08 13:24 UTC (permalink / raw)
  To: Forest Bond
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

On Fri, Jul 8, 2011 at 4:23 AM, Forest Bond <forest@alittletooquiet.net> wrote:
> Hi shafi,
>
> On Thu, Jul 07, 2011 at 03:23:50AM -0400, Mohammed Shafi wrote:
>> attached a reverting patch for LED, did a basic test and looks fine.
>> need to investigate in this for backporting.  we have not tested in
>> 2.6.24 kernel
>
> Yes, this seems to fix things.  I can bring the interface up now and get
> scanning results.  I will test further and let you know how things go.

let me quickly check if undefine CONFIG_MAC80211_LEDS in ath9k_htc in
latest wireless-testing and if i get a lock up or panic

>
> Thanks again for your help.
>
> -Forest
> --
> Forest Bond
> http://www.alittletooquiet.net
> http://www.rapidrollout.com
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEARECAAYFAk4WOOEACgkQRO4fQQdv5AxHWgCcCMFdHTo389d6SW9Kp4MF8Ux2
> MiEAoL6TIP+qdzRTqGspgOQI5JQeAMk9
> =HFBX
> -----END PGP SIGNATURE-----
>
>



-- 
shafi

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-08 13:24                                   ` Mohammed Shafi
@ 2011-07-11  5:31                                     ` Mohammed Shafi
  2011-07-11 15:04                                       ` Forest Bond
  0 siblings, 1 reply; 21+ messages in thread
From: Mohammed Shafi @ 2011-07-11  5:31 UTC (permalink / raw)
  To: Forest Bond
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

On Fri, Jul 8, 2011 at 6:54 PM, Mohammed Shafi <shafi.wireless@gmail.com> wrote:
> On Fri, Jul 8, 2011 at 4:23 AM, Forest Bond <forest@alittletooquiet.net> wrote:
>> Hi shafi,
>>
>> On Thu, Jul 07, 2011 at 03:23:50AM -0400, Mohammed Shafi wrote:
>>> attached a reverting patch for LED, did a basic test and looks fine.
>>> need to investigate in this for backporting.  we have not tested in
>>> 2.6.24 kernel
>>
>> Yes, this seems to fix things.  I can bring the interface up now and get
>> scanning results.  I will test further and let you know how things go.
>
> let me quickly check if undefine CONFIG_MAC80211_LEDS in ath9k_htc in
> latest wireless-testing and if i get a lock up or panic

it did not help, got an idea its a locking issue in com pat, I don't
know why its happening for the older kernel. made it working by
commenting out few spinlocks,
>
>>
>> Thanks again for your help.
>>
>> -Forest
>> --
>> Forest Bond
>> http://www.alittletooquiet.net
>> http://www.rapidrollout.com
>>
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.10 (GNU/Linux)
>>
>> iEYEARECAAYFAk4WOOEACgkQRO4fQQdv5AxHWgCcCMFdHTo389d6SW9Kp4MF8Ux2
>> MiEAoL6TIP+qdzRTqGspgOQI5JQeAMk9
>> =HFBX
>> -----END PGP SIGNATURE-----
>>
>>
>
>
>
> --
> shafi
>



-- 
shafi

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-11  5:31                                     ` Mohammed Shafi
@ 2011-07-11 15:04                                       ` Forest Bond
  2011-07-11 15:33                                         ` Mohammed Shafi
  0 siblings, 1 reply; 21+ messages in thread
From: Forest Bond @ 2011-07-11 15:04 UTC (permalink / raw)
  To: Mohammed Shafi
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

[-- Attachment #1: Type: text/plain, Size: 1334 bytes --]

Hi shafi,

On Mon, Jul 11, 2011 at 11:01:04AM +0530, Mohammed Shafi wrote:
> On Fri, Jul 8, 2011 at 6:54 PM, Mohammed Shafi <shafi.wireless@gmail.com> wrote:
> > On Fri, Jul 8, 2011 at 4:23 AM, Forest Bond <forest@alittletooquiet.net> wrote:
> >> Hi shafi,
> >>
> >> On Thu, Jul 07, 2011 at 03:23:50AM -0400, Mohammed Shafi wrote:
> >>> attached a reverting patch for LED, did a basic test and looks fine.
> >>> need to investigate in this for backporting.  we have not tested in
> >>> 2.6.24 kernel
> >>
> >> Yes, this seems to fix things.  I can bring the interface up now and get
> >> scanning results.  I will test further and let you know how things go.
> >
> > let me quickly check if undefine CONFIG_MAC80211_LEDS in ath9k_htc in
> > latest wireless-testing and if i get a lock up or panic
> 
> it did not help, got an idea its a locking issue in com pat, I don't
> know why its happening for the older kernel. made it working by
> commenting out few spinlocks,

Okay, in the meantime I am up and running with hostapd.  I have been testing for
a few hours and have not seen problems, so this setup appears to be relatively
stable.

Of course I am happy to test any other patches you would like to try.

Thanks,
Forest
-- 
Forest Bond
http://www.alittletooquiet.net
http://www.rapidrollout.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1
  2011-07-11 15:04                                       ` Forest Bond
@ 2011-07-11 15:33                                         ` Mohammed Shafi
  0 siblings, 0 replies; 21+ messages in thread
From: Mohammed Shafi @ 2011-07-11 15:33 UTC (permalink / raw)
  To: Forest Bond
  Cc: Rajkumar Manoharan, Luis R. Rodriguez, Jouni Malinen,
	Vasanthakumar Thiagarajan, Senthil Balasubramanian,
	linux-wireless

On Mon, Jul 11, 2011 at 8:34 PM, Forest Bond <forest@alittletooquiet.net> wrote:
> Hi shafi,
>
Hi Forest,
>
> Okay, in the meantime I am up and running with hostapd.  I have been testing for
> a few hours and have not seen problems, so this setup appears to be relatively
> stable.

really good, but if you get an opportunity to upgrade your kernel please do it.

>
> Of course I am happy to test any other patches you would like to try.

sure thanks.

>
> Thanks,
> Forest
> --
> Forest Bond
> http://www.alittletooquiet.net
> http://www.rapidrollout.com
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEARECAAYFAk4bERkACgkQRO4fQQdv5AyuIwCfWnc9fycqtRe+fV2agqevKbWI
> HkEAmgPly6YJjpnZ4WhNdBiyTDlme0eg
> =8A/J
> -----END PGP SIGNATURE-----
>
>



-- 
shafi

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2011-07-11 15:33 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-01 13:35 ath9k_htc fails to initialize TL-WN721N with compat-wireless 3.0-rc4-1 Forest Bond
2011-07-01 14:01 ` Mohammed Shafi
     [not found]   ` <BANLkTimUs65_Sw=pwF-J8gPjyrNcs2qnOw@mail.gmail.com>
2011-07-01 17:32     ` Forest Bond
2011-07-04  5:24       ` Rajkumar Manoharan
2011-07-04  9:53         ` Rajkumar Manoharan
2011-07-05 12:49           ` Forest Bond
2011-07-05 13:29             ` Mohammed Shafi
2011-07-05 14:30               ` Forest Bond
2011-07-05 14:47                 ` Mohammed Shafi
2011-07-05 17:20                   ` Forest Bond
2011-07-06  2:39                     ` Rajkumar Manoharan
2011-07-06  7:58                       ` Mohammed Shafi
2011-07-06 18:29                         ` Forest Bond
2011-07-07  5:12                           ` Mohammed Shafi
2011-07-07  6:19                             ` Mohammed Shafi
2011-07-07  7:23                               ` Mohammed Shafi
2011-07-07 22:53                                 ` Forest Bond
2011-07-08 13:24                                   ` Mohammed Shafi
2011-07-11  5:31                                     ` Mohammed Shafi
2011-07-11 15:04                                       ` Forest Bond
2011-07-11 15:33                                         ` Mohammed Shafi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.