1. 12 Nov, 2010 17 commits
  2. 11 Nov, 2010 2 commits
  3. 10 Nov, 2010 4 commits
  4. 09 Nov, 2010 13 commits
  5. 08 Nov, 2010 4 commits
    • Rajkumar Manoharan's avatar
      ath9k_hw: Fix memory leak on ath9k_hw_rf_alloc_ext_banks failure · 48a7c3df
      Rajkumar Manoharan authored
      The allocated externel radio banks have to be freed in
      case of ath9k_hw_rf_alloc_ext_banks failure.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarRajkumar Manoharan <rmanoharan@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      48a7c3df
    • Rajkumar Manoharan's avatar
      ath9k_htc: Fix probe failure if CONFIG_USB_DEBUG enabled · 490b3f4e
      Rajkumar Manoharan authored
      Since the endpoint descriptors (EP3 & EP4) were changed from Interrupt
      to Bulk type by firmware, the urb submission done on Bulk pipes.
      And the recent commit "check the endpoint type against the pipe type"
      added aditional error checking against pipe types under CONFIG_USB_DEBUG.
      
      So bmAttribute has to be updated for both EP3 & EP4 before submitting
      urbs on that pipe. This patch resolves the following failure.
      
      [ 2215.710936] usb 1-1: usb_probe_device
      [ 2215.710945] usb 1-1: configuration #1 chosen from 1 choice
      [ 2215.711152] usb 1-1: adding 1-1:1.0 (config #1, interface 0)
      [ 2215.711252] ath9k_hif_usb 1-1:1.0: usb_probe_interface
      [ 2215.711255] ath9k_hif_usb 1-1:1.0: usb_probe_interface - got id
      [ 2215.712780] usb 1-1: BOGUS urb xfer, pipe 3 != type 1
      [ 2215.713782] usb 1-1: ath9k_htc: Unable to allocate URBs
      [ 2215.713801] ath9k_hif_usb: probe of 1-1:1.0 failed with error -22
      Reported-by: default avatarMing Lei <tom.leiming@gmail.com>
      Signed-off-by: default avatarRajkumar Manoharan <rmanoharan@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      490b3f4e
    • Haitao Zhang's avatar
      ath9k_htc: Add support for device ID 3346 · ac618d70
      Haitao Zhang authored
      This patch adds support for USB dongle with device ID 3346 from IMC Networks.
      Signed-off-by: default avatarHaitao Zhang <minipanda@linuxrobot.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      ac618d70
    • Vasanthakumar Thiagarajan's avatar
      ath9k_hw: Fix AR9280 surprise removal during frequent idle on/off · f119da30
      Vasanthakumar Thiagarajan authored
      Bit 22 of AR_WA should be set to fix the situation where chip reset
      is asynchronous to clock of analog shift registers, such that when
      reset is released, it could mess up the values of analog shift registers
      and cause some hw issue on AR9280.
      
      This bit is write only, but the driver does a read-modify-write
      on AR_WA without setting bit 22 in ar9002_hw_configpcipowersave()
      during radio disable. This causes surprise removal of hw. It can
      never recover from this state and the hw will become usable only
      after a power on/off cycle, and sometimes only during a cold reboot.
      
      This issue can be triggered by doing frequent roaming with the
      simple/test-roam script available from the wifi-test project [1]
      when roaming between APs quickly. When roaming there is a is a high
      possibility that the device being put into idle (radio disable) state
      by mac80211 during AUTH->ASSOC. A device hardware reset would fail
      and the kernel would output:
      
      [40251.363799] ath: AWAKE -> FULL-SLEEP
      [40251.363815] ieee80211 phy17: device no longer idle - working
      [40251.363817] ath: Marking phy17 as not-idle
      [40251.363819] ath: FULL-SLEEP -> AWAKE
      [40251.415978] pciehp 0000:00:1c.3:pcie04: Card not present on Slot(3)
      [40251.419896] ath: ah->misc_mode 0x4
      [40251.428138] pciehp 0000:00:1c.3:pcie04: Card present on Slot(3)
      [40251.532247] ath: timeout (100000 us) on reg 0x9860: 0xffffffff & 0x00000001 != 0x00000000
      [40251.532250] ath: Unable to reset channel (2462 MHz), reset status -5
      [40251.532422] ath: Set channel: 5745 MHz
      [40251.540639] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.548826] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.557023] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.565211] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.573415] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.581603] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.581606] ath: Failed to stop TX DMA. Resetting hardware!
      [40251.592679] ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff
      [40251.703330] ath: timeout (100000 us) on reg 0x7000: 0xffffffff & 0x00000003 != 0x00000000
      [40251.703333] ath: RTC stuck in MAC reset
      [40251.703334] ath: Chip reset failed
      [40251.703335] ath: Unable to reset hardware; reset status -22
      
      This is currently only reproducible with some HB92 (Half Mini-PCIE)
      cards but the fix applies to all AR9280 cards. This patch fixes this
      issue by setting bit 22 during radio disable.
      
      This patch has fixes for all kernels that has ath9k.
      
      [1] http://wireless.kernel.org/en/developers/Testing/wifi-test
      
      Cc: kyungwan.nam@atheros.com
      Cc: amod.bodas@atheros.com
      Cc: david.quan@atheros.com
      Cc: stable@kernel.org
      Signed-off-by: default avatarVasanthakumar Thiagarajan <vasanth@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f119da30