linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kalle Valo <kvalo@codeaurora.org>
To: "Rafał Miłecki" <zajec5@gmail.com>
Cc: "Rafał Miłecki" <zajec5@gmail.com>,
	"Brett Rudley" <brudley@broadcom.com>,
	"Arend van Spriel" <arend@broadcom.com>,
	"Franky (Zhenhui) Lin" <frankyl@broadcom.com>,
	"Hante Meuleman" <meuleman@broadcom.com>,
	"Pieter-Paul Giesberts" <pieterpg@broadcom.com>,
	linux-wireless@vger.kernel.org (open list:BROADCOM BRCM80211
	IEEE802.11n WIRELESS DRIVER),
	brcm80211-dev-list@broadcom.com (open list:BROADCOM BRCM80211
	IEEE802.11n WIRELESS DRIVER),
	netdev@vger.kernel.org (open list:NETWORKING DRIVERS),
	linux-kernel@vger.kernel.org (open list)
Subject: Re: [V2, next] brcmfmac: don't remove interface on link down firmware event
Date: Thu, 16 Jun 2016 15:12:52 +0000 (UTC)	[thread overview]
Message-ID: <20160616151252.30C226141A@smtp.codeaurora.org> (raw)
In-Reply-To: <1464583269-30255-1-git-send-email-zajec5@gmail.com>

Rafał Miłecki wrote:
> There are two firmware events we handle similarly in brcmfmac:
> BRCMF_E_LINK and BRCMF_E_IF. The difference from firmware point of view
> is that the first one means BSS remains present in the firmware. Trying
> to (re)create it (e.g. when adding new virtual interface) will result in
> an error.
> 
> Current code treats both events in a similar way. It removes Linux
> interface for each of them. It works OK with e.g. BCM43602. Its firmware
> generates both events for each interface. It means we get BRCMF_E_LINK
> and remove interface. That is soon followed by BRCMF_E_IF which means
> BSS was also removed in a firmware. The only downside of this is a
> harmless error like:
> [  208.643180] brcmfmac: brcmf_fweh_call_event_handler: no interface object
> 
> Unfortunately BCM4366 firmware doesn't automatically remove BSS and so
> it doesn't generate BRCMF_E_IF. In such case we incorrectly remove Linux
> interface on BRCMF_E_LINK as BSS is still present in the firmware. It
> results in an error when trying to re-create virtual interface, e.g.:
> > iw phy phy1 interface add wlan1-1 type __ap
> [ 3602.929199] brcmfmac: brcmf_ap_add_vif: timeout occurred
> command failed: I/O error (-5)
> 
> With this patch we don't remove Linux interface while firmware keeps
> BSS. Thanks to this we keep a consistent states of host driver and
> device firmware.
> 
> Further improvement should be to mark BSS as disabled and remove
> interface on BRCMF_E_LINK. Then we should add support for reusing
> BSS-es.
> 
> Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

Thanks, 1 patch applied to wireless-drivers-next.git:

fd3667a8d1cb brcmfmac: don't remove interface on link down firmware event

-- 
Sent by pwcli
https://patchwork.kernel.org/patch/9140237/

      reply	other threads:[~2016-06-16 15:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-29 21:39 [PATCH next] brcmfmac: don't remove interface on link down firmware event Rafał Miłecki
2016-05-29 22:01 ` kbuild test robot
2016-05-30  4:40 ` [PATCH V2 " Rafał Miłecki
2016-06-16 15:12   ` Kalle Valo [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160616151252.30C226141A@smtp.codeaurora.org \
    --to=kvalo@codeaurora.org \
    --cc=arend@broadcom.com \
    --cc=brcm80211-dev-list@broadcom.com \
    --cc=brudley@broadcom.com \
    --cc=frankyl@broadcom.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=meuleman@broadcom.com \
    --cc=netdev@vger.kernel.org \
    --cc=pieterpg@broadcom.com \
    --cc=zajec5@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).