Re: Regression caused by commit 7bb05b85bc2d ("r8169: don't use MSI-X on RTL8106e")

From: Kai-Heng Feng
Date: Wed Sep 12 2018 - 01:57:45 EST


at 12:56, Jian-Hong Pan <jian-hong@xxxxxxxxxxxx> wrote:

2018-09-12 11:42 GMT+08:00 Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>:
Hi Jian-Hong,

There's a Dell machine with RTL8106e stops to work after S3 since the commit
introduced.
So I am wondering if it's possible to revert the commit and use
DMI/subsystem id based quirk table?

It's because of commit bc976233a872 ("genirq/msi, x86/vector: Prevent
reservation mode for non maskable MSI") cleared the reservation mode, and I
can see this after S3:

[ 94.872838] do_IRQ: 3.33 No irq handler for vector

If the device uses MSI-X instead of MSI, the issue doesn't happen because of
reservation mode.

Interesting! Opposite symptom!
Could you help try the patch
https://marc.info/?l=linux-pci&m=153629858601668&w=4 with and without
reverting the commit?

Same issue after applying this patch. MSI-X works, MSI doesn't work.


If the patch does not work, another suggestion: You can try falling
back to only PCI_IRQ_LEGACY.

This device is capable of using MSI-X, I don't think falls back to use legacy is a good idea.
Instead, using a quirk table should be more appropriate.

Kai-Heng


Regards,
Jian-Hong Pan

Hi Thomas,

Is it something should be handled by x86 BIOS? Because I don't see this
issue when I use Suspend-to-Idle, which doesn't use BIOS to do suspend.

Kai-Heng