Files
linux/drivers
Daniel Mack 271f1e65ff wcn36xx: don't keep reference to skb if transmission failed
When wcn36xx_dxe_tx_frame() fails to transmit the TX frame, the driver
will call into ieee80211_free_txskb() for the skb in flight, so it'll no
longer be valid. Hence, we shouldn't keep a reference to it in ctl->skb.
Also, if the skb has IEEE80211_TX_CTL_REQ_TX_STATUS set, a pointer to
it will currently remain in wcn->tx_ack_skb, which will potentially lead
to a crash if accessed later.

Fix this by checking the return value of wcn36xx_dxe_tx_frame(), and
nullify wcn->tx_ack_skb again in case of errors. Move the assignment
of ctl->skb in wcn36xx_dxe_tx_frame() so it only happens when the
transmission is successful.

Signed-off-by: Daniel Mack <daniel@zonque.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2018-04-10 17:34:14 +03:00
..
2018-03-02 10:44:44 +01:00
2018-03-23 09:50:54 +10:00
2018-03-14 15:39:33 -04:00
2018-03-21 11:10:20 +01:00
2018-03-08 10:39:58 -07:00
2018-01-02 14:46:35 +01:00
2018-03-12 15:11:59 +05:30
2017-12-19 10:56:53 +01:00
2018-01-22 16:45:26 +01:00
2018-02-28 13:48:21 +01:00
2018-01-09 16:15:20 +01:00