mac80211: check channel context methods
Verify that the channel context methods are all assigned by the driver or not used. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Родитель
e89a96f5cc
Коммит
e269d8600a
|
@ -549,6 +549,13 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
|
|||
if (WARN_ON(ops->sta_state && (ops->sta_add || ops->sta_remove)))
|
||||
return NULL;
|
||||
|
||||
/* check all or no channel context operations exist */
|
||||
i = !!ops->add_chanctx + !!ops->remove_chanctx +
|
||||
!!ops->change_chanctx + !!ops->assign_vif_chanctx +
|
||||
!!ops->unassign_vif_chanctx;
|
||||
if (WARN_ON(i != 0 && i != 5))
|
||||
return NULL;
|
||||
|
||||
/* Ensure 32-byte alignment of our private data and hw private data.
|
||||
* We use the wiphy priv data for both our ieee80211_local and for
|
||||
* the driver's private data
|
||||
|
|
Загрузка…
Ссылка в новой задаче