mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-19 03:06:35 +00:00
mac80211: do not pass a stopped vif to the driver on get_txpower
Fixes potential crashes in various drivers when checking the status of interfaces that are down Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
123cb3793f
commit
a9540a4e33
@ -0,0 +1,24 @@
|
|||||||
|
From: Felix Fietkau <nbd@nbd.name>
|
||||||
|
Date: Wed, 2 Oct 2024 11:45:35 +0200
|
||||||
|
Subject: [PATCH] wifi: mac80211: do not pass a stopped vif to the driver in
|
||||||
|
.get_txpower
|
||||||
|
|
||||||
|
Avoid potentially crashing in the driver because of uninitialized private data
|
||||||
|
|
||||||
|
Fixes: 5b3dc42b1b0d ("mac80211: add support for driver tx power reporting")
|
||||||
|
Cc: stable@vger.kernel.org
|
||||||
|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
---
|
||||||
|
|
||||||
|
--- a/net/mac80211/cfg.c
|
||||||
|
+++ b/net/mac80211/cfg.c
|
||||||
|
@@ -3134,7 +3134,8 @@ static int ieee80211_get_tx_power(struct
|
||||||
|
struct ieee80211_local *local = wiphy_priv(wiphy);
|
||||||
|
struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev);
|
||||||
|
|
||||||
|
- if (local->ops->get_txpower)
|
||||||
|
+ if (local->ops->get_txpower &&
|
||||||
|
+ (sdata->flags & IEEE80211_SDATA_IN_DRIVER))
|
||||||
|
return drv_get_txpower(local, sdata, dbm);
|
||||||
|
|
||||||
|
if (local->emulate_chanctx)
|
Loading…
Reference in New Issue
Block a user