1. 26 11月, 2008 9 次提交
    • S
      ath9k: Remove rate control reference in VAP · 5ddfac3b
      Sujith 提交于
      Rate control init is now confined to itself, using the
      HT capabilites of the STA from rate_init().
      Signed-off-by: NSujith <Sujith.Manoharan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5ddfac3b
    • S
      ath9k: Revamp RX handling · be0418ad
      Sujith 提交于
      Remove a lot of old, crufty code and make
      RX status reporting a bit sane and clean.
      
      Do not do anything to the RX skb before unmapping.
      So in ath_rx_tasklet(), move the skb_put() after PCI unmap.
      Signed-off-by: NSujith <Sujith.Manoharan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      be0418ad
    • S
      ath9k: Nuke fixed rate handling in driver · 2b406f1e
      Sujith 提交于
      Signed-off-by: NSujith <Sujith.Manoharan@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2b406f1e
    • V
      ath9k: Fix panic while unregistering rfkill · 3fcdfb4b
      Vasanthakumar Thiagarajan 提交于
       [ 6133.670329] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
       [ 6133.672802] IP: [<ffffffffa030fcf6>] ieee80211_stop_queues+0x26/0x40 [mac80211]
       [ 6133.672802] PGD 759dc067 PUD 74f1d067 PMD 0
       [ 6133.672802] Oops: 0002 [#1] PREEMPT SMP
       [ 6133.672802] last sysfs file: /sys/class/backlight/acpi_video0/brightness
       [ 6133.672802] CPU 0
       [ 6133.672802] Modules linked in: ath9k(-) mac80211 pciehp pci_hotplug arc4 ecb joydev pcmcia ppdev lp ppp_generic psmouse sg pcspkr s]
       [ 6133.735830] Pid: 4445, comm: rmmod Tainted: G        W  2.6.28-rc5-wl #1
       [ 6133.735830] RIP: 0010:[<ffffffffa030fcf6>]  [<ffffffffa030fcf6>] ieee80211_stop_queues+0x26/0x40 [mac80211]
       [ 6133.735830] RSP: 0018:ffff88007d1efd10  EFLAGS: 00010246
       [ 6133.735830] RAX: 0000000000000000 RBX: ffff880074f41aa0 RCX: 0000000000000000
       [ 6133.735830] RDX: 0000000000000010 RSI: 0000000000000000 RDI: ffff880074f40340
       [ 6133.735830] RBP: ffff880074990000 R08: 0000000000000000 R09: 000000000000224d
       [ 6133.735830] R10: 0000000000000000 R11: ffffffff8031dc70 R12: 0000000000000000
       [ 6133.735830] R13: 0000000000000001 R14: ffff880074f46c9c R15: 0000000000000000
       [ 6133.735830] FS:  00007f1e2e0bc6f0(0000) GS:ffffffff805e0b80(0000) knlGS:0000000000000000
       [ 6133.735830] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
       [ 6133.735830] CR2: 0000000000000010 CR3: 0000000075593000 CR4: 00000000000006e0
       [ 6133.735830] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
       [ 6133.735830] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
       [ 6133.735830] Process rmmod (pid: 4445, threadinfo ffff88007d1ee000, task ffff88007c0c8000)
       [ 6133.735830] Stack:
       [ 6133.735830]  ffffffffa034d583 ffff88007c7d9410 ffff88007c7d9410 ffff88007c7d9410
       [ 6133.735830]  ffffffff80481dab ffff880074f41aa0 00000000fffffff0 0000000000000000
       [ 6133.735830]  0000000000000001 0000000000000001 ffffffffa034d8a5 ffff88007c7d9400
       [ 6133.735830] Call Trace:
       [ 6133.735830]  [<ffffffffa034d583>] ? ath_radio_disable+0x33/0x150 [ath9k]
       [ 6133.735830]  [<ffffffff80481dab>] ? __mutex_lock_slowpath+0x20b/0x2a0
       [ 6133.735830]  [<ffffffffa034d8a5>] ? ath_sw_toggle_radio+0x65/0xa0 [ath9k]
       [ 6133.735830]  [<ffffffffa019d1f4>] ? rfkill_toggle_radio+0x74/0x140 [rfkill]
       [ 6133.735830]  [<ffffffffa019d597>] ? rfkill_remove_switch+0x67/0x80 [rfkill]
       [ 6133.735830]  [<ffffffffa019d955>] ? rfkill_unregister+0x25/0x50 [rfkill]
       [ 6133.735830]  [<ffffffffa034bf75>] ? ath_detach+0xf5/0x140 [ath9k]
       [ 6133.735830]  [<ffffffffa034bfe9>] ? ath_pci_remove+0x29/0x80 [ath9k]
       [ 6133.735830]  [<ffffffff8035263c>] ? pci_device_remove+0x2c/0x60
       [ 6133.735830]  [<ffffffff803c3829>] ? __device_release_driver+0x99/0x100
       [ 6133.735830]  [<ffffffff803c3950>] ? driver_detach+0xc0/0xd0
       [ 6133.735830]  [<ffffffff803c296e>] ? bus_remove_driver+0x8e/0xd0
       [ 6133.735830]  [<ffffffff80352916>] ? pci_unregister_driver+0x36/0xa0
       [ 6133.735830]  [<ffffffffa0356ad4>] ? exit_ath_pci+0x10/0x29 [ath9k]
       [ 6133.735830]  [<ffffffff8026bb1b>] ? sys_delete_module+0x1cb/0x2d0
       [ 6133.735830]  [<ffffffff802960d9>] ? do_munmap+0x349/0x390
       [ 6133.735830]  [<ffffffff80342d01>] ? __up_write+0x21/0x150
       [ 6133.735830]  [<ffffffff8020c45b>] ? system_call_fastpath+0x16/0x1b
       [ 6133.735830] Code: c3 0f 1f 40 00 0f b7 57 5e 0f b7 47 5c 01 c2 74 30 31 c9 66 90 48 8b 57 78 0f b7 c1 48 c1 e0 07 48 03 82 00 03 00
       [ 6133.735830] RIP  [<ffffffffa030fcf6>] ieee80211_stop_queues+0x26/0x40 [mac80211]
      Signed-off-by: NVasanthakumar Thiagarajan <vasanth@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3fcdfb4b
    • L
      ath9k: make DMA memory consistent · 97b777db
      Luis R. Rodriguez 提交于
      Make the DMAable mameory consistent with pci_set_consistent_dma_mask().
      The DMA-mapping.txt Documentation recommends this but for PCI-X
      considerations and on strange architecture like SGI SN2, not sure
      why it would fix an issue but lets see if it does, just in case.
      
      Before this, this driver was tested with x86_64 with about
      7 GB of RAM, not sure if this is really needed.
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      97b777db
    • L
      ath9k: Clarify we only want 32-bit DMA · 1d450cfc
      Luis R. Rodriguez 提交于
      Use DMA_32BIT_MASK to clarify we only want 32-bit DMA
      memory. What was there before is also 32-bit but this makes it
      clearer
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      1d450cfc
    • S
      ath9k: Race condition in accessing TX and RX buffers. · db93e7b5
      Senthil Balasubramanian 提交于
      Race condition causes RX buffers to be accessed even before it is
      initialized. The RX and TX buffers are initialized immediately after
      the hardware is registered with mac80211. The mac80211 start callback
      is ready to be fired once the device is registered for a case when the
      wpa_supplicant is also running at the same time.
      
      The same race condition is also possible for RKFILL registration
      as RFKILL init happens after the device registration with mac80211
      and it is possible that rfkill_register would be called even before
      it is initialized.
      Signed-off-by: NSenthil Balasubramanian <senthilkumar@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      db93e7b5
    • S
      ath9k: IRQ should be disabled before calling free_irq() · 306efdd1
      Senthil Balasubramanian 提交于
      ath9k frees irq even before IRQs are disabled and existing IRQs
      are flushed when rfkill_register() fails.
      Signed-off-by: NSenthil Balasubramanian <senthilkumar@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      306efdd1
    • S
      ath9k: Build RFKILL feature even when RFKILL subsystem is a MODULE · e97275cb
      Senthil Balasubramanian 提交于
      Currently, ath9k builds RFKILL feature only when the RFKILL subsystem
      is built part of the kernel. Build RFKILL feature regardless of whether
      RFKILL subsystem is built as a MODULE or part of the kernel.
      Signed-off-by: NSenthil Balasubramanian <senthilkumar@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e97275cb
  2. 22 11月, 2008 1 次提交
  3. 12 11月, 2008 1 次提交
  4. 11 11月, 2008 11 次提交
  5. 01 11月, 2008 8 次提交
  6. 28 10月, 2008 1 次提交
  7. 15 10月, 2008 1 次提交
  8. 07 10月, 2008 1 次提交
  9. 23 9月, 2008 2 次提交
  10. 16 9月, 2008 4 次提交
  11. 12 9月, 2008 1 次提交