Re: rtl8821ae keep alive not set, connection lost
From: James Cameron <hidden>
Date: 2017-09-20 09:36:42
On Tue, Sep 19, 2017 at 07:42:04PM +1000, James Cameron wrote:
On Thu, Sep 14, 2017 at 07:27:39PM +1000, James Cameron wrote:quoted
On Wed, Sep 13, 2017 at 07:39:35PM -0500, Larry Finger wrote:quoted
On 09/13/2017 04:46 PM, James Cameron wrote:quoted
I'll give it some more testing and let you know, but it seems as capable of keeping a connection as 4.13 plus my earlier revert.Testing went well; removing the call to enable ASPM was as good as changing the DBI read back to 16-bit width.quoted
The change I sent earlier should be as good as reverting the change to write_byte in your reversion.Yes, that would be the hope. But with the 16-bit DBI read, the register REG_DBI_CTRL+0 is being read as well, in the first read in _rtl8821ae_enable_aspm_back_door, so perhaps reading that register has an unexpected side-effect.I've ruled that out after testing for several days different kernels based on v4.13; - add an rtl_read_byte of REG_DBI_CTRL+0 in rtl8821ae_hw_init just after the call to enable_aspm; does not solve problem, - add an rtl_read_byte of REG_DBI_CTRL+0 at the start of _rtl8821ae_check_pcie_dma_hang; does not solve problem,
When the problem occurs, register 0x350 bit 25 is set, for which a comment in _rtl8821ae_check_pcie_dma_hang says means there is an RX hang. So perhaps driver should call _rtl8821ae_check_pcie_dma_hang and _rtl8821ae_reset_pcie_interface_dma. Any ideas where to do this?
[...]
-- James Cameron http://quozl.netrek.org/