1. 12 Jan, 2009 9 commits
    • Sujith's avatar
      ath9k: Fix chainmask handling bug · 86060f0d
      Sujith authored
      The chainmasks have to be updated before setting the channel,
      since the HW reset routine uses them to set the appropriate registers.
      Signed-off-by: default avatarSujith <Sujith.Manoharan@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      86060f0d
    • David Kilroy's avatar
      orinoco: take the driver lock in the rx tasklet · 20953ad6
      David Kilroy authored
      Fix the warning reproduced below.
      
      We add to rx_list in interrupt context and remove elements in tasklet
      context. While removing elements we need to prevent the interrupt
      modifying the list.
      
      Note that "orinoco: Process bulk of receive interrupt in a tasklet" did not
      preserve locking semantics on what is now orinoco_rx.
      
      This patch reinstates the locking semantics and ensures it covers
      rx_list as well. This leads to additional cleanup required in
      free_orinocodev.
      
      [89479.105038] WARNING: at lib/list_debug.c:30 __list_add+0x8f/0xa0()
      [89479.105058] list_add corruption. prev->next should be next (dddb3568), but was cbc28978. (prev=dddb3568).
      [89479.106002] Pid: 15746, comm: X Not tainted 2.6.28-1avb #26
      [89479.106020] Call Trace:
      [89479.106062]  [<c011d3b0>] warn_slowpath+0x60/0x80
      [89479.106104]  [<c01073d0>] ? native_sched_clock+0x20/0x70
      [89479.106194]  [<c013d825>] ? lock_release_holdtime+0x35/0x200
      [89479.106218]  [<c018d9f0>] ? __slab_alloc+0x550/0x560
      [89479.106254]  [<c02f9c9d>] ? _spin_unlock+0x1d/0x20
      [89479.106270]  [<c018d9f0>] ? __slab_alloc+0x550/0x560
      [89479.106302]  [<c01ff2a7>] ? delay_tsc+0x17/0x24
      [89479.106319]  [<c01ff221>] ? __const_udelay+0x21/0x30
      [89479.106376]  [<dfa8b1e2>] ? hermes_bap_seek+0x112/0x1e0 [hermes]
      [89479.106396]  [<c013d7eb>] ? trace_hardirqs_off+0xb/0x10
      [89479.106418]  [<c018e307>] ? __kmalloc_track_caller+0xb7/0x110
      [89479.106448]  [<c028eefc>] ? dev_alloc_skb+0x1c/0x30
      [89479.106465]  [<c028eefc>] ? dev_alloc_skb+0x1c/0x30
      [89479.106482]  [<c020e13f>] __list_add+0x8f/0xa0
      [89479.106551]  [<dfd0fcae>] orinoco_interrupt+0xcae/0x16c0 [orinoco]
      [89479.106574]  [<c013b0e3>] ? tick_dev_program_event+0x33/0xb0
      [89479.106594]  [<c01073d0>] ? native_sched_clock+0x20/0x70
      [89479.106613]  [<c013d825>] ? lock_release_holdtime+0x35/0x200
      [89479.106662]  [<c013d7eb>] ? trace_hardirqs_off+0xb/0x10
      [89479.106892]  [<dfe7faa7>] ? usb_hcd_irq+0x97/0xa0 [usbcore]
      [89479.106926]  [<c015ba79>] handle_IRQ_event+0x29/0x60
      [89479.106947]  [<c015cf89>] handle_level_irq+0x69/0xe0
      [89479.106963]  [<c015cf20>] ? handle_level_irq+0x0/0xe0
      [89479.106977]  <IRQ>  [<c02ca933>] ? tcp_v4_rcv+0x633/0x6e0
      [89479.107025]  [<c0103f0c>] ? common_interrupt+0x28/0x30
      [89479.107057]  [<c02a0000>] ? sk_run_filter+0x320/0x7a0
      [89479.107078]  [<c020e041>] ? list_del+0x21/0x90
      [89479.107106]  [<dfd0d24e>] ? orinoco_rx_isr_tasklet+0x2ce/0x480 [orinoco]
      [89479.107131]  [<c01402e0>] ? __lock_acquire+0x160/0x1650
      [89479.107151]  [<c01073d0>] ? native_sched_clock+0x20/0x70
      [89479.107169]  [<c013d825>] ? lock_release_holdtime+0x35/0x200
      [89479.107200]  [<c012249a>] ? irq_enter+0xa/0x60
      [89479.107217]  [<c0104e52>] ? do_IRQ+0xd2/0x130
      [89479.107518]  [<c010342c>] ? restore_nocheck_notrace+0x0/0xe
      [89479.107542]  [<c0122830>] ? __do_softirq+0x0/0x110
      [89479.107561]  [<c013f7b4>] ? trace_hardirqs_on_caller+0x74/0x140
      [89479.107583]  [<c01ff678>] ? trace_hardirqs_on_thunk+0xc/0x10
      [89479.107602]  [<c0122087>] ? tasklet_action+0x27/0x90
      [89479.107620]  [<c013f7b4>] ? trace_hardirqs_on_caller+0x74/0x140
      [89479.107638]  [<c01220a3>] ? tasklet_action+0x43/0x90
      [89479.107655]  [<c012289f>] ? __do_softirq+0x6f/0x110
      [89479.107674]  [<c0122830>] ? __do_softirq+0x0/0x110
      [89479.107685]  <IRQ>  [<c015cf20>] ? handle_level_irq+0x0/0xe0
      [89479.107715]  [<c012246d>] ? irq_exit+0x5d/0x80
      [89479.107732]  [<c0104e52>] ? do_IRQ+0xd2/0x130
      [89479.107747]  [<c0103337>] ? sysenter_exit+0xf/0x16
      [89479.107765]  [<c013f83d>] ? trace_hardirqs_on_caller+0xfd/0x140
      [89479.107782]  [<c0103f0c>] ? common_interrupt+0x28/0x30
      [89479.107797] ---[ end trace a1fc0a52df4a729d ]---
      Reported-by: default avatarAndrey Borzenkov <arvidjaar@mail.ru>
      Signed-off-by: default avatarDavid Kilroy <kilroyd@googlemail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      20953ad6
    • Jouni Malinen's avatar
      ath9k: Enforce module build if rfkill is a module · 176ddc7d
      Jouni Malinen authored
      CONFIG_ATH9K=y results in build issues if CONFIG_RFKILL=m since ath9k
      does not depend on rfkill in kconfig (i.e., CONFIG_RFKILL is used to
      select whether to enable rfkill in ath9k), but uses its functions if
      rfkill is enabled. Enforce ath9k to be build as a module if
      CONFIG_RFKILL=m to avoid this invalid configuration.
      Signed-off-by: default avatarJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      176ddc7d
    • Michiel's avatar
      p54usb: Add USB ID for Thomson Speedtouch 121g · 878e6a43
      Michiel authored
      Add the USB ID for Thomson Speedtouch 121g to p54usb.
      Signed-off-by: default avatarMichiel <michiel@ettema.net>
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      878e6a43
    • Ivo van Doorn's avatar
      rt2x00: Fix TX short preamble detection · 3ea96463
      Ivo van Doorn authored
      The short preamble mode was not correctly detected during TX,
      rt2x00 used the rate->hw_value_short field but mac80211 is not
      using this field that way.
      Instead the flag IEEE80211_TX_RC_USE_SHORT_PREAMBLE should be
      used to determine if the frame should be send out using
      short preamble or not.
      Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3ea96463
    • Stefan Lippers-Hollmann's avatar
      rt2x00: add USB ID for the Linksys WUSB200. · 3be36ae2
      Stefan Lippers-Hollmann authored
      add USB ID for the Linksys WUSB200 Wireless-G Business USB Adapter to
      rt73usb.
      Signed-off-by: default avatarStefan Lippers-Hollmann <s.l-h@gmx.de>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3be36ae2
    • Larry Finger's avatar
      p54usb: Fix to prevent SKB memory allocation errors with 4K page size · 51fb80fe
      Larry Finger authored
      On x86_64 architecture with 4K page size and SLUB debugging enabled, stress
      testing on p54usb has resulted in skb allocation failures of O(1) and extreme
      page fragmentation. Reducing rx_mtu fixes this problem by reducing the size of
      all receive skb allocations to be of O(0). This change does not impact
      performance in any way.
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      51fb80fe
    • Andrew Price's avatar
      rt2x00: Fix radio LED type check · d1b29405
      Andrew Price authored
      Since "rt2x00: Fix LED state handling", rt2x00leds_led_radio wrongly
      checks that the LED type is LED_TYPE_ASSOC. This patch makes it check
      for LED_TYPE_RADIO once again.
      Signed-off-by: default avatarAndrew Price <andy@andrewprice.me.uk>
      Acked-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      d1b29405
    • Erik Ekman's avatar
      8476a657
  2. 11 Jan, 2009 31 commits