Search Linux Wireless

Re: [PATCH] brcmfmac: shut down AP and set IBSS mode only on primary interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10-8-2016 10:01, Wright Feng wrote:
> When stopping hostap on virtual interface, driver will set INFRA and AP
> mode that may affect the functionality on primary interface. For example,
> if we create and stop hostapd on virtual interface then association
> cannot work on primary interface because INFRA mode has been set to IBSS.
> Hence we shut down AP and set IBSS mode only on primary interface.

What is actually the use-case here. Can you elaborate? BRCMF_C_DOWN
command turns out to be effectively bring the whole stack down and not
just the supplied interface. I suppose you are hitting that issue here
as well, right?

Regards,
Arend

> Signed-off-by: Wright Feng <wright.feng@xxxxxxxxxxx>
> ---
>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> index 2628d5e..0687ab9 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> @@ -4716,6 +4716,8 @@ exit:
> 
>  static int brcmf_cfg80211_stop_ap(struct wiphy *wiphy, struct net_device *ndev)
>  {
> +       struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
> +       struct net_device *primary_ndev = cfg_to_ndev(cfg);
>         struct brcmf_if *ifp = netdev_priv(ndev);
>         s32 err;
>         struct brcmf_fil_bss_enable_le bss_enable;
> @@ -4723,7 +4725,8 @@ static int brcmf_cfg80211_stop_ap(struct wiphy *wiphy, struct net_device *ndev)
> 
>         brcmf_dbg(TRACE, "Enter\n");
> 
> -       if (ifp->vif->wdev.iftype == NL80211_IFTYPE_AP) {
> +       if ((ifp->vif->wdev.iftype == NL80211_IFTYPE_AP) &&
> +           (ndev == primary_ndev)) {
>                 /* Due to most likely deauths outstanding we sleep */
>                 /* first to make sure they get processed by fw. */
>                 msleep(400);
> --
> 1.9.1
> 
> 
> This message and any attachments may contain Cypress (or its subsidiaries) confidential information. If it has been received in error, please advise the sender and immediately delete this message.
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux