> From: Johannes Berg <johannes.berg@xxxxxxxxx> > > Almost all drivers below cfg80211 get the API wrong (except for > cfg80211) and are unable to cope with multiple registrations for > the same frame type, which is valid due to the match filter. > This seems to indicate the API is wrong, and we should maintain > the full information in cfg80211 instead of the drivers. > > Change the API to no longer inform the driver about individual > registrations and unregistrations, but rather every time about > the entire state of the entire wiphy and single wdev, whenever > it may have changed. This also simplifies the code in cfg80211 > as it no longer has to track exactly what was unregistered and > can free things immediately. > > Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> > --- > drivers/net/wireless/ath/ath6kl/cfg80211.c | 26 +++--- > .../broadcom/brcm80211/brcmfmac/cfg80211.c | 19 ++--- > .../net/wireless/marvell/mwifiex/cfg80211.c | 16 ++-- > .../net/wireless/quantenna/qtnfmac/cfg80211.c | 83 ++++++++++--------- > include/net/cfg80211.h | 23 +++-- > include/net/mac80211.h | 2 +- > net/mac80211/cfg.c | 50 +++++------ > net/mac80211/ieee80211_i.h | 2 +- > net/wireless/core.c | 7 +- > net/wireless/core.h | 6 +- > net/wireless/mlme.c | 72 +++++++--------- > net/wireless/rdev-ops.h | 11 ++- > net/wireless/trace.h | 20 ++--- > 13 files changed, 159 insertions(+), 178 deletions(-) Reviewed-by: Sergey Matyukevich <sergey.matyukevich.os@xxxxxxxxxxxxx> Regards, Sergey