Update to 2.6.32.41 Mainline
/drivers/net/wireless/rt2x00/rt2x00dev.c
blob:73bbec58341ecd6362fe95caa3b5b1900454a20d -> blob:6604c2734a4e1365575146174b746cb790d46cca
--- drivers/net/wireless/rt2x00/rt2x00dev.c
+++ drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -684,6 +684,21 @@ static int rt2x00lib_probe_hw(struct rt2
rt2x00dev->hw->queues = rt2x00dev->ops->tx_queues;
/*
+ * Initialize extra TX headroom required.
+ */
+ rt2x00dev->hw->extra_tx_headroom =
+ max_t(unsigned int, IEEE80211_TX_STATUS_HEADROOM,
+ rt2x00dev->ops->extra_tx_headroom);
+
+ /*
+ * Take TX headroom required for alignment into account.
+ */
+ if (test_bit(DRIVER_REQUIRE_L2PAD, &rt2x00dev->flags))
+ rt2x00dev->hw->extra_tx_headroom += RT2X00_L2PAD_SIZE;
+ else if (test_bit(DRIVER_REQUIRE_DMA, &rt2x00dev->flags))
+ rt2x00dev->hw->extra_tx_headroom += RT2X00_ALIGN_SIZE;
+
+ /*
* Register HW.
*/
status = ieee80211_register_hw(rt2x00dev->hw);