linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Knuth Posern <knuth@posern.org>
To: linux-kernel@vger.kernel.org
Cc: Andreas Noever <andreas.noever@gmail.com>,
	Greg KH <greg@kroah.com>,
	linux-pci@vger.kernel.org
Subject: [PATCH] thunderbolt: Allow loading of module on recent Apple MacBooks with thunderbolt 2 controller
Date: Sun, 20 Sep 2015 20:16:11 +0200	[thread overview]
Message-ID: <55FEF7EB.7030705@posern.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 1928 bytes --]

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

This patch is submitted for upstream inclusion.

Thanks to Greg and Andreas helping coming up with the patch fixing the
bug:
https://bugzilla.kernel.org/show_bug.cgi?id=100191

This is a second trial for me, so I hope the format of this mail is
convenient.
For the changelog/comment, I tried to follow Andrew Mortons guide
https://www.ozlabs.org/~akpm/stuff/tpp.txt

- why the kernel needed patching
1st paragraph.

- the overall design approach in the patch
- implementation details
2nd paragraph

- testing results
3rd paragraph

Cheers,

Knuth.

--- linux/drivers/thunderbolt/nhi.c.orig 2015-09-20 17:36:14.014964300 +0200
+++ linux/drivers/thunderbolt/nhi.c 2015-09-13 09:58:18.000000000 +0200
@@ -643,7 +643,7 @@ static struct pci_device_id nhi_ids[] =
{
.class = PCI_CLASS_SYSTEM_OTHER << 8, .class_mask = ~0,
.vendor = PCI_VENDOR_ID_INTEL, .device = 0x156c,
- .subvendor = 0x2222, .subdevice = 0x1111,
+ .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID,
},
{ 0,}
};


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

             reply	other threads:[~2015-09-20 18:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-20 18:16 Knuth Posern [this message]
2015-09-20 19:04 ` [PATCH] thunderbolt: Allow loading of module on recent Apple MacBooks with thunderbolt 2 controller Greg KH
  -- strict thread matches above, loose matches on Subject: below --
2015-09-20 19:25 Knuth Posern
2015-09-20 22:22 ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55FEF7EB.7030705@posern.org \
    --to=knuth@posern.org \
    --cc=andreas.noever@gmail.com \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).