mac80211: brcm: backport brcmfmac 5.2 patches
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / brcm / 362-v5.2-0002-brcmfmac-remove-pending-parameter-from-brcmf_usb_fre.patch
diff --git a/package/kernel/mac80211/patches/brcm/362-v5.2-0002-brcmfmac-remove-pending-parameter-from-brcmf_usb_fre.patch b/package/kernel/mac80211/patches/brcm/362-v5.2-0002-brcmfmac-remove-pending-parameter-from-brcmf_usb_fre.patch
new file mode 100644 (file)
index 0000000..088e731
--- /dev/null
@@ -0,0 +1,54 @@
+From 2b78e5f5223666d403d4fdb30af4ad65c8da3cdb Mon Sep 17 00:00:00 2001
+From: Piotr Figiel <p.figiel@camlintechnologies.com>
+Date: Fri, 8 Mar 2019 15:25:06 +0000
+Subject: [PATCH] brcmfmac: remove pending parameter from brcmf_usb_free_q
+
+brcmf_usb_free_q is no longer called with pending=true thus this boolean
+parameter is no longer needed.
+
+Signed-off-by: Piotr Figiel <p.figiel@camlintechnologies.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+ .../wireless/broadcom/brcm80211/brcmfmac/usb.c    | 15 ++++++---------
+ 1 file changed, 6 insertions(+), 9 deletions(-)
+
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
+@@ -445,9 +445,10 @@ fail:
+ }
+-static void brcmf_usb_free_q(struct list_head *q, bool pending)
++static void brcmf_usb_free_q(struct list_head *q)
+ {
+       struct brcmf_usbreq *req, *next;
++
+       int i = 0;
+       list_for_each_entry_safe(req, next, q, list) {
+               if (!req->urb) {
+@@ -455,12 +456,8 @@ static void brcmf_usb_free_q(struct list
+                       break;
+               }
+               i++;
+-              if (pending) {
+-                      usb_kill_urb(req->urb);
+-              } else {
+-                      usb_free_urb(req->urb);
+-                      list_del_init(&req->list);
+-              }
++              usb_free_urb(req->urb);
++              list_del_init(&req->list);
+       }
+ }
+@@ -1029,8 +1026,8 @@ static void brcmf_usb_detach(struct brcm
+       brcmf_dbg(USB, "Enter, devinfo %p\n", devinfo);
+       /* free the URBS */
+-      brcmf_usb_free_q(&devinfo->rx_freeq, false);
+-      brcmf_usb_free_q(&devinfo->tx_freeq, false);
++      brcmf_usb_free_q(&devinfo->rx_freeq);
++      brcmf_usb_free_q(&devinfo->tx_freeq);
+       usb_free_urb(devinfo->ctl_urb);
+       usb_free_urb(devinfo->bulk_urb);