1. 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
  2. 15 9月, 2011 3 次提交
  3. 08 7月, 2011 1 次提交
  4. 07 6月, 2011 1 次提交
  5. 03 5月, 2011 2 次提交
  6. 20 4月, 2011 6 次提交
    • I
      rt2x00: Implement get_antenna and set_antenna callback functions · 0ed7b3c0
      Ivo van Doorn 提交于
      Implement the get_antenna and set_antenna callback functions, which will
      allow clients to control the antenna for all non-11n hardware (Antenna handling
      in rt2800 is still a bit magical, so we can't use the set_antenna for those drivers
      yet).
      
      To best support the set_antenna callback some modifications are needed in the
      diversity handling. We should never look at the default antenna settings to determine
      if software diversity is enabled. Instead we should set the diversity flag when
      possible, which will allow the link_tuner to automatically pick up the tuning.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Acked-by: NGertjan van Wingerde <gwingerde@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0ed7b3c0
    • I
      rt2x00: Implement get_ringparam callback function · e7dee444
      Ivo van Doorn 提交于
      With the get_ringparam callback function we can export ring parameters
      to ethtool through the mac80211 interface.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Acked-by: NGertjan van Wingerde <gwingerde@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e7dee444
    • I
      rt2x00: Decrease association time for USB devices · 152a5992
      Ivo van Doorn 提交于
      When powersaving is enabled, assocaition times are very high
      (for WPA2 networks, the time can easily be around the 3 seconds).
      
      This is caused, because the flushing of the queues takes
      too much time. Without the flushing callback mac80211 assumes
      a timeout of 100ms while scanning. Limit all flush waiting
      loops to the same maximum.
      
      We can apply this maximum by passing the drop status to the
      driver, which makes sure the driver performs extra actions
      during the waiting for the queue to become empty.
      
      After these changes, association times fall within the
      healthy range of ~0.6 seconds with powersaving enabled.
      The difference between association time between powersaving
      enabled and disabled is now only ~0.1 second (which can also
      be due to the measuring method).
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Acked-by: NGertjan van Wingerde <gwingerde@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      152a5992
    • J
      rt2800usb: add timer to handle TX_STA_FIFO · f0187a19
      Johannes Stezenbach 提交于
      TX status is reported by the hardware when a packet has been
      sent (or after TX failed after possible retries), which is some
      time after the DMA completion.  Since the rt2800usb hardware can
      not signal interrupts we have to use a timer, otherwise the
      TX status would only be read by the next packet's TX DMA
      completion, or by the watchdog thread.
      Signed-off-by: NJohannes Stezenbach <js@sig21.net>
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f0187a19
    • J
      rt2800usb: read TX_STA_FIFO asynchronously · 0e0d39e5
      Johannes Stezenbach 提交于
      Trying to fix the "TX status report missed" warnings
      by reading the TX_STA_FIFO entries as quickly as possible.
      The TX_STA_FIFO is too small in hardware, thus reading
      it only from the workqueue is too slow and entries get lost.
      
      Start an asynchronous read of the TX_STA_FIFO directly from
      the TX URB completion callback (atomic context, thus it cannot
      use the blocking rt2800_register_read()). If the async
      read returns a valid FIFO entry, it is pushed into a larger
      FIFO inside struct rt2x00_dev, until rt2800_txdone() picks
      it up.
      
      A .tx_dma_done callback is added to struct rt2x00lib_ops
      to trigger the async read from the URB completion callback.
      Signed-off-by: NJohannes Stezenbach <js@sig21.net>
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0e0d39e5
    • I
      rt2x00: Split rt2x00dev->flags · 7dab73b3
      Ivo van Doorn 提交于
      The number of flags defined for the rt2x00dev->flags field,
      has been growing over the years. Currently we are approaching
      the maximum number of bits which are available in the field.
      
      A secondary problem, is that one part of the field are initialized only
      during boot, because the driver requirements are initialized or device
      requirements are loaded from the EEPROM. In both cases, the flags are
      fixed and will not change during device operation. The other flags are
      the device state, and will change frequently. So far this resulted in the fact
      that for some flags, the atomic bit accessors are used, while for the others
      the non-atomic variants are used.
      
      By splitting the flags up into a "flags" and "cap_flags" we can put all flags
      which are fixed inside "cap_flags". This field can then be read non-atomically.
      In the "flags" field we keep the device state, which is going to be read atomically.
      
      This adds more room for more flags in the future, and sanitizes the field access methods.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Acked-by: NHelmut Schaa <helmut.schaa@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7dab73b3
  7. 05 4月, 2011 2 次提交
  8. 31 3月, 2011 1 次提交
  9. 05 3月, 2011 7 次提交
  10. 26 2月, 2011 1 次提交
    • J
      mac80211: make tx() operation return void · 7bb45683
      Johannes Berg 提交于
      The return value of the tx operation is commonly
      misused by drivers, leading to errors. All drivers
      will drop frames if they fail to TX the frame, and
      they must also properly manage the queues (if they
      didn't, mac80211 would already warn).
      
      Removing the ability for drivers to return a BUSY
      value also allows significant cleanups of the TX
      TX handling code in mac80211.
      
      Note that this also fixes a bug in ath9k_htc, the
      old "return -1" there was wrong.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Tested-by: Sedat Dilek <sedat.dilek@googlemail.com> [ath5k]
      Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> [rt2x00]
      Acked-by: Larry Finger <Larry.Finger@lwfinger.net> [b43, rtl8187, rtlwifi]
      Acked-by: Luciano Coelho <coelho@ti.com> [wl12xx]
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7bb45683
  11. 22 2月, 2011 3 次提交
  12. 01 2月, 2011 4 次提交
  13. 05 1月, 2011 5 次提交
  14. 21 12月, 2010 1 次提交
  15. 14 12月, 2010 2 次提交