On 2020-06-16 11:06:28 [+0000], Tony Chuang wrote: > > On 2020-06-05 15:47:03 [+0800], yhchuang@xxxxxxxxxxx wrote: > > > From: Yan-Hsuan Chuang <yhchuang@xxxxxxxxxxx> > > > > > > Some platforms cannot read the DBI register successfully for the > > > ASPM settings. After the read failed, the bus could be unstable, > > > and the device just became unavailable [1]. For those platforms, > > > the ASPM should be disabled. But as the ASPM can help the driver > > > to save the power consumption in power save mode, the ASPM is still > > > needed. So, add a module parameter for them to disable it, then > > > the device can still work, while others can benefit from the less > > > power consumption that brings by ASPM enabled. > > > > Can you set disable_aspm if rtw_dbi_read8() fails? Or make a test if it > > is save to use? > > > > If someone notices the warning they still have to search for the warning > > in order to make the link towards loading the module with the > > disable_aspm=1 paramter. > > Is it known what causes the failure? > > > > I think as long as the rtw_dbi_read() fails, the consequent register > operation will also fail, and still get an error read/write the register. > And this is some sort of PCI issue, and I am not really familiar with it. > Such as the root cause or how it fails. Then it does not sound safe to enable it by default. > If we can default disable it, then we can help those platforms, but > then other platform will suffer from higher power consumption. So for those platform, where the error occurs, you expect that the user manages to read the error message (a backtrace from rtw_dbi_read8()) and connects this the need to set a certain module option. > Yen-Hsuan Sebastian