From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751828AbdESRzf (ORCPT ); Fri, 19 May 2017 13:55:35 -0400 Received: from esa8.dell-outbound.iphmx.com ([68.232.149.218]:64307 "EHLO esa8.dell-outbound.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750783AbdESRyt (ORCPT ); Fri, 19 May 2017 13:54:49 -0400 From: Cc: , , , , , , , , , X-LoopCount0: from 10.170.28.39 X-IronPort-AV: E=Sophos;i="5.38,365,1491282000"; d="scan'208";a="990619427" To: Subject: RE: [PATCH 00/24] Thunderbolt security levels and NVM firmware upgrade Thread-Topic: [PATCH 00/24] Thunderbolt security levels and NVM firmware upgrade Thread-Index: AQHSz+WUHMTnewyVAUuTJS2vJgjhJaH72UkggABi+QD//7BvUA== Date: Fri, 19 May 2017 17:54:37 +0000 Message-ID: References: <20170518143914.60902-1-mika.westerberg@linux.intel.com> <799e3a9d4d394d1eb9b9e742d81bd044@ausx13mpc120.AMER.DELL.COM> <20170519171948.GG8541@lahna.fi.intel.com> In-Reply-To: <20170519171948.GG8541@lahna.fi.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.143.18.86] Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v4JHvSvO020745 > > It happens occasionally when you reboot the machine when a device is > connected but seems to be dependent on the BIOS version. Since it is the > BIOS who is supposed to enumerated these devices, I suspect that it is > either problem in BIOS or our PCI enumeration code does something wrong. > I'm fairly certain it's an issue somewhere with Linux PCI enumeration. I took the exact same HW and switched it out the SSD to one w/ Win10 1607. I set the dock and cable to "always allow" in TBT settings applet. I don't reproduce any problems with enumeration with the dock plugged in on cold boot. All the devices hanging off the bridge show up properly. > > [ 7.428542] pci_bus 0000:02: Allocating resources > > [ 7.428544] pcieport 0000:02:02.0: can't claim BAR 14 [mem 0xd9f00000- > 0xd9ffffff]: no compatible bridge window > > [ 7.451018] Bluetooth: RFCOMM TTY layer initialized > > [ 7.451022] Bluetooth: RFCOMM socket layer initialized > > [ 7.451026] Bluetooth: RFCOMM ver 1.11 > > [ 11.958457] wlp58s0: authenticate with 50:6a:03:a7:1c:27 > > [ 11.969167] wlp58s0: send auth to 50:6a:03:a7:1c:27 (try 1/3) > > [ 11.975768] wlp58s0: authenticated > > [ 11.976386] wlp58s0: associate with 50:6a:03:a7:1c:27 (try 1/3) > > [ 11.984817] wlp58s0: RX AssocResp from 50:6a:03:a7:1c:27 (capab=0x1411 > status=0 aid=2) > > [ 12.001864] wlp58s0: associated > > [ 12.001913] IPv6: ADDRCONF(NETDEV_CHANGE): wlp58s0: link becomes ready > > [ 27.616672] thunderbolt 0000:03:00.0: timeout reading config space 2 from 0x5 > > [ 27.616674] thunderbolt 0000:03:00.0: 301: cannot find > TB_VSEC_CAP_PLUG_EVENTS aborting > > > > If I then unplug the cable and plug it back in the dock does show up and authorize > properly, but is a traceback > > along the way. > > --- > > [ 1653.226296] pcieport 0000:02:02.0: Refused to change power state, currently > in D3 > > [ 1653.729116] thunderbolt 0000:03:00.0: stopping RX ring 0 > > [ 1653.729130] thunderbolt 0000:03:00.0: disabling interrupt at register 0x38200 > bit 12 (0xffffffff -> 0xffffefff) > > [ 1653.729159] thunderbolt 0000:03:00.0: stopping TX ring 0 > > [ 1653.729168] thunderbolt 0000:03:00.0: disabling interrupt at register 0x38200 > bit 0 (0xffffffff -> 0xfffffffe) > > [ 1653.729195] thunderbolt 0000:03:00.0: control channel stopped > > [ 1653.729362] thunderbolt 0000:03:00.0: freeing RX ring 0 > > [ 1653.729381] thunderbolt 0000:03:00.0: freeing TX ring 0 > > [ 1653.729407] thunderbolt 0000:03:00.0: shutdown > > [ 1653.753091] pcieport 0000:02:00.0: Refused to change power state, currently > in D3 > > [ 1653.756383] pci_bus 0000:03: busn_res: [bus 03] is released > > [ 1653.756676] pci_bus 0000:04: busn_res: [bus 04] is released > > [ 1653.757479] pci_bus 0000:02: busn_res: [bus 02-05] is released > > [ 1660.846964] ACPI Error: [SPRT] Namespace lookup failure, > AE_ALREADY_EXISTS (20170303/dswload2-330) > > [ 1660.846979] ACPI Exception: AE_ALREADY_EXISTS, During name > lookup/catalog (20170303/psobject-241) > > [ 1660.846985] ACPI Error: Method parse/execution failed [\_GPE._E42] (Node > ffff8ba73016b488), AE_ALREADY_EXISTS (20170303/psparse-543) > > [ 1660.846996] ACPI Error: Method parse/execution failed [\_GPE._E42] (Node > ffff8ba73016b488), AE_ALREADY_EXISTS (20170303/psparse-543) > > [ 1660.847009] ACPI Exception: AE_ALREADY_EXISTS, while evaluating GPE > method [_E42] (20170303/evgpe-646) > > [ 1660.893399] pci 0000:01:00.0: [8086:1576] type 01 class 0x060400 > > [ 1660.893529] pci 0000:01:00.0: supports D1 D2 > > [ 1660.893530] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold > > [ 1660.893625] pci 0000:01:00.0: System wakeup disabled by ACPI > > [ 1660.893776] pci 0000:02:00.0: [8086:1576] type 01 class 0x060400 > > [ 1660.894047] pci 0000:02:00.0: supports D1 D2 > > [ 1660.894049] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold > > [ 1660.894178] pci 0000:02:01.0: [8086:1576] type 01 class 0x060400 > > [ 1660.894320] pci 0000:02:01.0: supports D1 D2 > > [ 1660.894321] pci 0000:02:01.0: PME# supported from D0 D1 D2 D3hot D3cold > > [ 1660.894409] pci 0000:02:02.0: [8086:1576] type 01 class 0x060400 > > [ 1660.894542] pci 0000:02:02.0: supports D1 D2 > > [ 1660.894543] pci 0000:02:02.0: PME# supported from D0 D1 D2 D3hot D3cold > > [ 1660.894637] pci 0000:01:00.0: PCI bridge to [bus 02-39] > > [ 1660.894646] pci 0000:01:00.0: bridge window [mem 0xc4000000-0xda0fffff] > > [ 1660.894652] pci 0000:01:00.0: bridge window [mem 0xa0000000-0xc1ffffff > 64bit pref] > > [ 1660.894716] pci 0000:03:00.0: [8086:1575] type 00 class 0x088000 > > [ 1660.894744] pci 0000:03:00.0: reg 0x10: [mem 0xda000000-0xda03ffff] > > [ 1660.894756] pci 0000:03:00.0: reg 0x14: [mem 0xda040000-0xda040fff] > > [ 1660.894910] pci 0000:03:00.0: supports D1 D2 > > [ 1660.894911] pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot D3cold > > [ 1660.895079] pci 0000:02:00.0: PCI bridge to [bus 03] > > [ 1660.895089] pci 0000:02:00.0: bridge window [mem 0xda000000-0xda0fffff] > > [ 1660.895152] pci 0000:02:01.0: PCI bridge to [bus 04-38] > > [ 1660.895161] pci 0000:02:01.0: bridge window [mem 0xc4000000-0xd9efffff] > > [ 1660.895168] pci 0000:02:01.0: bridge window [mem 0xa0000000-0xc1ffffff > 64bit pref] > > [ 1660.895222] pci 0000:02:02.0: PCI bridge to [bus 39] > > [ 1660.895231] pci 0000:02:02.0: bridge window [mem 0xd9f00000-0xd9ffffff] > > [ 1660.895263] pci_bus 0000:02: Allocating resources > > [ 1660.895296] pci 0000:02:01.0: bridge window [io 0x1000-0x0fff] to [bus 04- > 38] add_size 1000 > > [ 1660.895314] pci 0000:01:00.0: bridge window [io 0x1000-0x0fff] to [bus 02- > 39] add_size 1000 > > [ 1660.895318] pci 0000:01:00.0: BAR 13: assigned [io 0x2000-0x2fff] > > [ 1660.895321] pci 0000:02:01.0: BAR 13: assigned [io 0x2000-0x2fff] > > [ 1660.895322] pci 0000:02:00.0: PCI bridge to [bus 03] > > [ 1660.895329] pci 0000:02:00.0: bridge window [mem 0xda000000-0xda0fffff] > > [ 1660.895338] pci 0000:02:01.0: PCI bridge to [bus 04-38] > > [ 1660.895341] pci 0000:02:01.0: bridge window [io 0x2000-0x2fff] > > [ 1660.895346] pci 0000:02:01.0: bridge window [mem 0xc4000000-0xd9efffff] > > [ 1660.895351] pci 0000:02:01.0: bridge window [mem 0xa0000000-0xc1ffffff > 64bit pref] > > [ 1660.895357] pci 0000:02:02.0: PCI bridge to [bus 39] > > [ 1660.895363] pci 0000:02:02.0: bridge window [mem 0xd9f00000-0xd9ffffff] > > [ 1660.895372] pci 0000:01:00.0: PCI bridge to [bus 02-39] > > [ 1660.895374] pci 0000:01:00.0: bridge window [io 0x2000-0x2fff] > > [ 1660.895379] pci 0000:01:00.0: bridge window [mem 0xc4000000-0xda0fffff] > > [ 1660.895383] pci 0000:01:00.0: bridge window [mem 0xa0000000-0xc1ffffff > 64bit pref] > > [ 1661.283910] pcieport 0000:01:00.0: enabling device (0006 -> 0007) > > [ 1661.284659] pcieport 0000:02:01.0: enabling device (0006 -> 0007) > > [ 1661.285546] thunderbolt 0000:03:00.0: NHI initialized, starting thunderbolt > > [ 1661.285550] thunderbolt 0000:03:00.0: allocating TX ring 0 of size 10 > > [ 1661.285565] thunderbolt 0000:03:00.0: allocating RX ring 0 of size 10 > > [ 1661.285582] thunderbolt 0000:03:00.0: control channel created > > [ 1661.285583] thunderbolt 0000:03:00.0: control channel starting... > > [ 1661.285584] thunderbolt 0000:03:00.0: starting TX ring 0 > > [ 1661.285591] thunderbolt 0000:03:00.0: enabling interrupt at register 0x38200 > bit 0 (0x0 -> 0x1) > > [ 1661.285592] thunderbolt 0000:03:00.0: starting RX ring 0 > > [ 1661.285599] thunderbolt 0000:03:00.0: enabling interrupt at register 0x38200 > bit 12 (0x1 -> 0x1001) > > [ 1661.731122] ACPI Error: Cannot release Mutex [PATM], not acquired > (20170303/exmutex-393) > > [ 1661.731143] ACPI Error: Method parse/execution failed > [\_SB.PCI0.LPCB.ECDV._Q66] (Node ffff8ba73017bf00), > AE_AML_MUTEX_NOT_ACQUIRED (20170303/psparse-543) > > [ 1662.538307] thunderbolt 0000:03:00.0: current switch config: > > [ 1662.538315] thunderbolt 0000:03:00.0: Switch: 8086:1576 (Revision: 4, TB > Version: 2) > > [ 1662.538319] thunderbolt 0000:03:00.0: Max Port Number: 11 > > [ 1662.538322] thunderbolt 0000:03:00.0: Config: > > [ 1662.538329] thunderbolt 0000:03:00.0: Upstream Port Number: 5 Depth: 0 > Route String: 0x0 Enabled: 1, PlugEventsDelay: 254ms > > [ 1662.538333] thunderbolt 0000:03:00.0: unknown1: 0x0 unknown4: 0x0 > > [ 1662.561266] thunderbolt 0000:03:00.0: 0: uid: 0x8086a3422131ea10 > > [ 1662.561856] thunderbolt 0000:03:00.0: Port 0: 8086:1576 (Revision: 4, TB > Version: 1, Type: Port (0x1)) > > [ 1662.561860] thunderbolt 0000:03:00.0: Max hop id (in/out): 7/7 > > [ 1662.561864] thunderbolt 0000:03:00.0: Max counters: 8 > > [ 1662.561868] thunderbolt 0000:03:00.0: NFC Credits: 0x800000 > > [ 1662.562078] thunderbolt 0000:03:00.0: Port 1: 8086:1576 (Revision: 4, TB > Version: 1, Type: Port (0x1)) > > [ 1662.562082] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15 > > [ 1662.562086] thunderbolt 0000:03:00.0: Max counters: 16 > > [ 1662.562090] thunderbolt 0000:03:00.0: NFC Credits: 0x7800000 > > [ 1662.562323] thunderbolt 0000:03:00.0: Port 2: 8086:1576 (Revision: 4, TB > Version: 1, Type: Port (0x1)) > > [ 1662.562328] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15 > > [ 1662.562331] thunderbolt 0000:03:00.0: Max counters: 16 > > [ 1662.562335] thunderbolt 0000:03:00.0: NFC Credits: 0x0 > > [ 1662.562568] thunderbolt 0000:03:00.0: Port 3: 8086:1576 (Revision: 4, TB > Version: 1, Type: Port (0x1)) > > [ 1662.562575] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15 > > [ 1662.562579] thunderbolt 0000:03:00.0: Max counters: 16 > > [ 1662.562583] thunderbolt 0000:03:00.0: NFC Credits: 0x3c00000 > > [ 1662.562797] thunderbolt 0000:03:00.0: Port 4: 8086:1576 (Revision: 4, TB > Version: 1, Type: Port (0x1)) > > [ 1662.562801] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15 > > [ 1662.562805] thunderbolt 0000:03:00.0: Max counters: 16 > > [ 1662.562808] thunderbolt 0000:03:00.0: NFC Credits: 0x3c00000 > > [ 1662.562813] thunderbolt 0000:03:00.0: 0:5: disabled by eeprom > > [ 1662.562873] thunderbolt 0000:03:00.0: Port 6: 8086:1576 (Revision: 4, TB > Version: 1, Type: PCIe (0x100101)) > > [ 1662.562877] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8 > > [ 1662.562880] thunderbolt 0000:03:00.0: Max counters: 2 > > [ 1662.562884] thunderbolt 0000:03:00.0: NFC Credits: 0x800000 > > [ 1662.562938] thunderbolt 0000:03:00.0: Port 7: 8086:1576 (Revision: 4, TB > Version: 1, Type: PCIe (0x100101)) > > [ 1662.562942] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8 > > [ 1662.562945] thunderbolt 0000:03:00.0: Max counters: 2 > > [ 1662.562949] thunderbolt 0000:03:00.0: NFC Credits: 0x800000 > > [ 1662.563005] thunderbolt 0000:03:00.0: Port 8: 8086:1576 (Revision: 4, TB > Version: 1, Type: DP/HDMI (0xe0102)) > > [ 1662.563009] thunderbolt 0000:03:00.0: Max hop id (in/out): 9/9 > > [ 1662.563012] thunderbolt 0000:03:00.0: Max counters: 2 > > [ 1662.563016] thunderbolt 0000:03:00.0: NFC Credits: 0x800000 > > [ 1662.563019] thunderbolt 0000:03:00.0: 0:9: disabled by eeprom > > [ 1662.563082] thunderbolt 0000:03:00.0: Port 10: 8086:1576 (Revision: 4, TB > Version: 1, Type: DP/HDMI (0xe0101)) > > [ 1662.563085] thunderbolt 0000:03:00.0: Max hop id (in/out): 9/9 > > [ 1662.563089] thunderbolt 0000:03:00.0: Max counters: 2 > > [ 1662.563092] thunderbolt 0000:03:00.0: NFC Credits: 0x1000000 > > [ 1662.563096] thunderbolt 0000:03:00.0: 0:b: disabled by eeprom > > [ 1662.564973] thunderbolt 0000:03:00.0: current switch config: > > [ 1662.564983] thunderbolt 0000:03:00.0: Switch: 8086:1578 (Revision: 4, TB > Version: 2) > > [ 1662.564989] thunderbolt 0000:03:00.0: Max Port Number: 11 > > [ 1662.564994] thunderbolt 0000:03:00.0: Config: > > [ 1662.565004] thunderbolt 0000:03:00.0: Upstream Port Number: 1 Depth: 1 > Route String: 0x1 Enabled: 1, PlugEventsDelay: 254ms > > [ 1662.565011] thunderbolt 0000:03:00.0: unknown1: 0x0 unknown4: 0x0 > > [ 1662.586185] thunderbolt 0000:03:00.0: 1: reading drom (length: 0x6e) > > [ 1662.685656] thunderbolt 0000:03:00.0: 1: drom data crc32 mismatch > (expected: 0xaf438340, got: 0xaf4383c0), continuing > > [ 1662.685923] thunderbolt 0000:03:00.0: 1: uid: 0xd40f7a7928c300 > > [ 1662.685970] thunderbolt 0000:03:00.0: Port 0: 8086:1578 (Revision: 4, TB > Version: 1, Type: Port (0x1)) > > [ 1662.685972] thunderbolt 0000:03:00.0: Max hop id (in/out): 7/7 > > [ 1662.685974] thunderbolt 0000:03:00.0: Max counters: 8 > > [ 1662.685976] thunderbolt 0000:03:00.0: NFC Credits: 0x800000 > > [ 1662.686163] thunderbolt 0000:03:00.0: Port 1: 8086:1578 (Revision: 4, TB > Version: 1, Type: Port (0x1)) > > [ 1662.686165] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15 > > [ 1662.686167] thunderbolt 0000:03:00.0: Max counters: 16 > > [ 1662.686169] thunderbolt 0000:03:00.0: NFC Credits: 0x7800000 > > [ 1662.686346] thunderbolt 0000:03:00.0: Port 2: 8086:1578 (Revision: 4, TB > Version: 1, Type: Port (0x1)) > > [ 1662.686348] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15 > > [ 1662.686350] thunderbolt 0000:03:00.0: Max counters: 16 > > [ 1662.686351] thunderbolt 0000:03:00.0: NFC Credits: 0x0 > > [ 1662.686520] thunderbolt 0000:03:00.0: Port 3: 8086:1578 (Revision: 4, TB > Version: 1, Type: Port (0x1)) > > [ 1662.686522] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15 > > [ 1662.686523] thunderbolt 0000:03:00.0: Max counters: 16 > > [ 1662.686525] thunderbolt 0000:03:00.0: NFC Credits: 0x7800000 > > [ 1662.686697] thunderbolt 0000:03:00.0: Port 4: 8086:1578 (Revision: 4, TB > Version: 1, Type: Port (0x1)) > > [ 1662.686698] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15 > > [ 1662.686700] thunderbolt 0000:03:00.0: Max counters: 16 > > [ 1662.686702] thunderbolt 0000:03:00.0: NFC Credits: 0x0 > > [ 1662.686704] thunderbolt 0000:03:00.0: 1:5: disabled by eeprom > > [ 1662.686757] thunderbolt 0000:03:00.0: Port 6: 8086:1578 (Revision: 4, TB > Version: 1, Type: PCIe (0x100102)) > > [ 1662.686758] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8 > > [ 1662.686760] thunderbolt 0000:03:00.0: Max counters: 2 > > [ 1662.686762] thunderbolt 0000:03:00.0: NFC Credits: 0x800000 > > [ 1662.686816] thunderbolt 0000:03:00.0: Port 7: 8086:1578 (Revision: 4, TB > Version: 1, Type: PCIe (0x100101)) > > [ 1662.686818] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8 > > [ 1662.686820] thunderbolt 0000:03:00.0: Max counters: 2 > > [ 1662.686822] thunderbolt 0000:03:00.0: NFC Credits: 0x800000 > > [ 1662.686825] thunderbolt 0000:03:00.0: 1:8: disabled by eeprom > > [ 1662.686827] thunderbolt 0000:03:00.0: 1:9: disabled by eeprom > > [ 1662.686830] thunderbolt 0000:03:00.0: 1:a: disabled by eeprom > > [ 1662.686832] thunderbolt 0000:03:00.0: 1:b: disabled by eeprom > > [ 1662.688262] thunderbolt 0000:03:00.0: current switch config: > > [ 1662.688271] thunderbolt 0000:03:00.0: Switch: 8086:1578 (Revision: 4, TB > Version: 2) > > [ 1662.688273] thunderbolt 0000:03:00.0: Max Port Number: 11 > > [ 1662.688275] thunderbolt 0000:03:00.0: Config: > > [ 1662.688284] thunderbolt 0000:03:00.0: Upstream Port Number: 1 Depth: 2 > Route String: 0x301 Enabled: 1, PlugEventsDelay: 254ms > > [ 1662.688287] thunderbolt 0000:03:00.0: unknown1: 0x0 unknown4: 0x0 > > [ 1666.261728] pci 0000:04:00.0: [8086:1578] type 01 class 0x060400 > > [ 1666.262033] pci 0000:04:00.0: supports D1 D2 > > [ 1666.262034] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold > > [ 1666.262442] sysfs: cannot create duplicate filename '/class/pci_bus/0000:05' > > This is probably due the previous problem of the PCI device being hidden > behind a bridge. > > If you shutdown the machine and boot it without devices connected and > then when the OS is up, connect the device, do you see the same issue? > The kernel traceback doesn't happen in this scenario, but if I follow these steps: 1) Boot 2) Plugin dock, make sure fully enumerated 3) Unplug 4) Replug I get the trackeback warning about duplicate filenames again. The second time I unplug I also get tracebacks related to a NULL pointer dereference In kernfs_find_ns. > Also can you try so that you power off the machine completely, connect > the device and power it on. Do you see the issue? > Yes, I do see error from the first syslog snippet about being stuck behind a host bridge.