Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1439466
| 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 |
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
[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