brcmfmac: Reject change vif for p2p if.
Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
cdcef36b3f
commit
1bc7c654a9
|
@ -673,6 +673,18 @@ brcmf_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
|
|||
infra = 0;
|
||||
break;
|
||||
case NL80211_IFTYPE_STATION:
|
||||
/* Ignore change for p2p IF. Unclear why supplicant does this */
|
||||
if ((vif->wdev.iftype == NL80211_IFTYPE_P2P_CLIENT) ||
|
||||
(vif->wdev.iftype == NL80211_IFTYPE_P2P_GO)) {
|
||||
brcmf_dbg(TRACE, "Ignoring cmd for p2p if\n");
|
||||
/* WAR: It is unexpected to get a change of VIF for P2P
|
||||
* IF, but it happens. The request can not be handled
|
||||
* but returning EPERM causes a crash. Returning 0
|
||||
* without setting ieee80211_ptr->iftype causes trace
|
||||
* (WARN_ON) but it works with wpa_supplicant
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
vif->mode = WL_MODE_BSS;
|
||||
infra = 1;
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue