diff options
Diffstat (limited to 'package/kernel/mac80211/patches/861-brcmfmac-register-wiphy-s-during-module_init.patch')
-rw-r--r-- | package/kernel/mac80211/patches/861-brcmfmac-register-wiphy-s-during-module_init.patch | 35 |
1 files changed, 9 insertions, 26 deletions
diff --git a/package/kernel/mac80211/patches/861-brcmfmac-register-wiphy-s-during-module_init.patch b/package/kernel/mac80211/patches/861-brcmfmac-register-wiphy-s-during-module_init.patch index 685a5f9..d60d3fa 100644 --- a/package/kernel/mac80211/patches/861-brcmfmac-register-wiphy-s-during-module_init.patch +++ b/package/kernel/mac80211/patches/861-brcmfmac-register-wiphy-s-during-module_init.patch @@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com> --- a/drivers/net/wireless/brcm80211/brcmfmac/core.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/core.c -@@ -1213,6 +1213,7 @@ static int __init brcmfmac_module_init(v +@@ -1236,6 +1236,7 @@ static int __init brcmfmac_module_init(v #endif if (!schedule_work(&brcmf_driver_work)) return -EBUSY; @@ -23,7 +23,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com> } --- a/drivers/net/wireless/brcm80211/brcmfmac/firmware.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/firmware.c -@@ -422,13 +422,14 @@ struct brcmf_fw { +@@ -420,6 +420,7 @@ struct brcmf_fw { u16 bus_nr; void (*done)(struct device *dev, const struct firmware *fw, void *nvram_image, u32 nvram_len); @@ -31,16 +31,8 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com> }; static void brcmf_fw_request_nvram_done(const struct firmware *fw, void *ctx) - { - struct brcmf_fw *fwctx = ctx; - #if IS_ENABLED(CONFIG_BCM47XX_NVRAM) -- const u8 *bcm47xx_nvram = NULL; -+ u8 *bcm47xx_nvram = NULL; - size_t bcm47xx_nvram_len; - #endif - const u8 *data = NULL; -@@ -468,6 +469,8 @@ static void brcmf_fw_request_nvram_done( - } +@@ -455,6 +456,8 @@ static void brcmf_fw_request_nvram_done( + goto fail; fwctx->done(fwctx->dev, fwctx->code, nvram, nvram_length); + if (fwctx->completion) @@ -48,7 +40,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com> kfree(fwctx); return; -@@ -475,6 +478,8 @@ fail: +@@ -462,6 +465,8 @@ fail: brcmf_dbg(TRACE, "failed: dev=%s\n", dev_name(fwctx->dev)); release_firmware(fwctx->code); device_release_driver(fwctx->dev); @@ -57,7 +49,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com> kfree(fwctx); } -@@ -490,6 +495,8 @@ static void brcmf_fw_request_code_done(c +@@ -477,6 +482,8 @@ static void brcmf_fw_request_code_done(c /* only requested code so done here */ if (!(fwctx->flags & BRCMF_FW_REQUEST_NVRAM)) { fwctx->done(fwctx->dev, fw, NULL, 0); @@ -66,16 +58,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com> kfree(fwctx); return; } -@@ -504,6 +511,8 @@ static void brcmf_fw_request_code_done(c - /* when nvram is optional call .done() callback here */ - if (fwctx->flags & BRCMF_FW_REQ_NV_OPTIONAL) { - fwctx->done(fwctx->dev, fw, NULL, 0); -+ if (fwctx->completion) -+ complete(fwctx->completion); - kfree(fwctx); - return; - } -@@ -513,6 +522,8 @@ static void brcmf_fw_request_code_done(c +@@ -494,6 +501,8 @@ static void brcmf_fw_request_code_done(c fail: brcmf_dbg(TRACE, "failed: dev=%s\n", dev_name(fwctx->dev)); device_release_driver(fwctx->dev); @@ -84,7 +67,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com> kfree(fwctx); } -@@ -524,6 +535,8 @@ int brcmf_fw_get_firmwares_pcie(struct d +@@ -505,6 +514,8 @@ int brcmf_fw_get_firmwares_pcie(struct d u16 domain_nr, u16 bus_nr) { struct brcmf_fw *fwctx; @@ -93,7 +76,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com> brcmf_dbg(TRACE, "enter: dev=%s\n", dev_name(dev)); if (!fw_cb || !code) -@@ -544,9 +557,17 @@ int brcmf_fw_get_firmwares_pcie(struct d +@@ -525,9 +536,17 @@ int brcmf_fw_get_firmwares_pcie(struct d fwctx->domain_nr = domain_nr; fwctx->bus_nr = bus_nr; |