Message ID | 20190226131119.7907-2-zajec5@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | c9692820710f57c826b2e43a6fb1e4cd307508b0 |
Delegated to: | Kalle Valo |
Headers | show |
Series | brcmfmac: recover PCIe devices from firmware crashes | expand |
On 2/26/2019 2:11 PM, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > During a normal brcmfmac lifetime brcmf_fw_alloc_request() is called > once only during the probe. It's safe to assume provided array is clear. > > Further brcmfmac improvements may require calling it multiple times > though. This patch allows it by fixing invalid firmware paths like: > brcm/brcmfmac4366c-pcie.binbrcm/brcmfmac4366c-pcie.bin Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com> > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> > --- > drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c | 1 + > 1 file changed, 1 insertion(+)
Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > During a normal brcmfmac lifetime brcmf_fw_alloc_request() is called > once only during the probe. It's safe to assume provided array is clear. > > Further brcmfmac improvements may require calling it multiple times > though. This patch allows it by fixing invalid firmware paths like: > brcm/brcmfmac4366c-pcie.binbrcm/brcmfmac4366c-pcie.bin > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> > Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com> 3 patches applied to wireless-drivers-next.git, thanks. c9692820710f brcmfmac: support repeated brcmf_fw_alloc_request() calls a2ec87ddbf16 brcmfmac: add a function designated for handling firmware fails 4684997d9eea brcmfmac: reset PCIe bus on a firmware crash
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c index 8209a42dea72..65098a02e1ad 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c @@ -743,6 +743,7 @@ brcmf_fw_alloc_request(u32 chip, u32 chiprev, for (j = 0; j < n_fwnames; j++) { fwreq->items[j].path = fwnames[j].path; + fwnames[j].path[0] = '\0'; /* check if firmware path is provided by module parameter */ if (brcmf_mp_global.firmware_path[0] != '\0') { strlcpy(fwnames[j].path, mp_path,