[PATCH 0/6] Thunderbolt workarounds take 2

From: Mika Westerberg
Date: Tue Jun 25 2013 - 12:20:47 EST


Hi all,

This is the second iteration of the patches first posted here quite a while
ago:

https://lkml.org/lkml/2012/12/13/589

With Thunderbolt devices we might see pretty complex PCIe hierarchies that
the current ACPI hotplug code was not able to handle properly but instead
failed to scan the whole hierarchy. This series tries to address these
problems. In addition to that there's a possibility that only part of the
chain is disconnected so we don't want to leave behind stale PCI devices.

We have tested this on Acer Aspire S5 with the largest chain looking like
this:

PC +--+ eSata Hub #0 +--+ eSata Hub #1 +--+ Apple Thunderbolt display +--+ Apple ethernet dongle

There are still problems with different device drivers because of the
surprise hotplug nature of Thunderbolt, causing occasional hangs and
failures that should be fixed per-driver later on (not addressed in this
series).

Currently Thunderbolt on Apple hardware like Macbooks is not yet supported
as they use some different mechanism than ACPI events to trigger hotplug
events.

The series is based on linux-pm.git/linux-next.

Kirill A. Shutemov (4):
PCI: acpiphp: do not check for SLOT_ENABLED in enable_device()
PCI: acpiphp: enable_device(): rescan even if no new devices on slot
PCI: introduce pci_trim_stale_devices()
PCI: acpiphp: check for new devices on enabled host

Mika Westerberg (2):
PCI: acpiphp: look _RMV method a bit deeper in the hierarhcy
x86/PCI: quirk Thunderbolt PCI-to-PCI bridges

arch/x86/pci/fixup.c | 51 ++++++++++++++++++++++++
drivers/pci/hotplug/acpi_pcihp.c | 53 ++++++++++++++++++++++---
drivers/pci/hotplug/acpiphp_glue.c | 79 +++++++++++++++++---------------------
drivers/pci/remove.c | 20 ++++++++++
include/linux/pci.h | 1 +
5 files changed, 156 insertions(+), 48 deletions(-)

--
1.8.3.1

--
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/