mirror of https://gitee.com/openkylin/linux.git
mac80211: convert ops checks to WARN_ON
There's no need to BUG_ON when a driver registers invalid operations, warn and return an error. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
9b86487043
commit
c0af07340a
|
@ -545,6 +545,11 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
|
|||
int priv_size, i;
|
||||
struct wiphy *wiphy;
|
||||
|
||||
if (WARN_ON(!ops->tx || !ops->start || !ops->stop || !ops->config ||
|
||||
!ops->add_interface || !ops->remove_interface ||
|
||||
!ops->configure_filter))
|
||||
return NULL;
|
||||
|
||||
if (WARN_ON(ops->sta_state && (ops->sta_add || ops->sta_remove)))
|
||||
return NULL;
|
||||
|
||||
|
@ -597,13 +602,6 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
|
|||
|
||||
local->hw.priv = (char *)local + ALIGN(sizeof(*local), NETDEV_ALIGN);
|
||||
|
||||
BUG_ON(!ops->tx);
|
||||
BUG_ON(!ops->start);
|
||||
BUG_ON(!ops->stop);
|
||||
BUG_ON(!ops->config);
|
||||
BUG_ON(!ops->add_interface);
|
||||
BUG_ON(!ops->remove_interface);
|
||||
BUG_ON(!ops->configure_filter);
|
||||
local->ops = ops;
|
||||
|
||||
/* set up some defaults */
|
||||
|
|
Loading…
Reference in New Issue