Re: [PATCH net-next v6 7/7] r8169: fix RTL8116af can not enter s0idle and c10

From: Jakub Kicinski

Date: Tue Jul 21 2026 - 12:16:14 EST


On Thu, 9 Jul 2026 18:02:36 +0800 javen wrote:
> From: Javen Xu <javen_xu@xxxxxxxxxxxxxx>
>
> RTL8116AF is a multi-function device. Functions 2 to 7 are hidden from
> the PCI core and return an all-ones response when their vendor ID is read,
> so they are not enumerated as normal PCI functions.
>
> However, these hidden functions can still affect platform power
> management. If they are left in D0 or keep ASPM disabled, the platform may
> fail to enter the low-power s0ix state and the CPU package may fail to
> enter Package C10.
>
> Put functions 2 to 7 into D3hot and enable ASPM on their PCIe link control
> register. Since these functions are hidden, access their configuration
> space through pci_bus_read_config_dword() / pci_bus_write_config_dword()
> using the same slot and the target function numbers.
>
> Ignore functions that return a PCI error response when reading their
> configuration space.

drivers/net/ethernet/realtek/r8169_main.c:3803:29: warning: invalid assignment: |=
drivers/net/ethernet/realtek/r8169_main.c:3803:29: left side has type unsigned short
drivers/net/ethernet/realtek/r8169_main.c:3803:29: right side has type restricted pci_power_t
--
pw-bot: cr