1. 07 11月, 2009 1 次提交
    • J
      Revert "ipw2200: fix oops on missing firmware" · 143d40f3
      John W. Linville 提交于
      This reverts commit e6c5fc53.
      
      Based on this regression report:
      
      Date: Thu, 05 Nov 2009 15:59:16 +0100
      From: Holger Schurig <holgerschurig@gmail.com>
      To: linux-wireless@vger.kernel.org
      Subject: BUG: oops when "rmmod ipw2200"
      
      This happened on wireless-testing v2.6.32-rc6-41575-g5e68bfb. I
      modprobed ipw2200, put it into monitor mode, used tshark a while to
      monitor, then I stopped tshark, "ifconfig eth2 down" and finally
      "rmmod ipw2200", and voila:
      
      [  917.189620] ------------[ cut here ]------------
      [  917.189717] kernel BUG at net/wireless/core.c:543!
      [  917.189805] invalid opcode: 0000 [#1] PREEMPT SMP
      [  917.190002] last sysfs file: /sys/devices/pci0000:00/0000:00:1e.0/0000:02:0d.0/firmware/0000:02:0d.0/loading
      [  917.190136] Modules linked in: lib80211_crypt_wep ipw2200(-) libipw lib80211 ath5k mac80211 ath cfg80211 psmouse uhci_hcd
      [  917.190680]
      [  917.190759] Pid: 1763, comm: rmmod Not tainted (2.6.32-rc6-wl #26) Amilo M1425
      [  917.190886] EIP: 0060:[<f8accf34>] EFLAGS: 00010202 CPU: 0
      [  917.190992] EIP is at wiphy_unregister+0xd3/0x175 [cfg80211]
      [  917.191083] EAX: f601d4c4 EBX: 00000000 ECX: 00000000 EDX: f79e8600
      [  917.191176] ESI: f601d400 EDI: f95b4350 EBP: f6009eb4 ESP: f6009e8c
      [  917.191269]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      [  917.191360] Process rmmod (pid: 1763, ti=f6008000 task=f79e8130 task.ti=f6008000)
      [  917.191486] Stack:
      [  917.191562]  f601d5a0 f601d484 f6460e98 f6009ea0 c01407ee f6009eb8 00000246 f64604c0
      [  917.191916] <0> f6460e5c f95b4350 f6009ec0 f94fd030 f6460e98 f6009edc f95a9d4f f787bc00
      [  917.192100] <0> f787bc58 f787bc00 f95b4350 f95b4350 f6009ee8 c0207fca f787bc58 f6009ef8
      [  917.192100] Call Trace:
      [  917.192100]  [<c01407ee>] ? trace_hardirqs_on+0xb/0xd
      [  917.192100]  [<f94fd030>] ? unregister_ieee80211+0xe/0x27 [libipw]
      [  917.192100]  [<f95a9d4f>] ? ipw_pci_remove+0x59/0x227 [ipw2200]
      [  917.192100]  [<c0207fca>] ? pci_device_remove+0x19/0x39
      [  917.192100]  [<c02b93a4>] ? __device_release_driver+0x59/0x9d
      [  917.192100]  [<c02b944f>] ? driver_detach+0x67/0x85
      [  917.192100]  [<c02b88d6>] ? bus_remove_driver+0x69/0x85
      [  917.192100]  [<c02b9878>] ? driver_unregister+0x4d/0x54
      [  917.192100]  [<c02081c3>] ? pci_unregister_driver+0x28/0x71
      [  917.192100]  [<f95a9cf4>] ? ipw_exit+0x1c/0x1e [ipw2200]
      [  917.192100]  [<c0148e2b>] ? sys_delete_module+0x192/0x1ef
      [  917.192100]  [<c0162cdb>] ? remove_vma+0x52/0x58
      [  917.192100]  [<c01028bb>] ? sysenter_exit+0xf/0x18
      [  917.192100]  [<c0102888>] ? sysenter_do_call+0x12/0x36
      [  917.192100] Code: 74 07 e8 81 bc 8c c7 eb c8 8d 55 e0 89 f8 e8 d6 6d 66 c7 8b 45 dc 31 d2 e8 81 cc 8c c7 8d 86 c4 00 00 00 39 86 c4 00 00 00 74 04 <0f> 0b eb fe 8b 45 dc 8d 5e 0c e8 5a cc 8c c7 8b 86 94 03 00 00
      [  917.192100] EIP: [<f8accf34>] wiphy_unregister+0xd3/0x175 [cfg80211] SS:ESP 0068:f6009e8c
      [  917.203718] ---[ end trace bcaaf449945a5100 ]---
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      143d40f3
  2. 05 11月, 2009 1 次提交
    • L
      rtl8187: Fix kernel oops when device is removed when LEDS enabled · 37b12dd2
      Larry Finger 提交于
      As reported by Rick Farina (sidhayn@gmail.com), removing the RTL8187
      USB stick, or unloading the driver rtl8187 using rmmod will cause a
      kernel oops.  There are at least two forms of the failure, (1) BUG:
      Scheduling while atomic, and (2) a fatal kernel page fault. This
      problem is reported in Bugzilla #14539.
      
      This problem does not occur for kernel 2.6.31, but does for 2.6.32-rc2,
      thus it is technically a regression; however, bisection did not locate
      any faulty patch. The fix was found by comparing the faulty code in
      rtl8187 with p54usb.  My interpretation is that the handling of work
      queues in mac80211 changed enough to the LEDs to be unregistered
      before tasks on the work queues are cancelled. Previously, these
      actions could be done in either order.
      
      (Herton Ronaldo Krzesinski <herton@mandriva.com.br> reports that the
      code is the same in 2.6.31, so this may be a candidate for 2.6.31.x.
      -- JWL)
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Reported-by: NRick Farina <sidhayn@gmail.com>
      Tested-by: NRick Farina <sidhayn@gmail.com>
      Cc: stable@kernel.org
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      37b12dd2
  3. 03 11月, 2009 3 次提交
  4. 31 10月, 2009 11 次提交
  5. 30 10月, 2009 8 次提交
  6. 29 10月, 2009 7 次提交
  7. 28 10月, 2009 9 次提交
    • M
      virtio-net: fix data corruption with OOM · 03f191ba
      Michael S. Tsirkin 提交于
      virtio net used to unlink skbs from send queues on error,
      but ever since 48925e37
      we do not do this. This causes guest data corruption and crashes
      with vhost since net core can requeue the skb or free it without
      it being taken off the list.
      
      This patch fixes this by queueing the skb after successful
      transmit.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      03f191ba
    • B
      sfc: Set ip_summed correctly for page buffers passed to GRO · 345056af
      Ben Hutchings 提交于
      Page buffers containing packets with an incorrect checksum or using a
      protocol not handled by hardware checksum offload were previously not
      passed to LRO.  The conversion to GRO changed this, but did not set
      the ip_summed value accordingly.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      345056af
    • M
      cnic: Fix L2CTX_STATUSB_NUM offset in context memory. · d0549382
      Michael Chan 提交于
      The BNX2_L2CTX_STATUSB_NUM definition needs to be changed to match
      the recent firmware update:
      
      commit 078b0735
      bnx2: Update firmware to 5.0.0.j3.
      
      Without the fix, bnx2 can crash intermittently in bnx2_rx_int() when
      iSCSI is enabled.
      Signed-off-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NBenjamin Li <benli@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d0549382
    • B
      MAINTAINERS: rt2x00 list is moderated · 83fc9c89
      Bartlomiej Zolnierkiewicz 提交于
      Cc: users@rt2x00.serialmonkey.com
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      83fc9c89
    • R
      airo: Reorder tests, check bounds before element · 30bd5726
      Roel Kluin 提交于
      Test whether index is within bounds before reading the element
      Signed-off-by: NRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      30bd5726
    • B
      mac80211: fix for incorrect sequence number on hostapd injected frames · 9b1ce526
      Björn Smedman 提交于
      When hostapd injects a frame, e.g. an authentication or association
      response, mac80211 looks for a suitable access point virtual interface
      to associate the frame with based on its source address. This makes it
      possible e.g. to correctly assign sequence numbers to the frames.
      
      A small typo in the ethernet address comparison statement caused a
      failure to find a suitable ap interface. Sequence numbers on such
      frames where therefore left unassigned causing some clients
      (especially windows-based 11b/g clients) to reject them and fail to
      authenticate or associate with the access point. This patch fixes the
      typo in the address comparison statement.
      Signed-off-by: NBjörn Smedman <bjorn.smedman@venatech.se>
      Reviewed-by: NJohannes Berg <johannes@sipsolutions.net>
      Cc: stable@kernel.org
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9b1ce526
    • H
      libertas spi: fix sparse errors · d18ba452
      Holger Schurig 提交于
      This fixes the following sparse warnings:
      
      $ make modules SUBDIRS=drivers/net/wireless/libertas C=1 CF=-D__CHECK_ENDIAN__
      make: Entering directory `/usr/src/linux-wl'
        CHECK   drivers/net/wireless/libertas/if_spi.c
      drivers/net/wireless/libertas/if_spi.c:137:16: warning: incorrect type in initializer (different base types)
      drivers/net/wireless/libertas/if_spi.c:137:16:    expected unsigned short [unsigned] [usertype] reg_out
      drivers/net/wireless/libertas/if_spi.c:137:16:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:191:16: warning: incorrect type in initializer (different base types)
      drivers/net/wireless/libertas/if_spi.c:191:16:    expected unsigned short [unsigned] [usertype] reg_out
      drivers/net/wireless/libertas/if_spi.c:191:16:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:256:24: warning: incorrect type in argument 1 (different base types)
      drivers/net/wireless/libertas/if_spi.c:256:24:    expected restricted __le32 const [usertype] *p
      drivers/net/wireless/libertas/if_spi.c:256:24:    got unsigned int *<noident>
      drivers/net/wireless/libertas/if_spi.c:243:24: warning: incorrect type in argument 1 (different base types)
      drivers/net/wireless/libertas/if_spi.c:243:24:    expected restricted __le16 const [usertype] *p
      drivers/net/wireless/libertas/if_spi.c:243:24:    got unsigned short *<noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:243:24: warning: incorrect type in argument 1 (different base types)
      drivers/net/wireless/libertas/if_spi.c:243:24:    expected restricted __le16 const [usertype] *p
      drivers/net/wireless/libertas/if_spi.c:243:24:    got unsigned short *<noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:243:24: warning: incorrect type in argument 1 (different base types)
      drivers/net/wireless/libertas/if_spi.c:243:24:    expected restricted __le16 const [usertype] *p
      drivers/net/wireless/libertas/if_spi.c:243:24:    got unsigned short *<noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:243:24: warning: incorrect type in argument 1 (different base types)
      drivers/net/wireless/libertas/if_spi.c:243:24:    expected restricted __le16 const [usertype] *p
      drivers/net/wireless/libertas/if_spi.c:243:24:    got unsigned short *<noident>
      drivers/net/wireless/libertas/if_spi.c:243:24: warning: incorrect type in argument 1 (different base types)
      drivers/net/wireless/libertas/if_spi.c:243:24:    expected restricted __le16 const [usertype] *p
      drivers/net/wireless/libertas/if_spi.c:243:24:    got unsigned short *<noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:171:7: warning: incorrect type in assignment (different base types)
      drivers/net/wireless/libertas/if_spi.c:171:7:    expected unsigned short [unsigned] [usertype] buff
      drivers/net/wireless/libertas/if_spi.c:171:7:    got restricted __le16 [usertype] <noident>
      drivers/net/wireless/libertas/if_spi.c:243:24: warning: incorrect type in argument 1 (different base types)
      drivers/net/wireless/libertas/if_spi.c:243:24:    expected restricted __le16 const [usertype] *p
      drivers/net/wireless/libertas/if_spi.c:243:24:    got unsigned short *<noident>
      Signed-off-by: NHolger Schurig <hs4233@mail.mn-solutions.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d18ba452
    • A
      mac80211: trivial: fix spelling in mesh_hwmp · f99288d1
      Andrey Yurovsky 提交于
      Fix a typo in the description of hwmp_route_info_get(), no function
      changes.
      Signed-off-by: NAndrey Yurovsky <andrey@cozybit.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f99288d1
    • J
      cfg80211: sme: deauthenticate on assoc failure · 7d930bc3
      Johannes Berg 提交于
      When the in-kernel SME gets an association failure from
      the AP we don't deauthenticate, and thus get into a very
      confused state which will lead to warnings later on. Fix
      this by actually deauthenticating when the AP indicates
      an association failure.
      
      (Brought to you by the hacking session at Kernel Summit 2009 in Tokyo,
      Japan. -- JWL)
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7d930bc3