Patch "rtw88: pci: Power cycle device during shutdown" has been added to the 5.8-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    rtw88: pci: Power cycle device during shutdown

to the 5.8-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     rtw88-pci-power-cycle-device-during-shutdown.patch
and it can be found in the queue-5.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 5f61394497750690dc6a561a271112c5c459ca4b
Author: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
Date:   Tue Sep 29 00:55:08 2020 +0800

    rtw88: pci: Power cycle device during shutdown
    
    [ Upstream commit 44492e70adc8086c42d3745d21d591657a427f04 ]
    
    There are reports that 8822CE fails to work rtw88 with "failed to read DBI
    register" error. Also I have a system with 8723DE which freezes the whole
    system when the rtw88 is probing the device.
    
    According to [1], platform firmware may not properly power manage the
    device during shutdown. I did some expirements and putting the device to
    D3 can workaround the issue.
    
    So let's power cycle the device by putting the device to D3 at shutdown
    to prevent the issue from happening.
    
    [1] https://bugzilla.kernel.org/show_bug.cgi?id=206411#c9
    
    BugLink: https://bugs.launchpad.net/bugs/1872984
    Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
    Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20200928165508.20775-1-kai.heng.feng@xxxxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c
index 3413973bc4750..7f1f5073b9f4d 100644
--- a/drivers/net/wireless/realtek/rtw88/pci.c
+++ b/drivers/net/wireless/realtek/rtw88/pci.c
@@ -1599,6 +1599,8 @@ void rtw_pci_shutdown(struct pci_dev *pdev)
 
 	if (chip->ops->shutdown)
 		chip->ops->shutdown(rtwdev);
+
+	pci_set_power_state(pdev, PCI_D3hot);
 }
 EXPORT_SYMBOL(rtw_pci_shutdown);
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux