aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch')
-rw-r--r--package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch17
1 files changed, 9 insertions, 8 deletions
diff --git a/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch b/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
index f3da1df541..1a4a1ec348 100644
--- a/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
+++ b/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
@@ -68,29 +68,30 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
ret = brcmf_fw_complete_request(fw, fwctx);
- if (ret < 0)
- goto fail;
--
+
- do {
- if (++fwctx->curpos == fwctx->req->n_items) {
- ret = 0;
- goto done;
- }
-
+-
- ret = brcmf_fw_request_next_item(fwctx, false);
- } while (ret == -EAGAIN);
-
- return;
-+ while (ret == 0 && ++fwctx->curpos < fwctx->req->n_items) {
-+ cur = &fwctx->req->items[fwctx->curpos];
-+ request_firmware(&fw, cur->path, fwctx->dev);
-+ ret = brcmf_fw_complete_request(fw, ctx);
-+ }
-
+-
-fail:
- brcmf_dbg(TRACE, "failed err=%d: dev=%s, fw=%s\n", ret,
- dev_name(fwctx->dev), cur->path);
- brcmf_fw_free_request(fwctx->req);
- fwctx->req = NULL;
-done:
++ while (ret == 0 && ++fwctx->curpos < fwctx->req->n_items) {
++ cur = &fwctx->req->items[fwctx->curpos];
++ request_firmware(&fw, cur->path, fwctx->dev);
++ ret = brcmf_fw_complete_request(fw, ctx);
++ }
++
+ if (ret) {
+ brcmf_dbg(TRACE, "failed err=%d: dev=%s, fw=%s\n", ret,
+ dev_name(fwctx->dev), cur->path);