1. 23 1月, 2009 3 次提交
    • P
      orinoco: use KERN_DEBUG for link status messages · 11eaea41
      Pavel Roskin 提交于
      KERN_INFO is too "loud" for messages that are generated by the ordinary
      events, such as accociation.  Use of KERN_DEBUG is consistent with
      mac80211.
      
      Suggested by Michael Gilbert <michael.s.gilbert@gmail.com>
      Signed-off-by: NPavel Roskin <proski@gnu.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      11eaea41
    • I
      rt2x00: Fix TX rate short preamble detection · 7490889c
      Ivo van Doorn 提交于
      Mac80211 provides 2 structures to handle bitrates, namely
      ieee80211_rate and ieee80211_tx_rate. To determine the short preamble
      mode for an outgoing frame, the flag IEEE80211_TX_RC_USE_SHORT_PREAMBLE
      must be checked on ieee80211_tx_rate and not ieee80211_rate (which rt2x00 did).
      
      This fixes a regression which was triggered in 2.6.29-rcX as reported by Chris Clayton.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Tested-By: NChris Clayton <chris2553@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7490889c
    • A
      orinoco: move kmalloc(..., GFP_KERNEL) outside spinlock in orinoco_ioctl_set_genie · 7fe99c4e
      Andrey Borzenkov 提交于
      [   56.923623] BUG: sleeping function called from invalid context at /home/bor/src/linux-git/mm/slub.c:1599
      [   56.923644] in_atomic(): 0, irqs_disabled(): 1, pid: 3031, name: wpa_supplicant
      [   56.923656] 2 locks held by wpa_supplicant/3031:
      [   56.923662]  #0:  (rtnl_mutex){--..}, at: [<c02abd1f>] rtnl_lock+0xf/0x20
      [   56.923703]  #1:  (&priv->lock){++..}, at: [<dfc840c2>] orinoco_ioctl_set_genie+0x52/0x130 [orinoco]
      [   56.923782] irq event stamp: 910
      [   56.923788] hardirqs last  enabled at (909): [<c01957db>] __kmalloc+0x7b/0x140
      [   56.923820] hardirqs last disabled at (910): [<c0309419>] _spin_lock_irqsave+0x19/0x80
      [   56.923847] softirqs last  enabled at (880): [<c0124f54>] __do_softirq+0xc4/0x110
      [   56.923865] softirqs last disabled at (871): [<c01049ae>] do_softirq+0x8e/0xe0
      [   56.923895] Pid: 3031, comm: wpa_supplicant Not tainted 2.6.29-rc2-1avb #1
      [   56.923905] Call Trace:
      [   56.923919]  [<c01049ae>] ? do_softirq+0x8e/0xe0
      [   56.923941]  [<c011ad12>] __might_sleep+0xd2/0x100
      [   56.923952]  [<c0195837>] __kmalloc+0xd7/0x140
      [   56.923963]  [<c030946a>] ? _spin_lock_irqsave+0x6a/0x80
      [   56.923981]  [<dfc840e9>] ? orinoco_ioctl_set_genie+0x79/0x130 [orinoco]
      [   56.923999]  [<dfc840c2>] ? orinoco_ioctl_set_genie+0x52/0x130 [orinoco]
      [   56.924017]  [<dfc840e9>] orinoco_ioctl_set_genie+0x79/0x130 [orinoco]
      [   56.924036]  [<c0209325>] ? copy_from_user+0x35/0x130
      [   56.924061]  [<c02ffd96>] ioctl_standard_call+0x196/0x380
      [   56.924085]  [<c029f945>] ? __dev_get_by_name+0x85/0xb0
      [   56.924096]  [<c02ff88f>] wext_handle_ioctl+0x14f/0x230
      [   56.924113]  [<dfc84070>] ? orinoco_ioctl_set_genie+0x0/0x130 [orinoco]
      [   56.924132]  [<c02a3da5>] dev_ioctl+0x495/0x570
      [   56.924155]  [<c0293e05>] ? sys_sendto+0xa5/0xd0
      [   56.924171]  [<c0142fe8>] ? mark_held_locks+0x48/0x90
      [   56.924183]  [<c0292880>] ? sock_ioctl+0x0/0x280
      [   56.924193]  [<c029297d>] sock_ioctl+0xfd/0x280
      [   56.924203]  [<c0292880>] ? sock_ioctl+0x0/0x280
      [   56.924235]  [<c01a51d0>] vfs_ioctl+0x20/0x80
      [   56.924246]  [<c01a53e2>] do_vfs_ioctl+0x72/0x570
      [   56.924257]  [<c0293e62>] ? sys_send+0x32/0x40
      [   56.924268]  [<c02947c0>] ? sys_socketcall+0x1d0/0x2a0
      [   56.924280]  [<c010339f>] ? sysenter_exit+0xf/0x16
      [   56.924292]  [<c01a5919>] sys_ioctl+0x39/0x70
      [   56.924302]  [<c0103371>] sysenter_do_call+0x12/0x31
      Signed-off-by: NAndrey Borzenkov <arvidjaar@mail.ru>
      Cc: stable@kernel.org
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7fe99c4e
  2. 22 1月, 2009 2 次提交
  3. 21 1月, 2009 2 次提交
  4. 20 1月, 2009 27 次提交
  5. 17 1月, 2009 6 次提交
    • C
      p54: fix p54_set_key's return code · 67474303
      Christian Lamparter 提交于
      p54 doesn't support AES-128-CMAC offload.
      
      This patch will fix the noisy mac80211 warnings, when 802.11w is enabled:
      mac80211-phy189: failed to set key (4, ff:ff:ff:ff:ff:ff) to hardware (-22)
      mac80211-phy189: failed to set key (5, ff:ff:ff:ff:ff:ff) to hardware (-22)
      Signed-off-by: NChristian Lamparter <chunkeey@web.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      67474303
    • A
      p54: set_tim must be atomic. · 27571908
      Artur Skawina 提交于
      Fix for:
      
      BUG: scheduling while atomic: named/2004/0x10000200
      Pid: 2004, comm: named Not tainted 2.6.29-rc1-00271-ge9fa6b0 #45
      Call Trace:
       [<c04d4ef7>] schedule+0x2a7/0x320
       [<c03aed74>] __alloc_skb+0x34/0x110
       [<c011f5b3>] __cond_resched+0x13/0x30
       [<c04d501d>] _cond_resched+0x2d/0x40
       [<c016d8c5>] kmem_cache_alloc+0x95/0xc0
       [<c016b8d4>] check_object+0xc4/0x230
       [<c03aed74>] __alloc_skb+0x34/0x110
       [<c02ede91>] p54_alloc_skb+0x71/0xf0
       [<c02ee36f>] p54_set_tim+0x3f/0xa0
       [<c04ae064>] sta_info_set_tim_bit+0x64/0x80
       [<c04c1017>] invoke_tx_handlers+0xd57/0xd80
       [<c016c397>] free_debug_processing+0x197/0x210
       [<c03ae215>] pskb_expand_head+0xf5/0x170
       [<c04bfd94>] __ieee80211_tx_prepare+0x164/0x2f0
       [<c04c1a8d>] ieee80211_skb_resize+0x6d/0xe0
       [<c04c250f>] ieee80211_master_start_xmit+0x23f/0x550
       [<c016d188>] __slab_alloc+0x2b8/0x4f0
       [<c013a711>] getnstimeofday+0x51/0x120
       [<c03b5e7b>] dev_hard_start_xmit+0x1db/0x240
       [<c03c6a4b>] __qdisc_run+0x1ab/0x200
       [<c0136aa1>] __run_hrtimer+0x31/0xf0
       [<c03b6247>] dev_queue_xmit+0x247/0x500
       [<c04c1e56>] ieee80211_subif_start_xmit+0x356/0x7d0
       [<c0466ff7>] packet_rcv_spkt+0x37/0x150
       [<c0466ff7>] packet_rcv_spkt+0x37/0x150
       [<c03b5e7b>] dev_hard_start_xmit+0x1db/0x240
       [<c03c6a4b>] __qdisc_run+0x1ab/0x200
       [<c03b6247>] dev_queue_xmit+0x247/0x500
       [<c03bc1e2>] neigh_resolve_output+0xe2/0x200
       [<c0410080>] ip_finish_output+0x0/0x290
       [<c0410267>] ip_finish_output+0x1e7/0x290
       [<c040f355>] ip_local_out+0x15/0x20
       [<c040f5d2>] ip_push_pending_frames+0x272/0x380
       [<c042bbc6>] udp_push_pending_frames+0x146/0x3a0
       [<c042d52a>] udp_sendmsg+0x2fa/0x6b0
       [<c0433bc7>] inet_sendmsg+0x37/0x70
       [<c03a7b7e>] sock_sendmsg+0xbe/0x100
       [<c0133cd0>] autoremove_wake_function+0x0/0x50
       [<c011c043>] __wake_up_common+0x43/0x70
       [<c024a892>] copy_from_user+0x32/0x130
       [<c024a892>] copy_from_user+0x32/0x130
       [<c03b001e>] verify_iovec+0x2e/0xb0
       [<c03a7d3f>] sys_sendmsg+0x17f/0x290
       [<c017730a>] pipe_write+0x29a/0x570
       [<c013a172>] update_wall_time+0x492/0x8e0
       [<c013a711>] getnstimeofday+0x51/0x120
       [<c011b05d>] sched_slice+0x3d/0x80
       [<c013a711>] getnstimeofday+0x51/0x120
       [<c0136657>] hrtimer_forward+0x147/0x1a0
       [<c01101b0>] lapic_next_event+0x10/0x20
       [<c013ccb3>] clockevents_program_event+0xa3/0x170
       [<c03a9054>] sys_socketcall+0xa4/0x290
       [<c0110920>] smp_apic_timer_interrupt+0x40/0x70
       [<c0103165>] sysenter_do_call+0x12/0x25
      Signed-off-by: NArtur Skawina <art.08.09@gmail.com>
      Acked-by: NChristian Lamparter <chunkeey@web.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      27571908
    • R
      rt2x00: fix a wrong parameter for __test_and_clear_bit() in rt2x00rfkill_free(). · e223b6dc
      Rami Rosen 提交于
      When running modprobe rt73usb, and then rmmod rt73usb, and then
      iwconfig, the wlan0 device does not disappear. When repeating this
      process again, we get a kernel Oops errors and "BUG: unable to handle
      kernel paging request..." message in the kernel log.
      
      The reason for this is that there is an error in rt2x00rfkill_free(),
      which is called in the process of removing the device
      (rt2x00lib_remove_dev() in rt2x00dev.c).
      rt2x00rfkill_free() clears the RFKILL_STATE_ALLOCATED bit , which is
      bit number 1 () in rt2x00dev->flags instead of in
      rt2x00dev->rfkill_state. As a result, when checking the
      DEVICE_STATE_REGISTERED_HW bit (bit number 1 in rt2x00dev->flags) in
      rt2x00lib_remove_hw() it is **unset**, and we wrongly **don't** call
      ieee80211_unregister_hw().
      
      This patch corrects this: the parameter for __test_and_clear_bit() in
      rt2x00rfkill_free() should be &rt2x00dev->rfkill_state and not
      &rt2x00dev->flags.
      Signed-off-by: NRami Rosen <ramirose@gmail.com>
      Acked-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e223b6dc
    • Z
      iwlwifi: remove CMD_WANT_SKB flag if send_cmd_sync failure · 73e1a65d
      Zhu Yi 提交于
      In function iwl_send_cmd_sync(), if the flag CMD_WANT_SKB is set but
      we are not provided with a valid SKB (cmd->meta.u.skb == NULL), we need
      to remove the CMD_WANT_SKB flag from the TX cmd queue. Otherwise in case
      the cmd comes in later, it will possibly set an invalid address. Thus
      it causes an invalid memory access.
      
      This fixed the bug http://bugzilla.kernel.org/show_bug.cgi?id=11326.
      Signed-off-by: NZhu Yi <yi.zhu@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      73e1a65d
    • J
      ath9k: Fix an operator typo in REG_DOMAIN_2GHZ_MASK · 9d97f2e5
      Jouni Malinen 提交于
      Incorrect operator causes the REG_DOMAIN_2GHZ_MASK to be zero which
      surely was not the goal of this definition. Mask out the 11a flags
      correctly.
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9d97f2e5
    • J
      ath9k: Fix an operator typo in phy rate validation · b657eade
      Jouni Malinen 提交于
      This was not supposed to be a bitwise AND operation, but a check of
      two separate conditions. Anyway, the old code happened to result in
      the same behavior, so this is just changing the code to be easier to
      understand and also to keep sparse from warning about dubious
      operators.
      Signed-off-by: NJouni Malinen <jouni.malinen@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b657eade