mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
mac80211: remove napi
Since two years no mac80211 driver implement support for NAPI. Looks this feature is unneeded, so remove it from generic mac80211 code. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
098b8afbf2
commit
30c97120c6
@ -1139,11 +1139,6 @@ struct ieee80211_local {
|
||||
|
||||
struct ieee80211_sub_if_data __rcu *p2p_sdata;
|
||||
|
||||
/* dummy netdev for use w/ NAPI */
|
||||
struct net_device napi_dev;
|
||||
|
||||
struct napi_struct napi;
|
||||
|
||||
/* virtual monitor interface */
|
||||
struct ieee80211_sub_if_data __rcu *monitor_sdata;
|
||||
struct cfg80211_chan_def monitor_chandef;
|
||||
|
@ -485,8 +485,6 @@ int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up)
|
||||
res = drv_start(local);
|
||||
if (res)
|
||||
goto err_del_bss;
|
||||
if (local->ops->napi_poll)
|
||||
napi_enable(&local->napi);
|
||||
/* we're brought up, everything changes */
|
||||
hw_reconf_flags = ~0;
|
||||
ieee80211_led_radio(local, true);
|
||||
@ -857,8 +855,6 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata,
|
||||
ieee80211_recalc_ps(local, -1);
|
||||
|
||||
if (local->open_count == 0) {
|
||||
if (local->ops->napi_poll)
|
||||
napi_disable(&local->napi);
|
||||
ieee80211_clear_tx_pending(local);
|
||||
ieee80211_stop_device(local);
|
||||
|
||||
|
@ -399,30 +399,6 @@ static int ieee80211_ifa6_changed(struct notifier_block *nb,
|
||||
}
|
||||
#endif
|
||||
|
||||
static int ieee80211_napi_poll(struct napi_struct *napi, int budget)
|
||||
{
|
||||
struct ieee80211_local *local =
|
||||
container_of(napi, struct ieee80211_local, napi);
|
||||
|
||||
return local->ops->napi_poll(&local->hw, budget);
|
||||
}
|
||||
|
||||
void ieee80211_napi_schedule(struct ieee80211_hw *hw)
|
||||
{
|
||||
struct ieee80211_local *local = hw_to_local(hw);
|
||||
|
||||
napi_schedule(&local->napi);
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_napi_schedule);
|
||||
|
||||
void ieee80211_napi_complete(struct ieee80211_hw *hw)
|
||||
{
|
||||
struct ieee80211_local *local = hw_to_local(hw);
|
||||
|
||||
napi_complete(&local->napi);
|
||||
}
|
||||
EXPORT_SYMBOL(ieee80211_napi_complete);
|
||||
|
||||
/* There isn't a lot of sense in it, but you can transmit anything you like */
|
||||
static const struct ieee80211_txrx_stypes
|
||||
ieee80211_default_mgmt_stypes[NUM_NL80211_IFTYPES] = {
|
||||
@ -686,9 +662,6 @@ struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
|
||||
skb_queue_head_init(&local->skb_queue);
|
||||
skb_queue_head_init(&local->skb_queue_unreliable);
|
||||
|
||||
/* init dummy netdev for use w/ NAPI */
|
||||
init_dummy_netdev(&local->napi_dev);
|
||||
|
||||
ieee80211_led_names(local);
|
||||
|
||||
ieee80211_roc_setup(local);
|
||||
@ -1043,9 +1016,6 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
|
||||
goto fail_ifa6;
|
||||
#endif
|
||||
|
||||
netif_napi_add(&local->napi_dev, &local->napi, ieee80211_napi_poll,
|
||||
local->hw.napi_weight);
|
||||
|
||||
return 0;
|
||||
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
|
Loading…
Reference in New Issue
Block a user