diff options
author | Knuth Posern <knuth@posern.org> | 2015-09-20 15:25:22 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-09-20 18:20:11 -0400 |
commit | a42fb351ca1f340f8307468be765e3f77ddedda9 (patch) | |
tree | 457984bc764252ad8316d53904344cf3552589e0 | |
parent | 1f93e4a96c9109378204c147b3eec0d0e8100fde (diff) |
thunderbolt: Allow loading of module on recent Apple MacBooks with thunderbolt 2 controller
The pci device ids listed in the thunderbolt driver are to restrictive,
which prevents the driver from being loaded on recent Apple MacBooks
using a thunderbolt 2 controller. In particular this prevented any
hot-plugging functionality for thunderbolt based ethernet dongles
(i.e. Apples thunderbolt gigabit ethernet broadcom tg3 based dongle
Model A1433 EMC 2590).
Changing the subvendor and subdevice to PCI_ANY_ID the thunderbolt driver
loads and binds to the pci device 07:00.0 System peripheral:
Intel Corporation Device 156c which is the thunderbolt 2 controller on
the MacBookPro12,1.
Successfully tested on MacBookPro12,1. With the patch the thunderbolt
module gets now loaded on boot. And it provides hot-plugging support both
for a cold-plugged and a warm-plugged ethernet dongle.
Signed-off-by: Andreas Noever <andreas.noever@gmail.com>
Acked-by: Knuth Posern <knuth@posern.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/thunderbolt/nhi.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/thunderbolt/nhi.c b/drivers/thunderbolt/nhi.c index c68fe1222c16..20a41f7de76f 100644 --- a/drivers/thunderbolt/nhi.c +++ b/drivers/thunderbolt/nhi.c | |||
@@ -643,7 +643,7 @@ static struct pci_device_id nhi_ids[] = { | |||
643 | { | 643 | { |
644 | .class = PCI_CLASS_SYSTEM_OTHER << 8, .class_mask = ~0, | 644 | .class = PCI_CLASS_SYSTEM_OTHER << 8, .class_mask = ~0, |
645 | .vendor = PCI_VENDOR_ID_INTEL, .device = 0x156c, | 645 | .vendor = PCI_VENDOR_ID_INTEL, .device = 0x156c, |
646 | .subvendor = 0x2222, .subdevice = 0x1111, | 646 | .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, |
647 | }, | 647 | }, |
648 | { 0,} | 648 | { 0,} |
649 | }; | 649 | }; |