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

Commit 30c97120 authored by Stanislaw Gruszka's avatar Stanislaw Gruszka Committed by Johannes Berg
Browse files

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: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 098b8afb
Loading
Loading
Loading
Loading
+0 −5
Original line number Original line Diff line number Diff line
@@ -1139,11 +1139,6 @@ struct ieee80211_local {


	struct ieee80211_sub_if_data __rcu *p2p_sdata;
	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 */
	/* virtual monitor interface */
	struct ieee80211_sub_if_data __rcu *monitor_sdata;
	struct ieee80211_sub_if_data __rcu *monitor_sdata;
	struct cfg80211_chan_def monitor_chandef;
	struct cfg80211_chan_def monitor_chandef;
+0 −4
Original line number Original line Diff line number Diff line
@@ -485,8 +485,6 @@ int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up)
		res = drv_start(local);
		res = drv_start(local);
		if (res)
		if (res)
			goto err_del_bss;
			goto err_del_bss;
		if (local->ops->napi_poll)
			napi_enable(&local->napi);
		/* we're brought up, everything changes */
		/* we're brought up, everything changes */
		hw_reconf_flags = ~0;
		hw_reconf_flags = ~0;
		ieee80211_led_radio(local, true);
		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);
	ieee80211_recalc_ps(local, -1);


	if (local->open_count == 0) {
	if (local->open_count == 0) {
		if (local->ops->napi_poll)
			napi_disable(&local->napi);
		ieee80211_clear_tx_pending(local);
		ieee80211_clear_tx_pending(local);
		ieee80211_stop_device(local);
		ieee80211_stop_device(local);


+0 −30
Original line number Original line Diff line number Diff line
@@ -399,30 +399,6 @@ static int ieee80211_ifa6_changed(struct notifier_block *nb,
}
}
#endif
#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 */
/* There isn't a lot of sense in it, but you can transmit anything you like */
static const struct ieee80211_txrx_stypes
static const struct ieee80211_txrx_stypes
ieee80211_default_mgmt_stypes[NUM_NL80211_IFTYPES] = {
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);
	skb_queue_head_init(&local->skb_queue_unreliable);
	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_led_names(local);


	ieee80211_roc_setup(local);
	ieee80211_roc_setup(local);
@@ -1043,9 +1016,6 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
		goto fail_ifa6;
		goto fail_ifa6;
#endif
#endif


	netif_napi_add(&local->napi_dev, &local->napi, ieee80211_napi_poll,
			local->hw.napi_weight);

	return 0;
	return 0;


#if IS_ENABLED(CONFIG_IPV6)
#if IS_ENABLED(CONFIG_IPV6)