1. 15 Nov, 2010 3 commits
    • Christian Lamparter's avatar
      carl9170: fix usb anchor wait timeout · dfa31fef
      Christian Lamparter authored
      usb_wait_anchor_empty_timeout's @timeout
      wants milliseconds and not jiffies.
      Signed-off-by: default avatarChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      dfa31fef
    • Jussi Kivilinna's avatar
      cfg80211: fix WIPHY_FLAG_IBSS_RSN bit · 309075cf
      Jussi Kivilinna authored
      WIPHY_FLAG_IBSS_RSN is BIT(7) as is WIPHY_FLAG_CONTROL_PORT_PROTOCOL. Change
      to BIT(8).
      Signed-off-by: default avatarJussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Acked-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      309075cf
    • Arnd Hannemann's avatar
      b43legacy: Fix compile on ARM architecture · 62370e2b
      Arnd Hannemann authored
      When b43legacy is compiled on the arm platform, the following errors are seen:
      
        CC [M]  drivers/net/wireless/b43legacy/xmit.o
      In file included from include/net/dst.h:11,
      from drivers/net/wireless/b43legacy/xmit.c:31:
      include/net/dst_ops.h:28: error: expected ':', ',', ';', '}' or '__attribute__'
         before '____cacheline_aligned_in_smp'
      include/net/dst_ops.h: In function 'dst_entries_get_fast':
      include/net/dst_ops.h:33: error: 'struct dst_ops' has no member named
         'pcpuc_entries'
      include/net/dst_ops.h: In function 'dst_entries_get_slow':
      include/net/dst_ops.h:41: error: 'struct dst_ops' has no member named
         'pcpuc_entries'
      include/net/dst_ops.h: In function 'dst_entries_add':
      include/net/dst_ops.h:49: error: 'struct dst_ops' has no member named
         'pcpuc_entries'
      include/net/dst_ops.h: In function 'dst_entries_init':
      include/net/dst_ops.h:55: error: 'struct dst_ops' has no member named
         'pcpuc_entries'
      include/net/dst_ops.h: In function 'dst_entries_destroy':
      include/net/dst_ops.h:60: error: 'struct dst_ops' has no member named
         'pcpuc_entries'
      make[4]: *** [drivers/net/wireless/b43legacy/xmit.o] Error 1
      make[3]: *** [drivers/net/wireless/b43legacy] Error 2
      make[2]: *** [drivers/net/wireless] Error 2
      make[1]: *** [drivers/net] Error 2
      make: *** [drivers] Error 2
      
      The cause is a missing include of <linux/cache.h>, which is present for
      i386 and x86_64 architectures, but not for arm.
      Signed-off-by: default avatarArnd Hannemann <arnd@arndnet.de>
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@kernel.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      62370e2b
  2. 09 Nov, 2010 8 commits
    • Wey-Yi Guy's avatar
      iwlwifi: dont use pci_dev before it being assign · 7379efea
      Wey-Yi Guy authored
      In order to use build-in debugging macro, pci_dev in priv need to be
      assigned first.
      
      This fix iwl3945 driver oopsed at boot with 2.6.37-rc1
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      7379efea
    • Edgar (gimli) Hucek's avatar
      Bluetooth: Add MacBookAir3,1(2) support · 3e3ede7d
      Edgar (gimli) Hucek authored
      Adding the new MacBookAir3,1(2) to btusb.
      
      Output without the patch and btusb loaded :
      
      T:  Bus=03 Lev=02 Prnt=03 Port=02 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
      D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=05ac ProdID=821b Rev= 0.34
      S:  Manufacturer=Apple Inc.
      S:  Product=Bluetooth USB Host Controller
      C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=  0mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=(none)
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  32 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  32 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
      
      Output with the patch and btusb loaded :
      
      T:  Bus=03 Lev=02 Prnt=03 Port=02 Cnt=01 Dev#=  6 Spd=12  MxCh= 0
      D:  Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
      P:  Vendor=05ac ProdID=821b Rev= 0.34
      S:  Manufacturer=Apple Inc.
      S:  Product=Bluetooth USB Host Controller
      C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=  0mA
      I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
      E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
      E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
      I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
      I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  32 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  32 Ivl=1ms
      I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
      E:  Ad=83(I) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      E:  Ad=03(O) Atr=01(Isoc) MxPS=  64 Ivl=1ms
      I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS=  32 Ivl=0ms
      I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
      Signed-off-by: default avatarEdgar (gimli) Hucek <gimli@dark-green.com>
      Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      3e3ede7d
    • Luiz Augusto von Dentz's avatar
      Bluetooth: fix not setting security level when creating a rfcomm session · 63ce0900
      Luiz Augusto von Dentz authored
      This cause 'No Bonding' to be used if userspace has not yet been paired
      with remote device since the l2cap socket used to create the rfcomm
      session does not have any security level set.
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.dentz-von@nokia.com>
      Acked-by: default avatarVille Tervo <ville.tervo@nokia.com>
      Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      63ce0900
    • Gustavo F. Padovan's avatar
      Bluetooth: fix endianness conversion in L2CAP · 4f8b691c
      Gustavo F. Padovan authored
      Last commit added a wrong endianness conversion. Fixing that.
      Reported-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      4f8b691c
    • steven miao's avatar
      Bluetooth: fix unaligned access to l2cap conf data · bfaaeb3e
      steven miao authored
      In function l2cap_get_conf_opt() and l2cap_add_conf_opt() the address of
      opt->val sometimes is not at the edge of 2-bytes/4-bytes, so 2-bytes/4 bytes
      access will cause data misalignment exeception.  Use get_unaligned_le16/32
      and put_unaligned_le16/32 function to avoid data misalignment execption.
      Signed-off-by: default avatarsteven miao <realmz6@gmail.com>
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      bfaaeb3e
    • Matthew Garrett's avatar
      Bluetooth: Enable USB autosuspend by default on btusb · 556ea928
      Matthew Garrett authored
      We've done this for a while in Fedora without any obvious problems other
      than some interaction with input devices. Those should be fixed now, so
      let's try this in mainline.
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      556ea928
    • Johan Hedberg's avatar
      Bluetooth: Fix non-SSP auth request for HIGH security level sockets · bdb7524a
      Johan Hedberg authored
      When initiating dedicated bonding a L2CAP raw socket with HIGH security
      level is used. The kernel is supposed to trigger the authentication
      request in this case but this doesn't happen currently for non-SSP
      (pre-2.1) devices. The reason is that the authentication request happens
      in the remote extended features callback which never gets called for
      non-SSP devices. This patch fixes the issue by requesting also
      authentiation in the (normal) remote features callback in the case of
      non-SSP devices.
      
      This rule is applied only for HIGH security level which might at first
      seem unintuitive since on the server socket side MEDIUM is already
      enough for authentication. However, for the clients we really want to
      prefer the server side to decide the authentication requrement in most
      cases, and since most client sockets use MEDIUM it's better to be
      avoided on the kernel side for these sockets. The important socket to
      request it for is the dedicated bonding one and that socket uses HIGH
      security level.
      
      The patch is based on the initial investigation and patch proposal from
      Andrei Emeltchenko <endrei.emeltchenko@nokia.com>.
      Signed-off-by: default avatarJohan Hedberg <johan.hedberg@nokia.com>
      Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      bdb7524a
    • Randy Dunlap's avatar
      Bluetooth: fix hidp kconfig dependency warning · 96c99b47
      Randy Dunlap authored
      Fix kconfig dependency warning to satisfy dependencies:
      
      warning: (BT_HIDP && NET && BT && BT_L2CAP && INPUT || USB_HID && HID_SUPPORT && USB && INPUT) selects HID which has unmet direct dependencies (HID_SUPPORT && INPUT)
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Acked-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
      96c99b47
  3. 08 Nov, 2010 12 commits
    • Rajkumar Manoharan's avatar
      ath9k_hw: Fix memory leak on ath9k_hw_rf_alloc_ext_banks failure · 48a7c3df
      Rajkumar Manoharan authored
      The allocated externel radio banks have to be freed in
      case of ath9k_hw_rf_alloc_ext_banks failure.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarRajkumar Manoharan <rmanoharan@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      48a7c3df
    • Rajkumar Manoharan's avatar
      ath9k_htc: Fix probe failure if CONFIG_USB_DEBUG enabled · 490b3f4e
      Rajkumar Manoharan authored
      Since the endpoint descriptors (EP3 & EP4) were changed from Interrupt
      to Bulk type by firmware, the urb submission done on Bulk pipes.
      And the recent commit "check the endpoint type against the pipe type"
      added aditional error checking against pipe types under CONFIG_USB_DEBUG.
      
      So bmAttribute has to be updated for both EP3 & EP4 before submitting
      urbs on that pipe. This patch resolves the following failure.
      
      [ 2215.710936] usb 1-1: usb_probe_device
      [ 2215.710945] usb 1-1: configuration #1 chosen from 1 choice
      [ 2215.711152] usb 1-1: adding 1-1:1.0 (config #1, interface 0)
      [ 2215.711252] ath9k_hif_usb 1-1:1.0: usb_probe_interface
      [ 2215.711255] ath9k_hif_usb 1-1:1.0: usb_probe_interface - got id
      [ 2215.712780] usb 1-1: BOGUS urb xfer, pipe 3 != type 1
      [ 2215.713782] usb 1-1: ath9k_htc: Unable to allocate URBs
      [ 2215.713801] ath9k_hif_usb: probe of 1-1:1.0 failed with error -22
      Reported-by: default avatarMing Lei <tom.leiming@gmail.com>
      Signed-off-by: default avatarRajkumar Manoharan <rmanoharan@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      490b3f4e
    • Haitao Zhang's avatar
      ath9k_htc: Add support for device ID 3346 · ac618d70
      Haitao Zhang authored
      This patch adds support for USB dongle with device ID 3346 from IMC Networks.
      Signed-off-by: default avatarHaitao Zhang <minipanda@linuxrobot.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      ac618d70
    • Vasanthakumar Thiagarajan's avatar
      ath9k_hw: Fix AR9280 surprise removal during frequent idle on/off · f119da30
      Vasanthakumar Thiagarajan authored
      Bit 22 of AR_WA should be set to fix the situation where chip reset
      is asynchronous to clock of analog shift registers, such that when
      reset is released, it could mess up the values of analog shift registers
      and cause some hw issue on AR9280.
      
      This bit is write only, but the driver does a read-modify-write
      on AR_WA without setting bit 22 in ar9002_hw_configpcipowersave()
      during radio disable. This causes surprise removal of hw. It can
      never recover from this state and the hw will become usable only
      after a power on/off cycle, and sometimes only during a cold reboot.
      
      This issue can be triggered by doing frequent roaming with the
      simple/test-roam script available from the wifi-test project [1]
      when roaming between APs quickly. When roaming there is a is a high
      possibility that the device being put into idle (radio disable) state
      by mac80211 during AUTH->ASSOC. A device hardware reset would fail
      and the kernel would output:
      
      [40251.363799] ath: AWAKE -> FULL-SLEEP
      [40251.363815] ieee80211 phy17: device no longer idle - working
      [40251.363817] ath: Marking phy17 as not-idle
      [40251.363819] ath: FULL-SLEEP -> AWAKE
      [40251.415978] pciehp 0000:00:1c.3:pcie04: Card not present on Slot(3)
      [40251.419896] ath: ah->misc_mode 0x4
      [40251.428138] pciehp 0000:00:1c.3:pcie04: Card present on Slot(3)
      [40251.532247] ath: timeout (100000 us) on reg 0x9860: 0xffffffff & 0x00000001 != 0x00000000
      [40251.532250] ath: Unable to reset channel (2462 MHz), reset status -5
      [40251.532422] ath: Set channel: 5745 MHz
      [40251.540639] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.548826] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.557023] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.565211] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.573415] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.581603] ath: Failed to stop TX DMA in 100 msec after killing last frame
      [40251.581606] ath: Failed to stop TX DMA. Resetting hardware!
      [40251.592679] ath: DMA failed to stop in 10 ms AR_CR=0xffffffff AR_DIAG_SW=0xffffffff
      [40251.703330] ath: timeout (100000 us) on reg 0x7000: 0xffffffff & 0x00000003 != 0x00000000
      [40251.703333] ath: RTC stuck in MAC reset
      [40251.703334] ath: Chip reset failed
      [40251.703335] ath: Unable to reset hardware; reset status -22
      
      This is currently only reproducible with some HB92 (Half Mini-PCIE)
      cards but the fix applies to all AR9280 cards. This patch fixes this
      issue by setting bit 22 during radio disable.
      
      This patch has fixes for all kernels that has ath9k.
      
      [1] http://wireless.kernel.org/en/developers/Testing/wifi-test
      
      Cc: kyungwan.nam@atheros.com
      Cc: amod.bodas@atheros.com
      Cc: david.quan@atheros.com
      Cc: stable@kernel.org
      Signed-off-by: default avatarVasanthakumar Thiagarajan <vasanth@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f119da30
    • Daniel Drake's avatar
      libertas: terminate scan when stopping interface · 2e30168b
      Daniel Drake authored
      There are currently no provisions in place to ensure that the scanning
      task has been stopped when the interface is stopped or removed.
      
      This can result in a WARNING at net/wireless/core.c:643 and other badness
      when you remove the module while a scan is happening.
      
      Terminate the scanning task during interface stop.
      Signed-off-by: default avatarDaniel Drake <dsd@laptop.org>
      Acked-by: default avatarDan Williams <dcbw@redhat.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      2e30168b
    • Brian Cavagnolo's avatar
      mac80211: unset SDATA_STATE_OFFCHANNEL when cancelling a scan · 352ffad6
      Brian Cavagnolo authored
      For client STA interfaces, ieee80211_do_stop unsets the relevant
      interface's SDATA_STATE_RUNNING state bit prior to cancelling an
      interrupted scan.  When ieee80211_offchannel_return is invoked as
      part of cancelling the scan, it doesn't bother unsetting the
      SDATA_STATE_OFFCHANNEL bit because it sees that the interface is
      down.  Normally this doesn't matter because when the client STA
      interface is brought back up, it will probably issue a scan.  But
      in some cases (e.g., the user changes the interface type while it
      is down), the SDATA_STATE_OFFCHANNEL bit will remain set.  This
      prevents the interface queues from being started.  So we
      cancel the scan before unsetting the SDATA_STATE_RUNNING bit.
      Signed-off-by: default avatarBrian Cavagnolo <brian@cozybit.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      352ffad6
    • Felix Fietkau's avatar
      ath9k: check old power mode before clearing cycle counters · fbb078fc
      Felix Fietkau authored
      ath9k_ps_wakeup() clears the cycle counters after waking up the
      hardware using ath9k_hw_setpower, however if power save is disabled,
      then the counters will contain useful data, which then gets discarded.
      Fix this by checking the old power mode before discarding any data.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      fbb078fc
    • Felix Fietkau's avatar
      cfg80211: fix a crash in dev lookup on dump commands · 3cc25e51
      Felix Fietkau authored
      IS_ERR and PTR_ERR were called with the wrong pointer, leading to a
      crash when cfg80211_get_dev_from_ifindex fails.
      Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
      Acked-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3cc25e51
    • Christian Lamparter's avatar
      carl9170: usbid table updates · 8df86db9
      Christian Lamparter authored
      This patch includes the following updates:
       * add D-Link DWA-130 Rev D
       * Netgear has three WNDA3100 versions.
         the original WNDA3100 is now called WNDA3100v1.
      Signed-off-by: default avatarChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      8df86db9
    • Vivek Natarajan's avatar
      ath9k: Fix a DMA latency issue for Intel Pinetrail platforms. · 10598c12
      Vivek Natarajan authored
      Throughput was severely affected in Intel Pinetrail platforms
      because of a DMA problem in C3 state. This patch fixes this
      issue.
      Signed-off-by: default avatarVivek Natarajan <vnatarajan@atheros.com>
      CC: Johannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      10598c12
    • Rajkumar Manoharan's avatar
      ath9k: Avoid HW opmode overridden on monitor mode changes · 5f841b41
      Rajkumar Manoharan authored
      The HW opmode is blindly set to monitor type on monitor mode
      change notification. This overrides the opmode when one of the
      interfaces is still running as non-monitor iftype. So the monitoring
      information needs to be maintained seperately.
      Signed-off-by: default avatarRajkumar Manoharan <rmanoharan@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      5f841b41
    • Linus Torvalds's avatar
      libipw: fix proc entry removal · 269e2d77
      Linus Torvalds authored
      This bug seems to be due to commit 27ae60f8 ("ipw2x00: replace
      "ieee80211" with "libipw" where appropriate"), where Pavel did this:
      
      -       libipw_proc = proc_mkdir(DRV_NAME, init_net.proc_net);
      +       libipw_proc = proc_mkdir("ieee80211", init_net.proc_net);
      
      but then the cleanup was kept as
      
              remove_proc_entry(DRV_NAME, init_net.proc_net);
      
      in both places (both in the failure case and in the unload case). The
      error string is also total crap, and says
      
           "Unable to create " DRV_NAME " proc directory\n");
      
      Even though it doesn't actually create a proc directory named DRV_NAME at all.
      
      So that patch looks like total and utter crap to me. The commit message says
      
        "Keep /proc/net/ieee80211 under the original name to avoid breaking user
          interface."
      
      but the thing is, it really didn't fix anything but that one create
      thing. It needs to fix all the other cases too.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Tested-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      269e2d77
  4. 29 Oct, 2010 4 commits
    • Larry Finger's avatar
      b43: Fix warning at drivers/mmc/core/core.c:237 in mmc_wait_for_cmd · 9f2a0fac
      Larry Finger authored
      On module removal, the sdio version of b43 generates the following warning:
      
      [  851.560519] ------------[ cut here ]------------
      [  851.560531] WARNING: at drivers/mmc/core/core.c:237 mmc_wait_for_cmd+0x88/0x90()
      [  851.560534] Hardware name: 20552PG
      [  851.560536] Modules linked in: b43(-) ssb mmc_block binfmt_misc rfcomm sco bnep ppdev l2cap ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_tcpudp iptable_filter ip_tables x_tables bridge stp kvm_intel kvm arc4 iwlagn snd_hda_codec_conexant snd_hda_intel snd_hda_codec iwlcore snd_hwdep snd_pcm thinkpad_acpi mac80211 snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq r852 joydev snd_timer sm_common pcmcia nand snd_seq_device cfg80211 sdhci_pci btusb psmouse tpm_tis yenta_socket nand_ids lp snd pcmcia_rsrc nand_ecc bluetooth sdhci tpm pcmcia_core parport mtd snd_page_alloc serio_raw tpm_bios soundcore nvram led_class sha256_generic aes_i586 aes_generic dm_crypt i915 drm_kms_helper drm ahci intel_agp i2c_algo_bit intel_gtt e1000e libahci video agpgart output
      [  851.560620] Pid: 2504, comm: rmmod Not tainted 2.6.36-titan0+ #1
      [  851.560622] Call Trace:
      [  851.560631]  [<c014a102>] warn_slowpath_common+0x72/0xa0
      [  851.560636]  [<c04d94c8>] ? mmc_wait_for_cmd+0x88/0x90
      [  851.560641]  [<c04d94c8>] ? mmc_wait_for_cmd+0x88/0x90
      [  851.560645]  [<c014a152>] warn_slowpath_null+0x22/0x30
      [  851.560649]  [<c04d94c8>] mmc_wait_for_cmd+0x88/0x90
      [  851.560655]  [<c0401585>] ? device_release+0x25/0x80
      [  851.560660]  [<c04df210>] mmc_io_rw_direct_host+0xa0/0x150
      [  851.560665]  [<c04df370>] mmc_io_rw_direct+0x30/0x40
      [  851.560669]  [<c04e06e7>] sdio_disable_func+0x37/0xa0
      [  851.560683]  [<f8dfcb80>] b43_sdio_remove+0x30/0x50 [b43]
      [  851.560687]  [<c04df8cc>] sdio_bus_remove+0x1c/0x60
      [  851.560692]  [<c016d39f>] ? blocking_notifier_call_chain+0x1f/0x30
      [  851.560697]  [<c0404991>] __device_release_driver+0x51/0xb0
      [  851.560701]  [<c0404a7f>] driver_detach+0x8f/0xa0
      [  851.560705]  [<c0403c83>] bus_remove_driver+0x63/0xa0
      [  851.560709]  [<c0405039>] driver_unregister+0x49/0x80
      [  851.560713]  [<c0405039>] ? driver_unregister+0x49/0x80
      [  851.560718]  [<c04dfad7>] sdio_unregister_driver+0x17/0x20
      [  851.560727]  [<f8dfcb42>] b43_sdio_exit+0x12/0x20 [b43]
      [  851.560734]  [<f8dfe76f>] b43_exit+0x17/0x3c [b43]
      [  851.560740]  [<c017fb8d>] sys_delete_module+0x13d/0x200
      [  851.560747]  [<c01fd7d2>] ? do_munmap+0x212/0x300
      [  851.560752]  [<c010311f>] sysenter_do_call+0x12/0x28
      [  851.560757] ---[ end trace 31e14488072d2f7d ]---
      [  851.560759] ------------[ cut here ]------------
      
      The warning is caused by b43 not claiming the device before calling
      sdio_disable_func().
      Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Reported-by: default avatarArnd Hannemann <arnd@arndnet.de>
      Tested-by: default avatarArnd Hannemann <arnd@arndnet.de>
      Cc: Stable <stable@kernel.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      9f2a0fac
    • Jesper Juhl's avatar
      mac80211: fix failure to check kmalloc return value in key_key_read · 520efd1a
      Jesper Juhl authored
      I noticed two small issues in mac80211/debugfs_key.c::key_key_read while
      reading through the code. Patch below.
      
      The key_key_read() function returns ssize_t and the value that's actually
      returned is the return value of simple_read_from_buffer() which also
      returns ssize_t, so let's hold the return value in a ssize_t local
      variable rather than a int one.
      
      Also, memory is allocated dynamically with kmalloc() which can fail, but
      the return value of kmalloc() is not checked, so we may end up operating
      on a null pointer further on. So check for a NULL return and bail out with
      -ENOMEM in that case.
      Signed-off-by: default avatarJesper Juhl <jj@chaosbits.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      520efd1a
    • Paul Fox's avatar
      libertas: Fix sd8686 firmware reload · 731b2034
      Paul Fox authored
      For the SD8686, we cannot rely on the scratch register to read the firmware
      load status, because the same register is used for storing RX packet length.
      Broaden the check to account for this.
      
      The module can now be unloaded/reloaded successfully.
      
      Based on the implementation from libertas_tf.
      Signed-off-by: default avatarDaniel Drake <dsd@laptop.org>
      Acked-by: default avatarDan Williams <dcbw@redhat.com>
      Signed-off-by: default avatarSteve deRosier <steve@cozybit.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      731b2034
    • Mohammed Shafi Shajakhan's avatar
      ath9k: Fix incorrect access of rate flags in RC · 4fc4fbd1
      Mohammed Shafi Shajakhan authored
      The index variable to access the rate flags should be obtained from the
      inner loop counter which corresponds to the rate table structure.This
      fixes the invalid rate selection i.e when the supported basic rate is
      invalid on a particular band and also the following warning message.
      Thanks to Raj for finding this out.
      
      Call Trace:
      
       [<ffffffff8104ee4a>] warn_slowpath_common+0x7a/0xb0
      
       [<ffffffff8104ee95>] warn_slowpath_null+0x15/0x20
      
       [<ffffffffa0583c45>] ath_get_rate+0x595/0x5b0 [ath9k]
      
       [<ffffffff811a0636>] ? cpumask_next_and+0x36/0x50
      
       [<ffffffffa0405186>] rate_control_get_rate+0x86/0x160 [mac80211]
      
       [<ffffffffa040dfac>] invoke_tx_handlers+0x81c/0x12d0 [mac80211]
      
       [<ffffffffa040eae9>] ieee80211_tx+0x89/0x2b0 [mac80211]
      
       [<ffffffff812891bc>] ? pskb_expand_head+0x1cc/0x1f0
      
       [<ffffffffa040edc5>] ieee80211_xmit+0xb5/0x1c0 [mac80211]
      
       [<ffffffffa041026f>] ieee80211_tx_skb+0x4f/0x60 [mac80211]
      
       [<ffffffffa03fe016>] ieee80211_send_nullfunc+0x46/0x60 [mac80211]
      
       [<ffffffffa03f91d7>] ieee80211_offchannel_stop_station+0x107/0x150
      [mac80211]
      
       [<ffffffff812891bc>] ? pskb_expand_head+0x1cc/0x1f0
      
       [<ffffffffa040edc5>] ieee80211_xmit+0xb5/0x1c0 [mac80211]
      
       [<ffffffffa041026f>] ieee80211_tx_skb+0x4f/0x60 [mac80211]
      
       [<ffffffffa03fe016>] ieee80211_send_nullfunc+0x46/0x60 [mac80211]
      
       [<ffffffffa03f91d7>] ieee80211_offchannel_stop_station+0x107/0x150
      [mac80211]
      
       [<ffffffffa03f8896>] ieee80211_scan_work+0x146/0x600 [mac80211]
      
       [<ffffffff8133a375>] ? schedule+0x2f5/0x8e0
      
       [<ffffffffa03f8750>] ? ieee80211_scan_work+0x0/0x600 [mac80211]
      
       [<ffffffff81064fcf>] process_one_work+0x10f/0x380
      
       [<ffffffff81066bc2>] worker_thread+0x162/0x340
      
       [<ffffffff81066a60>] ? worker_thread+0x0/0x340
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarMohammed Shafi Shajakhan <mshajakhan@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      4fc4fbd1
  5. 27 Oct, 2010 8 commits
  6. 25 Oct, 2010 5 commits