ath9k: Use rate_driver_data
Remove the hack using vif, and use rate_driver_data within
skb->cb to hold driver specific rate information.
Setup the rate series in the skb's tx control area and remove
all references to ath9k specific rate series ( using struct ath_rc_series ).
Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c
index ca78098..11d7bee 100644
--- a/drivers/net/wireless/ath9k/main.c
+++ b/drivers/net/wireless/ath9k/main.c
@@ -350,13 +350,12 @@
DPRINTF(sc, ATH_DBG_XMIT,
"%s: TX complete: skb: %p\n", __func__, skb);
- ieee80211_tx_info_clear_status(tx_info);
if (tx_info->flags & IEEE80211_TX_CTL_NO_ACK ||
tx_info->flags & IEEE80211_TX_STAT_TX_FILTERED) {
- /* free driver's private data area of tx_info, XXX: HACK! */
- if (tx_info->control.vif != NULL)
- kfree(tx_info->control.vif);
- tx_info->control.vif = NULL;
+ if (tx_info->rate_driver_data[0] != NULL) {
+ kfree(tx_info->rate_driver_data[0]);
+ tx_info->rate_driver_data[0] = NULL;
+ }
}
if (tx_status->flags & ATH_TX_BAR) {