Remove disable_11b_rates() driver_ops
This function was used unconditionally if wpa_supplicant build includes CONFIG_P2P=y. Adding a separate driver_ops for such use is not really useful since the driver wrappers can do the same internally. Remove this driver_ops and move matching functionality into driver_nl80211.c which was the only driver wrapper using this driver_ops callback. Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
1dea5882be
commit
97bcd562eb
5 changed files with 11 additions and 38 deletions
|
@ -1946,19 +1946,6 @@ struct wpa_driver_ops {
|
||||||
*/
|
*/
|
||||||
int (*probe_req_report)(void *priv, int report);
|
int (*probe_req_report)(void *priv, int report);
|
||||||
|
|
||||||
/**
|
|
||||||
* disable_11b_rates - Set whether IEEE 802.11b rates are used for TX
|
|
||||||
* @priv: Private driver interface data
|
|
||||||
* @disabled: Whether IEEE 802.11b rates are disabled
|
|
||||||
* Returns: 0 on success, -1 on failure (or if not supported)
|
|
||||||
*
|
|
||||||
* This command is used to disable IEEE 802.11b rates (1, 2, 5.5, and
|
|
||||||
* 11 Mbps) as TX rates for data and management frames. This can be
|
|
||||||
* used to optimize channel use when there is no need to support IEEE
|
|
||||||
* 802.11b-only devices.
|
|
||||||
*/
|
|
||||||
int (*disable_11b_rates)(void *priv, int disabled);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* deinit_ap - Deinitialize AP mode
|
* deinit_ap - Deinitialize AP mode
|
||||||
* @priv: Private driver interface data
|
* @priv: Private driver interface data
|
||||||
|
|
|
@ -3288,7 +3288,6 @@ const struct wpa_driver_ops wpa_driver_ndis_ops = {
|
||||||
NULL /* remain_on_channel */,
|
NULL /* remain_on_channel */,
|
||||||
NULL /* cancel_remain_on_channel */,
|
NULL /* cancel_remain_on_channel */,
|
||||||
NULL /* probe_req_report */,
|
NULL /* probe_req_report */,
|
||||||
NULL /* disable_11b_rates */,
|
|
||||||
NULL /* deinit_ap */,
|
NULL /* deinit_ap */,
|
||||||
NULL /* suspend */,
|
NULL /* suspend */,
|
||||||
NULL /* resume */,
|
NULL /* resume */,
|
||||||
|
|
|
@ -2419,6 +2419,17 @@ wpa_driver_nl80211_finish_drv_init(struct wpa_driver_nl80211_data *drv)
|
||||||
drv, drv->ctx);
|
drv, drv->ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_P2P
|
||||||
|
if (drv->capa.flags & WPA_DRIVER_FLAGS_P2P_CAPABLE) {
|
||||||
|
/*
|
||||||
|
* FIX: Do this conditionally on the interface type to avoid
|
||||||
|
* changing non-P2P use cases.
|
||||||
|
*/
|
||||||
|
drv->disable_11b_rates = 1;
|
||||||
|
nl80211_disable_11b_rates(drv, drv->ifindex, 1);
|
||||||
|
}
|
||||||
|
#endif /* CONFIG_P2P */
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7022,15 +7033,6 @@ nla_put_failure:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int wpa_driver_nl80211_disable_11b_rates(void *priv, int disabled)
|
|
||||||
{
|
|
||||||
struct i802_bss *bss = priv;
|
|
||||||
struct wpa_driver_nl80211_data *drv = bss->drv;
|
|
||||||
drv->disable_11b_rates = disabled;
|
|
||||||
return nl80211_disable_11b_rates(drv, drv->ifindex, disabled);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static int wpa_driver_nl80211_deinit_ap(void *priv)
|
static int wpa_driver_nl80211_deinit_ap(void *priv)
|
||||||
{
|
{
|
||||||
struct i802_bss *bss = priv;
|
struct i802_bss *bss = priv;
|
||||||
|
@ -7530,7 +7532,6 @@ const struct wpa_driver_ops wpa_driver_nl80211_ops = {
|
||||||
.cancel_remain_on_channel =
|
.cancel_remain_on_channel =
|
||||||
wpa_driver_nl80211_cancel_remain_on_channel,
|
wpa_driver_nl80211_cancel_remain_on_channel,
|
||||||
.probe_req_report = wpa_driver_nl80211_probe_req_report,
|
.probe_req_report = wpa_driver_nl80211_probe_req_report,
|
||||||
.disable_11b_rates = wpa_driver_nl80211_disable_11b_rates,
|
|
||||||
.deinit_ap = wpa_driver_nl80211_deinit_ap,
|
.deinit_ap = wpa_driver_nl80211_deinit_ap,
|
||||||
.resume = wpa_driver_nl80211_resume,
|
.resume = wpa_driver_nl80211_resume,
|
||||||
.send_ft_action = nl80211_send_ft_action,
|
.send_ft_action = nl80211_send_ft_action,
|
||||||
|
|
|
@ -426,15 +426,6 @@ static inline int wpa_drv_probe_req_report(struct wpa_supplicant *wpa_s,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int wpa_drv_disable_11b_rates(struct wpa_supplicant *wpa_s,
|
|
||||||
int disabled)
|
|
||||||
{
|
|
||||||
if (wpa_s->driver->disable_11b_rates)
|
|
||||||
return wpa_s->driver->disable_11b_rates(wpa_s->drv_priv,
|
|
||||||
disabled);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int wpa_drv_deinit_ap(struct wpa_supplicant *wpa_s)
|
static inline int wpa_drv_deinit_ap(struct wpa_supplicant *wpa_s)
|
||||||
{
|
{
|
||||||
if (wpa_s->driver->deinit_ap)
|
if (wpa_s->driver->deinit_ap)
|
||||||
|
|
|
@ -2134,11 +2134,6 @@ int wpas_p2p_init(struct wpa_global *global, struct wpa_supplicant *wpa_s)
|
||||||
if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_P2P_CAPABLE))
|
if (!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_P2P_CAPABLE))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (wpa_drv_disable_11b_rates(wpa_s, 1) < 0) {
|
|
||||||
wpa_printf(MSG_DEBUG, "P2P: Failed to disable 11b rates");
|
|
||||||
/* Continue anyway; this is not really a fatal error */
|
|
||||||
}
|
|
||||||
|
|
||||||
if (global->p2p)
|
if (global->p2p)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue