rsi: Remove internal header from Tx status skb

Device specific descriptor for each TX packet is prepared on top of
skb data address. This descriptor should be pulled out before
indicating the TX status to mac80211.

Signed-off-by: Prameela Rani Garnepudi <prameela.j04cs@gmail.com>
Signed-off-by: Amitkumar Karwar <amit.karwar@redpinesignals.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
Prameela Rani Garnepudi 2017-07-10 18:10:46 +05:30 committed by Kalle Valo
parent 79e590d924
commit 5059afacee

View File

@ -229,12 +229,20 @@ void rsi_indicate_tx_status(struct rsi_hw *adapter,
int status)
{
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
struct skb_info *tx_params;
memset(info->driver_data, 0, IEEE80211_TX_INFO_DRIVER_DATA_SIZE);
if (!adapter->hw) {
rsi_dbg(ERR_ZONE, "##### No MAC #####\n");
return;
}
if (!status)
info->flags |= IEEE80211_TX_STAT_ACK;
tx_params = (struct skb_info *)info->driver_data;
skb_pull(skb, tx_params->internal_hdr_size);
memset(info->driver_data, 0, IEEE80211_TX_INFO_DRIVER_DATA_SIZE);
ieee80211_tx_status_irqsafe(adapter->hw, skb);
}