lkml.org 
[lkml]   [2018]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.4 082/101] rtlwifi: rtl_pci: Fix the bug when inactiveps is enabled.
    Date
    From: Tsang-Shian Lin <thlin@realtek.com>

    [ Upstream commit b7573a0a27bfa8270dea9b145448f6884b7cacc1 ]

    Reset the driver current tx read/write index to zero when inactiveps
    nic out of sync with HW state. Wrong driver tx read/write index will
    cause Tx fail.

    Signed-off-by: Tsang-Shian Lin <thlin@realtek.com>
    Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Cc: Yan-Hsuan Chuang <yhchuang@realtek.com>
    Cc: Birming Chiu <birming@realtek.com>
    Cc: Shaofu <shaofu@realtek.com>
    Cc: Steven Ting <steventing@realtek.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    drivers/net/wireless/realtek/rtlwifi/pci.c | 7 +++++++
    1 file changed, 7 insertions(+)

    diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wireless/realtek/rtlwifi/pci.c
    index c48b7e8ee0d6..b51815eccdb3 100644
    --- a/drivers/net/wireless/realtek/rtlwifi/pci.c
    +++ b/drivers/net/wireless/realtek/rtlwifi/pci.c
    @@ -1572,7 +1572,14 @@ int rtl_pci_reset_trx_ring(struct ieee80211_hw *hw)
    dev_kfree_skb_irq(skb);
    ring->idx = (ring->idx + 1) % ring->entries;
    }
    +
    + if (rtlpriv->use_new_trx_flow) {
    + rtlpci->tx_ring[i].cur_tx_rp = 0;
    + rtlpci->tx_ring[i].cur_tx_wp = 0;
    + }
    +
    ring->idx = 0;
    + ring->entries = rtlpci->txringcount[i];
    }
    }
    spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, flags);
    --
    2.14.1
    \
     
     \ /
      Last update: 2018-03-08 06:07    [W:2.825 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site