Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1439466

Re: [1/2] brcmfmac: delete interface directly in code that sent fw request

From Kalle Valo <kvalo@codeaurora.org>
Newsgroups linux.kernel
Subject Re: [1/2] brcmfmac: delete interface directly in code that sent fw request
Date 2016-07-08 15:50 +0200
Message-ID <rSEki-5sf-25@gated-at.bofh.it> (permalink)
References <rPtOq-8lQ-43@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Rafał Miłecki wrote:
> So far when receiving event about in-firmware-interface removal our
> event worker was notifying listener and afterwards it was removing Linux
> interface.
> 
> First of all it was resulting in slightly unexpected order. The listener
> (del_virtual_intf callback) was (usually) returning with success before
> we even called unregister_netdev(ice).
> 
> Please note this couldn't be simply fixed by changing order of calls in
> brcmf_fweh_handle_if_event as unregistering interface earlier could free
> struct brcmf_if.
> 
> Another problem of current implementation are possible lockups. Focus on
> the time slot between calling event handler and removing Linux
> interface. During that time original caller may leave (unlocking rtnl
> semaphore) *and* another call to the same code may be done (locking it
> again). If that happens our event handler will stuck at removing Linux
> interface, it won't handle another event and will block process holding
> rtnl lock.
> 
> This can be simply solved by unregistering interface in a proper
> callback, right after receiving confirmation event from firmware. This
> only required modifying worker to don't unregister on its own if there
> is someone waiting for the event.
> 
> Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

Thanks, 2 patches applied to wireless-drivers-next.git:

a63b09872c1d brcmfmac: delete interface directly in code that sent fw request
dba8fbc67ecd brcmfmac: support removing AP interfaces with "interface_remove"

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

Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

[PATCH 1/2] brcmfmac: delete interface directly in code that sent fw request Rafał Miłecki <zajec5@gmail.com> - 2016-06-29 22:00 +0200
  Re: [1/2] brcmfmac: delete interface directly in code that sent fw  request Kalle Valo <kvalo@codeaurora.org> - 2016-07-08 15:50 +0200

csiph-web