1. 29 5月, 2009 1 次提交
  2. 21 5月, 2009 7 次提交
  3. 12 5月, 2009 4 次提交
    • J
      iwlwifi: fix device id registration for 6000 series 2x2 devices · 542cc793
      Jay Sternberg 提交于
      Add device ids for 2x2 devices. Also fix antenna usage because these devices use
      antennas A and B, not B and C.
      Signed-off-by: NJay Sternberg <jay.e.sternberg@linux.intel.com>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      542cc793
    • B
      ath5k: update channel in sw state after stopping RX and TX · 209d889b
      Bob Copeland 提交于
      This fixes a non-theoretical race condition when transmitting and
      receiving frames during a scan.  If the channel or operating band
      changes while processing status descriptors in the tasklets, ath5k
      will incorrectly use the new channel and band when reporting the
      rates, even if the frame was actually sent on a previous channel.
      
      Typically this will manifest as a beacon found on an incorrect
      frequency and/or a warning in the driver while scanning:
      
      [ 4773.891944] cfg80211: Found new beacon on frequency: 5805 MHz (Ch 161) on phy0
      [ 4785.461125] ------------[ cut here ]------------
      [ 4785.461135] WARNING: at drivers/net/wireless/ath/ath5k/base.c:1141 ath5k_tasklet_rx+0x2ff/0x577 [ath5k]()
      [ 4785.461143] Hardware name: MacBook1,1
      [ 4785.461148] invalid hw_rix: 1b
      [ 4785.461152] Modules linked in: fuse i915 drm af_packet acpi_cpufreq binfmt_misc dm_mirror dm_region_hash dm_log dm_multipath dm_mod arc4 ecb snd_hda_codec_idt snd_hda_intel snd_hda_codec snd_seq_dummy snd_seq_oss snd_seq_midi_event ath5k snd_seq hid_apple usbhid snd_seq_device mac80211 appletouch snd_pcm_oss sky2 ohci1394 snd_mixer_oss ath ieee1394 snd_pcm bitrev snd_timer cfg80211 crc32 snd snd_page_alloc button processor ac ehci_hcd joydev uhci_hcd sg battery thermal sr_mod cdrom applesmc evdev input_polldev unix [last unloaded: microcode]
      [ 4785.461296] Pid: 0, comm: swapper Tainted: G        W  2.6.30-rc3-wl #112
      [ 4785.461302] Call Trace:
      [ 4785.461316]  [<c012590f>] warn_slowpath+0x76/0xa5
      [ 4785.461331]  [<c0219839>] ? debug_dma_unmap_page+0x5a/0x62
      [ 4785.461357]  [<f9982f88>] ath5k_tasklet_rx+0x2ff/0x577 [ath5k]
      [ 4785.461371]  [<c01446f7>] ? trace_hardirqs_off+0xb/0xd
      [ 4785.461381]  [<c0129928>] ? __tasklet_schedule+0x6e/0x7c
      [ 4785.461392]  [<c0129b02>] tasklet_action+0x92/0xe5
      [ 4785.461402]  [<c0129f91>] __do_softirq+0xb1/0x182
      [ 4785.461411]  [<c012a092>] do_softirq+0x30/0x48
      [ 4785.461428]  [<c012a20a>] irq_exit+0x3d/0x74
      [ 4785.461435]  [<c035a0de>] do_IRQ+0x76/0x8c
      [ 4785.461440]  [<c010312e>] common_interrupt+0x2e/0x34
      [ 4785.461445]  [<c014007b>] ? timer_list_show+0x1ab/0x939
      [ 4785.461457]  [<f85fd25c>] ? acpi_idle_enter_bm+0x27c/0x2b9 [processor]
      [ 4785.461463]  [<c02d1ed6>] cpuidle_idle_call+0x6a/0x9c
      [ 4785.461468]  [<c0101cc8>] cpu_idle+0x53/0x87
      [ 4785.461473]  [<c0346584>] rest_init+0x6c/0x6e
      [ 4785.461479]  [<c04df74d>] start_kernel+0x286/0x28b
      [ 4785.461484]  [<c04df037>] __init_begin+0x37/0x3c
      [ 4785.461487] ---[ end trace aaf8496ba3679dfb ]---
      Signed-off-by: NBob Copeland <me@bobcopeland.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      209d889b
    • J
      9be6f0d4
    • J
      airo: airo_get_encode{,ext} potential buffer overflow · aedec922
      John W. Linville 提交于
      Feeding the return code of get_wep_key directly to the length parameter
      of memcpy is a bad idea since it could be -1...
      Reported-by: NEugene Teo <eugeneteo@kernel.sg>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      aedec922
  4. 05 5月, 2009 2 次提交
  5. 29 4月, 2009 4 次提交
  6. 22 4月, 2009 5 次提交
  7. 21 4月, 2009 6 次提交
  8. 18 4月, 2009 1 次提交
  9. 16 4月, 2009 10 次提交
    • J
      ar9170: fix struct layout on arm · 1269fa73
      Johannes Berg 提交于
      arm will pad even between u8's, so mark the structs/unions
      packed. Fixes a build bug on arm due to BUILD_BUG_ON tests
      in the code.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Reported-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      1269fa73
    • P
      orinoco: correct timeout logic in __orinoco_hw_set_tkip_key() · 91fe9ca7
      Pavel Roskin 提交于
      If the value read from HERMES_RID_TXQUEUEEMPTY becomes 0 after exactly
      100 readings, we wrongly consider it a timeout.  Rewrite the clever
      while loop as a for loop that does the right thing and looks simpler.
      
      Reported by Juha Leppanen <juha_motorsportcom@luukku.com>
      Signed-off-by: NPavel Roskin <proski@gnu.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      91fe9ca7
    • H
      rt2x00: prevent double kfree when failing to register hardware · f05faa31
      Herton Ronaldo Krzesinski 提交于
      In a scenario where there isn't any firmware available, we will have a
      double kfree of rt2x00dev->spec.channels_info when ieee80211_register_hw
      returns an error status inside rt2x00lib_probe_hw.
      
      The problem is that if ieee80211_register_hw fails, we call
      rt2x00lib_remove_hw twice:
      * first inside rt2x00lib_probe_hw upon failure of ieee80211_register_hw
      * error status is returned to rt2x00lib_probe_dev, which then sees it and
        calls in this case rt2x00lib_remove_dev that will again run
        rt2x00lib_remove_hw
      
      Prevent this avoiding calling rt2x00lib_remove_hw inside
      rt2x00lib_probe_hw
      
      Problem was detected with CONFIG_DEBUG_PAGEALLOC=y, CONFIG_SLUB_DEBUG=y,
      CONFIG_SLUB_DEBUG_ON=y, that dumps this with no firmware available:
      
      rt61pci 0000:00:07.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
      wmaster0 (rt61pci): not using net_device_ops yet
      phy0: Selected rate control algorithm 'pid'
      phy0: Failed to initialize wep: -2
      phy0 -> rt2x00lib_probe_dev: Error - Failed to initialize hw.
      =============================================================================
      BUG kmalloc-128: Object already free
      -----------------------------------------------------------------------------
      
      INFO: Allocated in rt61pci_probe_hw+0x3e5/0x6e0 [rt61pci] age=340 cpu=0 pid=21
      INFO: Freed in rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib] age=0 cpu=0 pid=21
      INFO: Slab 0xc13ac3e0 objects=23 used=10 fp=0xdd59f6e0 flags=0x400000c3
      INFO: Object 0xdd59f6e0 @offset=1760 fp=0xdd59f790
      
      Bytes b4 0xdd59f6d0:  15 00 00 00 b2 8a fb ff 5a 5a 5a 5a 5a 5a 5a 5a ....².ûÿZZZZZZZZ
        Object 0xdd59f6e0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
        Object 0xdd59f6f0:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
        Object 0xdd59f700:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
        Object 0xdd59f710:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
        Object 0xdd59f720:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
        Object 0xdd59f730:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
        Object 0xdd59f740:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
        Object 0xdd59f750:  6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk¥
       Redzone 0xdd59f760:  bb bb bb bb                                     »»»»
       Padding 0xdd59f788:  5a 5a 5a 5a 5a 5a 5a 5a                         ZZZZZZZZ
      Pid: 21, comm: stage1 Not tainted 2.6.29.1-desktop-1.1mnb #1
      Call Trace:
       [<c01abbb3>] print_trailer+0xd3/0x120
       [<c01abd37>] object_err+0x37/0x50
       [<c01acf57>] __slab_free+0xe7/0x2f0
       [<c01ad1de>] kfree+0x7e/0xd0
       [<e0e4a239>] ? rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
       [<e0e4a239>] ? rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
       [<e0e4a239>] rt2x00lib_remove_hw+0x59/0x70 [rt2x00lib]
       [<e0e4acc7>] rt2x00lib_remove_dev+0x37/0x50 [rt2x00lib]
       [<e0e4b087>] rt2x00lib_probe_dev+0x1a7/0x3b0 [rt2x00lib]
       [<e0eb288f>] rt2x00pci_probe+0xdf/0x1ee [rt2x00pci]
       [<c026b9ee>] local_pci_probe+0xe/0x10
       [<c026c750>] pci_device_probe+0x60/0x80
       [<c02d5c2a>] driver_probe_device+0x9a/0x2e0
       [<c02d5ef9>] __driver_attach+0x89/0x90
       [<c02d541b>] bus_for_each_dev+0x4b/0x70
       [<c026c690>] ? pci_device_remove+0x0/0x40
       [<c02d59d9>] driver_attach+0x19/0x20
       [<c02d5e70>] ? __driver_attach+0x0/0x90
       [<c02d4cef>] bus_add_driver+0x1cf/0x2a0
       [<c026c690>] ? pci_device_remove+0x0/0x40
       [<c02d60c9>] driver_register+0x69/0x140
       [<c026c9b0>] __pci_register_driver+0x40/0x80
       [<e0ecc000>] ? rt61pci_init+0x0/0x19 [rt61pci]
       [<e0ecc017>] rt61pci_init+0x17/0x19 [rt61pci]
       [<c0101116>] do_one_initcall+0x26/0x1c0
       [<c01ab90c>] ? slab_pad_check+0x3c/0x120
       [<c01ab90c>] ? slab_pad_check+0x3c/0x120
       [<c01ac8da>] ? check_object+0xda/0x210
       [<c01b0026>] ? percpu_free+0x46/0x50
       [<c01ad09e>] ? __slab_free+0x22e/0x2f0
       [<c01b0026>] ? percpu_free+0x46/0x50
       [<c01b0026>] ? percpu_free+0x46/0x50
       [<c01b0026>] ? percpu_free+0x46/0x50
       [<c01687ec>] ? stop_machine_destroy+0x3c/0x40
       [<c015e515>] ? load_module+0xa5/0x1c50
       [<e0ec5000>] ? rt61pci_eepromregister_read+0x0/0x40 [rt61pci]
       [<e0eb2000>] ? rt2x00pci_write_tx_data+0x0/0x90 [rt2x00pci]
       [<c03ac2fb>] ? mutex_lock+0xb/0x20
       [<c03ac2fb>] ? mutex_lock+0xb/0x20
       [<c017ad16>] ? tracepoint_update_probe_range+0x76/0xa0
       [<c017ad6f>] ? tracepoint_module_notify+0x2f/0x40
       [<c03b02ed>] ? notifier_call_chain+0x2d/0x70
       [<c014f0ed>] ? __blocking_notifier_call_chain+0x4d/0x60
       [<c014f11a>] ? blocking_notifier_call_chain+0x1a/0x20
       [<c0160156>] sys_init_module+0x96/0x1d0
       [<c019dad6>] ? sys_munmap+0x46/0x60
       [<c0105546>] syscall_call+0x7/0xb
      FIX kmalloc-128: Object at 0xdd59f6e0 not freed
      rt61pci 0000:00:07.0: PCI INT A disabled
      rt61pci: probe of 0000:00:07.0 failed with error -2
      Signed-off-by: NHerton Ronaldo Krzesinski <herton@mandriva.com.br>
      Acked-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f05faa31
    • J
      fix iwl3945 registration regression · d60cc91a
      Johannes Berg 提交于
      I forgot that iwl3945 registration is separate from iwlagn.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d60cc91a
    • M
      b43: Do radio lock assertion in software · 591f3dc2
      Michael Buesch 提交于
      The assertion of the lock-bit in the hardware register is unreliable,
      because there are devices with quirks that will randomly set the bit.
      
      Do the assertion in software, only.
      Signed-off-by: NMichael Buesch <mb@bu3sch.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      591f3dc2
    • I
      rt2x00: Add rt73usb USB IDs · 6aabd4c4
      Ivo van Doorn 提交于
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6aabd4c4
    • C
      e3062403
    • C
      ar9170: add Cace Airpcap NX usb_id · 4fc298b8
      Christian Lamparter 提交于
      This patch adds a new device to ar9170usb.
      Reported-by: NMike Kershaw/Dragorn <dragorn@kismetwireless.net>
      Signed-off-by: NChristian Lamparter <chunkeey@web.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      4fc298b8
    • D
      airo: queue SIOCSIWAUTH-requested auth mode change for next commit · 011f5c5b
      Dan Williams 提交于
      Code was clearly wrong, plus callers expect the mode change to happen as
      soon as possible, not dropped on the floor until the next time some
      other config value changes and a commit happens.
      Signed-off-by: NDan Williams <dcbw@redhat.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      011f5c5b
    • J
      at76c50x-usb: Add device ID for OQO model 01+ · 02a9a392
      Jamie Lentin 提交于
      Add USB device ID for OQO 01+'s internal wireless LAN
      
      An OQO employee mentions the chip's true identity here:-
          ftp://ftp.oqo.com/unsupported/linux/OQOLinux.htmlSigned-off-by: NJamie Lentin <jm@lentin.co.uk>
      Acked-by: NKalle Valo <kalle.valo@iki.fi>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      02a9a392