mt76: discard early received packets if not running yet

If the radio was previously in running state, it can receive some
packets before it is able to process them.
This can lead to a crash if the channel is not initialized yet.
Discard all rx packets until start() is called

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
Felix Fietkau 2018-05-15 14:33:23 +02:00 committed by Kalle Valo
parent d98fb328ad
commit 66a77cbe63
1 changed files with 3 additions and 0 deletions

View File

@ -301,6 +301,9 @@ int mt76x2_mac_process_rx(struct mt76x2_dev *dev, struct sk_buff *skb,
u8 wcid; u8 wcid;
int len; int len;
if (!test_bit(MT76_STATE_RUNNING, &dev->mt76.state))
return -EINVAL;
if (rxinfo & MT_RXINFO_L2PAD) if (rxinfo & MT_RXINFO_L2PAD)
pad_len += 2; pad_len += 2;