diff options
Diffstat (limited to 'package/kernel/mac80211/patches/brcm/350-v5.1-brcmfmac-print-firmware-reported-ring-status-errors.patch')
-rw-r--r-- | package/kernel/mac80211/patches/brcm/350-v5.1-brcmfmac-print-firmware-reported-ring-status-errors.patch | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/package/kernel/mac80211/patches/brcm/350-v5.1-brcmfmac-print-firmware-reported-ring-status-errors.patch b/package/kernel/mac80211/patches/brcm/350-v5.1-brcmfmac-print-firmware-reported-ring-status-errors.patch deleted file mode 100644 index b41b9cebf4..0000000000 --- a/package/kernel/mac80211/patches/brcm/350-v5.1-brcmfmac-print-firmware-reported-ring-status-errors.patch +++ /dev/null @@ -1,67 +0,0 @@ -From c988b78244df8216902e20de536434e2f474a37e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl> -Date: Fri, 8 Feb 2019 15:24:39 +0100 -Subject: [PATCH] brcmfmac: print firmware reported ring status errors -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Firmware is capable of reporting ring status. It's used e.g. to signal -some problem with a specific ring setup. This patch adds support for -printing ring & error number which may be useful for debugging setup -issues. - -Signed-off-by: Rafał Miłecki <rafal@milecki.pl> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> ---- - .../broadcom/brcm80211/brcmfmac/msgbuf.c | 25 +++++++++++++++++++ - 1 file changed, 25 insertions(+) - ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c -@@ -134,6 +134,14 @@ struct msgbuf_completion_hdr { - __le16 flow_ring_id; - }; - -+/* Data struct for the MSGBUF_TYPE_RING_STATUS */ -+struct msgbuf_ring_status { -+ struct msgbuf_common_hdr msg; -+ struct msgbuf_completion_hdr compl_hdr; -+ __le16 write_idx; -+ __le32 rsvd0[5]; -+}; -+ - struct msgbuf_rx_event { - struct msgbuf_common_hdr msg; - struct msgbuf_completion_hdr compl_hdr; -@@ -1180,6 +1188,19 @@ brcmf_msgbuf_process_rx_complete(struct - brcmf_netif_rx(ifp, skb); - } - -+static void brcmf_msgbuf_process_ring_status(struct brcmf_msgbuf *msgbuf, -+ void *buf) -+{ -+ struct msgbuf_ring_status *ring_status = buf; -+ int err; -+ -+ err = le16_to_cpu(ring_status->compl_hdr.status); -+ if (err) { -+ int ring = le16_to_cpu(ring_status->compl_hdr.flow_ring_id); -+ -+ brcmf_err("Firmware reported ring %d error: %d\n", ring, err); -+ } -+} - - static void - brcmf_msgbuf_process_flow_ring_create_response(struct brcmf_msgbuf *msgbuf, -@@ -1241,6 +1262,10 @@ static void brcmf_msgbuf_process_msgtype - - msg = (struct msgbuf_common_hdr *)buf; - switch (msg->msgtype) { -+ case MSGBUF_TYPE_RING_STATUS: -+ brcmf_dbg(MSGBUF, "MSGBUF_TYPE_RING_STATUS\n"); -+ brcmf_msgbuf_process_ring_status(msgbuf, buf); -+ break; - case MSGBUF_TYPE_FLOW_RING_CREATE_CMPLT: - brcmf_dbg(MSGBUF, "MSGBUF_TYPE_FLOW_RING_CREATE_CMPLT\n"); - brcmf_msgbuf_process_flow_ring_create_response(msgbuf, buf); |