Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e269d860 authored by Johannes Berg's avatar Johannes Berg
Browse files

mac80211: check channel context methods



Verify that the channel context methods are
all assigned by the driver or not used.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent e89a96f5
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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