1. 04 2月, 2011 6 次提交
    • A
      mac80211: add HW flag for disabling auto link-PS in AP mode · d057e5a3
      Arik Nemtsov 提交于
      When operating in AP mode the wl1271 hardware filters out null-data
      packets as well as management packets. This makes it impossible for
      mac80211 to monitor the PS mode by using the PM bit of incoming frames.
      
      Implement a HW flag to indicate that mac80211 should ignore the PM bit.
      In addition, expose ieee80211_sta_ps_transition() to make low-level
      drivers capable of controlling PS-mode.
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d057e5a3
    • A
      mac80211: do not calc frame duration when using HW rate-control · 8fd369ee
      Arik Nemtsov 提交于
      When rate-control is performed in HW, we cannot calculate frame
      duration as we do not have the skb transmission rate in SW.
      
      ieee80211_tx_h_calculate_duration() should only be called when
      ieee80211_tx_h_rate_ctrl() has been called before to initialize data
      in skb->cb. This doesn't happen for drivers with HW rate-control.
      
      Fixes the following warning when operating in AP-mode
      in a driver with HW rate-control.
      
      WARNING: at net/mac80211/tx.c:57 ieee80211_duration+0x54/0x1d8 [mac80211]()
      Modules linked in: wl1271_sdio wl1271 firmware_class crc7 mac80211 cfg80211
      [<c0046090>] (unwind_backtrace+0x0/0x124) from [<c0064c10>] (warn_slowpath_common+0x4c/0x64)
      [<c0064c10>] (warn_slowpath_common+0x4c/0x64) from [<c0064c40>] (warn_slowpath_null+0x18/0x1c)
      [<c0064c40>] (warn_slowpath_null+0x18/0x1c) from [<bf040e34>] (ieee80211_duration+0x54/0x1d8 [mac80211])
      [<bf040e34>] (ieee80211_duration+0x54/0x1d8 [mac80211]) from [<bf04200c>] (invoke_tx_handlers+0xfa0/0x1088 [mac80211])
      [<bf04200c>] (invoke_tx_handlers+0xfa0/0x1088 [mac80211]) from [<bf042178>] (ieee80211_tx+0x84/0x248 [mac80211])
      [<bf042178>] (ieee80211_tx+0x84/0x248 [mac80211]) from [<bf042f44>] (ieee80211_tx_pending+0x12c/0x278 [mac80211])
      [<bf042f44>] (ieee80211_tx_pending+0x12c/0x278 [mac80211]) from [<c0069a9c>] (tasklet_action+0x68/0xbc)
      [<c0069a9c>] (tasklet_action+0x68/0xbc) from [<c006a044>] (__do_softirq+0x84/0x114)
      [<c006a044>] (__do_softirq+0x84/0x114) from [<c006a1b8>] (do_softirq+0x48/0x54)
      [<c006a1b8>] (do_softirq+0x48/0x54) from [<c006a4f8>] (local_bh_enable+0x98/0xcc)
      [<c006a4f8>] (local_bh_enable+0x98/0xcc) from [<bf074e60>] (wl1271_rx+0x2e8/0x3a4 [wl1271])
      [<bf074e60>] (wl1271_rx+0x2e8/0x3a4 [wl1271]) from [<bf071ae4>] (wl1271_irq_work+0x230/0x310 [wl1271])
      [<bf071ae4>] (wl1271_irq_work+0x230/0x310 [wl1271]) from [<c0076864>] (process_one_work+0x208/0x350)
      [<c0076864>] (process_one_work+0x208/0x350) from [<c0076e14>] (worker_thread+0x1cc/0x300)
      [<c0076e14>] (worker_thread+0x1cc/0x300) from [<c007bb88>] (kthread+0x84/0x8c)
      [<c007bb88>] (kthread+0x84/0x8c) from [<c0041494>] (kernel_thread_exit+0x0/0x8)
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8fd369ee
    • B
      mac80211: Recalculate channel-type on iface removal. · 2cf22b89
      Ben Greear 提交于
      When a vif goes away, it could cause the super-chan
      to be recalculated differently, so do that calculation
      on iface removal.
      Signed-off-by: NBen Greear <greearb@candelatech.com>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2cf22b89
    • B
      mac80211: Warn users if HT fails because of freq mismatch. · 172710bf
      Ben Greear 提交于
      I have a netgear WNDR3700 that appears to have an off-by-four
      bug in how it fills out the hti->control_chan (I configure the
      AP to channel 11, it reports 15 as control_chan).
      
      Poke a message into the kernel logs to give users a
      clue as to why they are not getting the expected
      channel-type or rate.
      Signed-off-by: NBen Greear <greearb@candelatech.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      172710bf
    • B
    • B
      mac80211: Be more careful when changing channels. · eeabee7e
      Ben Greear 提交于
      If we cannot set the channel type, set the channel back to the
      original.
      
      Don't update the driver hardware if nothing actually changed.
      Signed-off-by: NBen Greear <greearb@candelatech.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      eeabee7e
  2. 01 2月, 2011 1 次提交
  3. 29 1月, 2011 2 次提交
  4. 27 1月, 2011 1 次提交
    • J
      mac80211: use DECLARE_EVENT_CLASS · ba99d93b
      Johannes Berg 提交于
      For events that include only the local struct as
      their parameter, we can use DECLARE_EVENT_CLASS
      and save quite some binary size across segments
      as well lines of code.
      
         text	   data	    bss	    dec	    hex	filename
       375745	  19296	    916	 395957	  60ab5	mac80211.ko.before
       367473	  17888	    916	 386277	  5e4e5	mac80211.ko.after
        -8272   -1408       0   -9680   -25d0 delta
      
      Some more tracepoints with identical arguments
      could be combined like this but for now this is
      the one that benefits most.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ba99d93b
  5. 26 1月, 2011 1 次提交
  6. 22 1月, 2011 2 次提交
  7. 20 1月, 2011 9 次提交
  8. 14 1月, 2011 2 次提交
  9. 06 1月, 2011 3 次提交
  10. 05 1月, 2011 7 次提交
  11. 23 12月, 2010 6 次提交