On Thu, Aug 23, 2018 at 06:46:28PM +0800, Jian-Hong Pan wrote: > > On 22.08.2018 13:44, Thomas Gleixner wrote: > >> Can you please do the following: > > Tested on ASUS X441AUR equipped with RTL8106e. > This is the laptop whose ethernet does not come back after resume, if > it does not fallback to MSI. > ... > dev@endless:~$ sudo lspci -xnnvvs 02:00.0 > ... > 00: ec 10 36 81 07 04 10 00 07 00 00 02 10 00 00 00 > 10: 01 e0 00 00 00 00 00 00 04 00 10 ef 00 00 00 00 > 20: 0c 00 00 e0 00 00 00 00 00 00 00 00 43 10 0f 20 > 30: 00 00 00 00 40 00 00 00 00 00 00 00 ff 01 00 00 > > After comparing, there is no difference between before suspend and > after resume. It'd be better to compare the hex data directly and ignore the lspci decoding, since lspci doesn't decode everything. You only dumped the first 0x40 bytes of config space, and all capabilities, including the MSI and MSI-X capabilities, are past that: > Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+ > Capabilities: [b0] MSI-X: Enable+ Count=4 Masked- > Vector table: BAR=4 offset=00000000 > PBA: BAR=4 offset=00000800 In addition, some of the MSI-X information for this device is in BAR 4. "lspci -xxx" will dump all config space, and you can use a tool like http://cmp.felk.cvut.cz/~pisa/linux/rdwrmem.c or https://github.com/billfarrow/pcimem to dump the BAR contents.