mirror of https://gitee.com/openkylin/linux.git
rt2x00: rt2x00dev: defer operational mode detection
Only do it after the queues are allocated. This will allow to use the 'rt2x00dev->bcn->limit' instead of 'rt2x00dev->ops->bcn->entry_num'. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
0879f87508
commit
e9e433032c
|
@ -1300,23 +1300,6 @@ int rt2x00lib_probe_dev(struct rt2x00_dev *rt2x00dev)
|
||||||
rt2x00dev->hw->wiphy->addr_mask[ETH_ALEN - 1] =
|
rt2x00dev->hw->wiphy->addr_mask[ETH_ALEN - 1] =
|
||||||
(rt2x00dev->ops->max_ap_intf - 1);
|
(rt2x00dev->ops->max_ap_intf - 1);
|
||||||
|
|
||||||
/*
|
|
||||||
* Determine which operating modes are supported, all modes
|
|
||||||
* which require beaconing, depend on the availability of
|
|
||||||
* beacon entries.
|
|
||||||
*/
|
|
||||||
rt2x00dev->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
|
|
||||||
if (rt2x00dev->ops->bcn->entry_num > 0)
|
|
||||||
rt2x00dev->hw->wiphy->interface_modes |=
|
|
||||||
BIT(NL80211_IFTYPE_ADHOC) |
|
|
||||||
BIT(NL80211_IFTYPE_AP) |
|
|
||||||
#ifdef CONFIG_MAC80211_MESH
|
|
||||||
BIT(NL80211_IFTYPE_MESH_POINT) |
|
|
||||||
#endif
|
|
||||||
BIT(NL80211_IFTYPE_WDS);
|
|
||||||
|
|
||||||
rt2x00dev->hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialize work.
|
* Initialize work.
|
||||||
*/
|
*/
|
||||||
|
@ -1347,6 +1330,23 @@ int rt2x00lib_probe_dev(struct rt2x00_dev *rt2x00dev)
|
||||||
if (retval)
|
if (retval)
|
||||||
goto exit;
|
goto exit;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Determine which operating modes are supported, all modes
|
||||||
|
* which require beaconing, depend on the availability of
|
||||||
|
* beacon entries.
|
||||||
|
*/
|
||||||
|
rt2x00dev->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
|
||||||
|
if (rt2x00dev->ops->bcn->entry_num > 0)
|
||||||
|
rt2x00dev->hw->wiphy->interface_modes |=
|
||||||
|
BIT(NL80211_IFTYPE_ADHOC) |
|
||||||
|
BIT(NL80211_IFTYPE_AP) |
|
||||||
|
#ifdef CONFIG_MAC80211_MESH
|
||||||
|
BIT(NL80211_IFTYPE_MESH_POINT) |
|
||||||
|
#endif
|
||||||
|
BIT(NL80211_IFTYPE_WDS);
|
||||||
|
|
||||||
|
rt2x00dev->hw->wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initialize ieee80211 structure.
|
* Initialize ieee80211 structure.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue