Re: [PATCH 4/6] PCI: acpiphp: check for new devices on enabled host

From: Yinghai Lu
Date: Thu Jun 27 2013 - 15:05:10 EST


On Tue, Jun 25, 2013 at 9:22 AM, Mika Westerberg
<mika.westerberg@xxxxxxxxxxxxxxx> wrote:
> From: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
>
> Current acpiphp_check_bridge() implementation is pretty dumb:
> - it enables the slot if it's not enabled and the slot status is
> ACPI_STA_ALL;
> - it disables the slot if it's enabled and slot is not in ACPI_STA_ALL
> state.
>
> This behavior is not enough to handle Thunderbolt chaining case
> properly. We need to actually rescan for new devices even if a device
> has already in the slot.
>
> The new implementation disables and stops the slot if it's not in
> ACPI_STA_ALL state.
>
> For ACPI_STA_ALL state we first trim devices which don't respond and
> look for the ones after that. We do that even if slot already enabled
> (SLOT_ENABLED).

that is not right, some time BUS_CHECK is even sent root bus.
in that case, stop all devices in slots and load driver again.

like you put one card in one slots, but all devices in other slots get stop
and enable again.

Thanks

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/