Commit c8ad0106 authored by Johannes Berg's avatar Johannes Berg

mac80211: warn only once in check_sdata_in_driver() at each caller

Ben Greear has repeatedly reported in the past (for a few years
probably) that this triggers repeatedly in certain scenarios.

Make this a macro so that each callsite can trigger the warning
only once - that will still give us an idea of what's going on
and what paths can reach it, but avoids being too noisy.

Link: https://lore.kernel.org/r/20200730155212.06fd3a95dbfb.I0b16829aabfaf5f642bce401502a29d16e2dd444@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent f9662274
...@@ -12,12 +12,11 @@ ...@@ -12,12 +12,11 @@
#include "ieee80211_i.h" #include "ieee80211_i.h"
#include "trace.h" #include "trace.h"
static inline bool check_sdata_in_driver(struct ieee80211_sub_if_data *sdata) #define check_sdata_in_driver(sdata) ({ \
{ !WARN_ONCE(!(sdata->flags & IEEE80211_SDATA_IN_DRIVER), \
return !WARN(!(sdata->flags & IEEE80211_SDATA_IN_DRIVER), "%s: Failed check-sdata-in-driver check, flags: 0x%x\n", \
"%s: Failed check-sdata-in-driver check, flags: 0x%x\n", sdata->dev ? sdata->dev->name : sdata->name, sdata->flags); \
sdata->dev ? sdata->dev->name : sdata->name, sdata->flags); })
}
static inline struct ieee80211_sub_if_data * static inline struct ieee80211_sub_if_data *
get_bss_sdata(struct ieee80211_sub_if_data *sdata) get_bss_sdata(struct ieee80211_sub_if_data *sdata)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment