https://bugzilla.kernel.org/show_bug.cgi?id=221987

            Bug ID: 221987
           Summary: ASUS TUF GAMING B550-PRO: duplicate ACPI _PLD group
                    position for AMD 1022:43ee causes USB peer collision
           Product: ACPI
           Version: 2.5
          Hardware: AMD
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: Config-Tables
          Assignee: [email protected]
          Reporter: [email protected]
        Regression: No

Created attachment 310815
  --> https://bugzilla.kernel.org/attachment.cgi?id=310815&action=edit
ACPI DSDT excerpts, sysfs peer mappings, controller information, and boot
warning

Hardware:
ASUS TUF GAMING B550-PRO
BIOS 3644, dated 2026-08-19
AMD 500 Series Chipset USB 3.1 xHCI Controller [1022:43ee]
Subsystem [1b21:1142]
Kernel: 7.2.3-2-MANJARO

At boot the kernel reports:

    usb: port power management may be unreliable

The warning occurs while initializing xHCI controller 0000:02:00.0.

The ACPI node for this controller is:

    \_SB_.PCI0.GPP1.PTXH

Sysfs exposes the following relevant port locations:

    usb1-port1  hotplug   location=0x8000000a
    usb1-port2  not used  location=0x8000000b

    usb2-port1  hotplug   location=0x8000000a
    usb2-port2  hotplug   location=0x8000000a

usb1-port1 and usb2-port1 are paired successfully.
usb2-port2 remains unpaired.

Ports 3 and 4 map correctly:

    usb1-port3 / usb2-port3 = 0x8000000c
    usb1-port4 / usb2-port4 = 0x8000000d

A second xHCI controller in the same machine (0000:0a:00.3) has
completely symmetric USB2/USB3 peer mappings for ports 1-4.

I dumped and disassembled the DSDT.

Under:

    \_SB_.PCI0.GPP1.PTXH.RHUB

UPGP() selects package PT2 when XDID == 0x43EE:

    ElseIf (... || (XDID == 0x43EE))
    {
        ...
        USBP [Local0] = DerefOf (PT2 [Local0])
    }

PT2 is defined beginning with:

    0x0A,
    0x0A,
    0x0C,
    0x0D,
    0x0A,
    0x0B,
    0x0C,
    0x0D,

The corresponding _PLD methods use:

    POT1 -> USBP[0]
    POT2 -> USBP[1]
    POT5 -> USBP[4]
    POT6 -> USBP[5]

GPLD() writes that value into the _PLD Group Position field.

Thus the firmware produces:

    POT1 = 0x0A
    POT2 = 0x0A
    POT5 = 0x0A
    POT6 = 0x0B

This exactly matches the duplicate location exposed by Linux and the
failed peer association.

For comparison, the PT4 package begins with:

    0x0A, 0x0B, 0x0C, 0x0D

This strongly suggests that PT2[1] = 0x0A is an erroneous firmware
entry, with 0x0B likely intended.

This appears related in area to bug 221957, which also involves ASUS
PTXH.RHUB / UPGP USB _PLD generation, but the defect here is different:
the 0x43EE branch exists and executes; PT2 itself contains the duplicate
group-position value.

I have not applied any ACPI override or firmware modification.

Separately, the same 0000:02:00.0 xHCI controller reports:

    xHC error in resume, USBSTS 0x401, Reinit

after ACPI S3 resume on this system. I have not established that the
resume issue is causally related to this _PLD defect.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

_______________________________________________
acpi-bugzilla mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to