From: Rafał Miłecki <rafal@xxxxxxxxxx> Driver's main init/attach function brcmf_attach() was handling both: wiphy allocation and driver initialization. It meant getting a new wiphy on every init (initial, resume, error recovery). For supplicants/authenticators and Linux users it's move convenient to have the same wiphy over driver's lifetime. It allows e.g. automatic recovery after a firmware crash. This patchset was tested on BCM4366 (PCIe) and BCM43430 (SDIO). Right now only PCIe makes use of keeping the same wiphy. I got RPi Zero W so I'm planning to add firmware crash recovery & keep wiphy for SDIO in the future. Rafał Miłecki (3): brcmfmac: move "cfg80211_ops" pointer to another struct brcmfmac: split brcmf_attach() and brcmf_detach() functions brcmfmac: don't realloc wiphy during PCIe reset .../broadcom/brcm80211/brcmfmac/bus.h | 4 +- .../broadcom/brcm80211/brcmfmac/cfg80211.c | 1 - .../broadcom/brcm80211/brcmfmac/cfg80211.h | 1 - .../broadcom/brcm80211/brcmfmac/core.c | 42 ++++++++++++++----- .../broadcom/brcm80211/brcmfmac/core.h | 1 + .../broadcom/brcm80211/brcmfmac/pcie.c | 13 +++++- .../broadcom/brcm80211/brcmfmac/sdio.c | 15 +++++-- .../broadcom/brcm80211/brcmfmac/usb.c | 34 ++++++++++++--- 8 files changed, 87 insertions(+), 24 deletions(-) -- 2.21.0