1. 08 1月, 2013 4 次提交
  2. 03 1月, 2013 1 次提交
    • J
      mac80211: split TX aggregation stop action · 18b559d5
      Johannes Berg 提交于
      When TX aggregation is stopped, there are a few
      different cases:
       - connection with the peer was dropped
       - session stop was requested locally
       - session stop was requested by the peer
       - connection was dropped while a session is stopping
      
      The behaviour in these cases should be different, if
      the connection is dropped then the driver should drop
      all frames, otherwise the frames may continue to be
      transmitted, aggregated in the case of a locally
      requested session stop or unaggregated in the case of
      the peer requesting session stop.
      
      Split these different cases so that the driver can
      act accordingly; however, treat local and remote stop
      the same way and ask the driver to not send frames as
      aggregated packets any more.
      
      In the case of connection drop, the stop callback the
      driver is otherwise supposed to call is no longer
      required.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      18b559d5
  3. 09 10月, 2012 1 次提交
    • R
      carl9170: fix sleep in softirq context · 5bcbc3fc
      Ronald Wahl 提交于
      This patch fixes the following bug:
      
      usb 1-1.1: restart device (8)
      BUG: sleeping function called from invalid context at drivers/usb/core/urb.c:654
      in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper
       (usb_poison_urb+0x1c/0xf8)
       (usb_poison_anchored_urbs+0x48/0x78)
       (carl9170_usb_handle_tx_err+0x128/0x150)
       (carl9170_usb_reset+0xc/0x20)
       (carl9170_handle_command_response+0x298/0xea8)
       (carl9170_usb_tasklet+0x68/0x184)
       (tasklet_hi_action+0x84/0xdc)
      
      this only happens if the device is plugged in an USB port,
      the driver is loaded but inactive (e.g. the wlan interface
      is down). If the device is active everything is fine.
      Signed-off-by: NRonald Wahl <ronald.wahl@raritan.com>
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5bcbc3fc
  4. 25 9月, 2012 1 次提交
  5. 07 8月, 2012 1 次提交
  6. 12 7月, 2012 1 次提交
  7. 28 1月, 2012 1 次提交
  8. 25 1月, 2012 2 次提交
  9. 20 12月, 2011 1 次提交
  10. 24 11月, 2011 1 次提交
  11. 12 10月, 2011 1 次提交
  12. 04 10月, 2011 1 次提交
    • E
      mac80211: pass vif param to conf_tx() callback · 8a3a3c85
      Eliad Peller 提交于
      tx params should be configured per interface.
      add ieee80211_vif param to the conf_tx callback,
      and change all the drivers that use this callback.
      
      The following spatch was used:
      @rule1@
      struct ieee80211_ops ops;
      identifier conf_tx_op;
      @@
      	ops.conf_tx = conf_tx_op;
      
      @rule2@
      identifier rule1.conf_tx_op;
      identifier hw, queue, params;
      @@
      	conf_tx_op (
      -		struct ieee80211_hw *hw,
      +		struct ieee80211_hw *hw, struct ieee80211_vif *vif,
      		u16 queue,
      		const struct ieee80211_tx_queue_params *params) {...}
      Signed-off-by: NEliad Peller <eliad@wizery.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8a3a3c85
  13. 28 9月, 2011 1 次提交
  14. 25 8月, 2011 3 次提交
  15. 16 7月, 2011 1 次提交
  16. 08 7月, 2011 1 次提交
  17. 06 7月, 2011 2 次提交
  18. 17 5月, 2011 1 次提交
  19. 06 5月, 2011 1 次提交
  20. 27 4月, 2011 1 次提交
  21. 30 3月, 2011 1 次提交
  22. 28 1月, 2011 1 次提交
  23. 20 1月, 2011 1 次提交
    • J
      mac80211: track receiver's aggregation reorder buffer size · 0b01f030
      Johannes Berg 提交于
      The aggregation code currently doesn't implement the
      buffer size negotiation. It will always request a max
      buffer size (which is fine, if a little pointless, as
      the mac80211 code doesn't know and might just use 0
      instead), but if the peer requests a smaller size it
      isn't possible to honour this request.
      
      In order to fix this, look at the buffer size in the
      addBA response frame, keep track of it and pass it to
      the driver in the ampdu_action callback when called
      with the IEEE80211_AMPDU_TX_OPERATIONAL action. That
      way the driver can limit the number of subframes in
      aggregates appropriately.
      
      Note that this doesn't fix any drivers apart from the
      addition of the new argument -- they all need to be
      updated separately to use this variable!
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0b01f030
  24. 30 11月, 2010 1 次提交
  25. 23 11月, 2010 1 次提交
    • C
      carl9170: fix virtual interface setup crash · b397492a
      Christian Lamparter 提交于
      This patch fixes a faulty bound check which caused a
      crash when too many virtual interface were brought up.
      
      BUG: unable to handle kernel NULL pointer dereference at 00000004
      IP: [<f8125f67>] carl9170_op_add_interface+0x1d7/0x2c0 [carl9170]
      *pde = 00000000
      Oops: 0002 [#1] PREEMPT
      Modules linked in: carl9170 [...]
      Pid: 4720, comm: wpa_supplicant Not tainted 2.6.37-rc2-wl+
      EIP: 0060:[<f8125f67>] EFLAGS: 00210206 CPU: 0
      EIP is at carl9170_op_add_interface+0x1d7/0x2c0 [carl9170]
      EAX: 00000000 ...
      Process wpa_supplicant
      Stack:
       f4f88f34 fffffff4 ..
      Call Trace:
       [<f8f4e666>] ? ieee80211_do_open+0x406/0x5c0 [mac80211]
       [...]
      Code: <89> 42 04 ...
      EIP: [<f8125f67>] carl9170_op_add_interface+0x1d7/0x2c0 [carl9170]
      CR2: 0000000000000004
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b397492a
  26. 16 11月, 2010 2 次提交
  27. 26 10月, 2010 1 次提交
    • C
      carl9170: fix scheduling while atomic · dafeac38
      Christian Lamparter 提交于
      This patch fixes the following mishap:
      
      BUG: scheduling while atomic: wpa_supplicant/4164/0x00000002
      Modules linked in: carl9170 mac80211 [...]
      Pid: 4164, comm: wpa_supplicant Not tainted 2.6.36-wl+ #119
      Call Trace:
       [<c13779a9>] ? schedule+0x349/0x4c0
       [<c13780d6>] ? schedule_timeout+0x106/0x1e0
       [<c1037f50>] ? process_timeout+0x0/0x10
       [<c1377e8d>] ? wait_for_common+0x9d/0x140
       [<c1029110>] ? default_wake_function+0x0/0x10
       [<f80c6080>] ? carl9170_exec_cmd+0xf0/0x250 [carl9170]
       [<f80c695e>] ? carl9170_set_mac_reg+0x5e/0x70 [carl9170]
       [<f80c3f76>] ? carl9170_op_add_interface+0x176/0x310 [carl9170]
       [...]
      
      rcu_read_unlock() call was erroneously placed after the
      sync. function carl9170_mod_virtual_mac.
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      dafeac38
  28. 06 10月, 2010 1 次提交
    • C
      carl9170: support firmware-based rx filter · 5c895691
      Christian Lamparter 提交于
      The hardware rx-filter was essentially disabled, because
      of a serve, yet unidentifiable problem with iwlagn.
      Due to these circumstances the driver and mac80211 were
      left with the job of filtering.
      
      This is very unfortunate and has proven to be expensive
      in terms of latency, memory and load.
      
      Therefore the new 1.8.8.3 firmware introduces a flexible
      filtering infrastructure which allows the driver to
      offload some of the checks (FCS & PLCP crc check,
      RA match, control frame filter, etc...) whenever possible.
      
      Note:
      This patch also includes all changes to the
      shared headers files since the inclusion.
      Signed-off-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5c895691
  29. 29 9月, 2010 3 次提交
  30. 21 9月, 2010 1 次提交