OSDN Git Service

mt76: mt76x02: skip station tx status for non-sta wcid entries
authorFelix Fietkau <nbd@nbd.name>
Thu, 25 Oct 2018 12:23:13 +0000 (14:23 +0200)
committerFelix Fietkau <nbd@nbd.name>
Fri, 30 Nov 2018 11:21:42 +0000 (12:21 +0100)
Fixes a crash that could occur if a frame is sent to a station, but the
station's wcid was not used (e.g. for software encrypted mgmt tx)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x02_mac.c

index 34fc9f2..ad8df68 100644 (file)
@@ -450,7 +450,7 @@ void mt76x02_send_tx_status(struct mt76x02_dev *dev,
        if (stat->wcid < ARRAY_SIZE(dev->mt76.wcid))
                wcid = rcu_dereference(dev->mt76.wcid[stat->wcid]);
 
-       if (wcid) {
+       if (wcid && wcid->sta) {
                void *priv;
 
                priv = msta = container_of(wcid, struct mt76x02_sta, wcid);