]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
rtlwifi: rtl8192de: Fix missing code to retrieve RX buffer address
authorLarry Finger <Larry.Finger@lwfinger.net>
Mon, 11 Nov 2019 19:40:44 +0000 (13:40 -0600)
committerMarcelo Henrique Cerri <marcelo.cerri@canonical.com>
Fri, 17 Jan 2020 17:22:38 +0000 (14:22 -0300)
BugLink: https://bugs.launchpad.net/bugs/1857158
commit 0e531cc575c4e9e3dd52ad287b49d3c2dc74c810 upstream.

In commit 38506ecefab9 ("rtlwifi: rtl_pci: Start modification for
new drivers"), a callback to get the RX buffer address was added to
the PCI driver. Unfortunately, driver rtl8192de was not modified
appropriately and the code runs into a WARN_ONCE() call. The use
of an incorrect array is also fixed.

Fixes: 38506ecefab9 ("rtlwifi: rtl_pci: Start modification for new drivers")
Cc: Stable <stable@vger.kernel.org> # 3.18+
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
drivers/net/wireless/realtek/rtlwifi/rtl8192de/trx.c

index d7b023cf74001db24145a5454950074e0ff97100..9cf1f59d5137f71beaefe53abcb563b847082ceb 100644 (file)
@@ -840,13 +840,15 @@ u64 rtl92de_get_desc(struct ieee80211_hw *hw,
                        break;
                }
        } else {
-               struct rx_desc_92c *pdesc = (struct rx_desc_92c *)p_desc;
                switch (desc_name) {
                case HW_DESC_OWN:
-                       ret = GET_RX_DESC_OWN(pdesc);
+                       ret = GET_RX_DESC_OWN(p_desc);
                        break;
                case HW_DESC_RXPKT_LEN:
-                       ret = GET_RX_DESC_PKT_LEN(pdesc);
+                       ret = GET_RX_DESC_PKT_LEN(p_desc);
+                       break;
+               case HW_DESC_RXBUFF_ADDR:
+                       ret = GET_RX_DESC_BUFF_ADDR(p_desc);
                        break;
                default:
                        WARN_ONCE(true, "rtl8192de: ERR rxdesc :%d not processed\n",