linux/drivers/thunderbolt
Mika Westerberg 80ac8d1948 thunderbolt: Mark XDomain as unplugged when router is removed
commit e2006140ad upstream.

I noticed that when we do discrete host router NVM upgrade and it gets
hot-removed from the PCIe side as a result of NVM firmware authentication,
if there is another host connected with enabled paths we hang in tearing
them down. This is due to fact that the Thunderbolt networking driver
also tries to cleanup the paths and ends up blocking in
tb_disconnect_xdomain_paths() waiting for the domain lock.

However, at this point we already cleaned the paths in tb_stop() so
there is really no need for tb_disconnect_xdomain_paths() to do that
anymore. Furthermore it already checks if the XDomain is unplugged and
bails out early so take advantage of that and mark the XDomain as
unplugged when we remove the parent router.

Cc: stable@vger.kernel.org
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-08-29 17:30:13 +02:00
..
acpi.c ACPI: Drop parent field from struct acpi_device 2022-08-24 20:55:24 +02:00
cap.c thunderbolt: cap: Fix kernel-doc formatting issue 2021-01-28 12:33:18 +03:00
ctl.c thunderbolt: Use the actual buffer in tb_async_error() 2022-08-18 11:55:46 +03:00
ctl.h thunderbolt: Fix typo in comment 2022-06-17 18:19:15 +03:00
debugfs.c thunderbolt: debugfs: Fix margin debugfs node creation condition 2024-06-21 14:35:44 +02:00
dma_port.c thunderbolt: Use generic tb_nvm_[read|write]_data() for Thunderbolt 2/3 devices 2021-05-31 14:37:54 +03:00
dma_port.h thunderbolt: Convert rest of the driver files to use SPDX identifier 2018-10-02 15:52:08 -07:00
dma_test.c thunderbolt: dma_test: Use correct value for absent rings when creating paths 2023-06-21 16:00:56 +02:00
domain.c thunderbolt: Convert to use sysfs_emit()/sysfs_emit_at() APIs 2022-09-24 09:22:01 +03:00
eeprom.c thunderbolt: Rename EEPROM handling bits to match USB4 spec 2022-03-04 17:10:36 +03:00
icm.c thunderbolt: Workaround an IOMMU fault on certain systems with Intel Maple Ridge 2023-10-19 23:08:56 +02:00
Kconfig thunderbolt: Changes for v6.1 merge window 2022-09-30 13:44:59 +02:00
lc.c thunderbolt: Add internal xHCI connect flows for Thunderbolt 3 devices 2022-02-02 13:56:51 +03:00
Makefile thunderbolt: build kunit tests without structleak plugin 2021-10-06 17:53:49 -06:00
nhi.c thunderbolt: Add Intel Barlow Ridge PCI ID 2023-08-23 17:52:24 +02:00
nhi.h thunderbolt: Limit Intel Barlow Ridge USB3 bandwidth 2023-08-23 17:52:24 +02:00
nhi_ops.c thunderbolt: Software CM only should set force power in Tiger Lake 2020-09-03 12:06:40 +03:00
nhi_regs.h thunderbolt: Clear registers properly when auto clear isn't in use 2023-05-24 17:32:51 +01:00
nvm.c thunderbolt: Add support for ASMedia NVM image format 2022-09-07 09:06:51 +03:00
path.c thunderbolt: Dump path config space entries during discovery 2022-04-19 10:26:13 +03:00
property.c thunderbolt: Add tb_property_copy_dir() 2021-03-18 18:25:31 +03:00
quirks.c thunderbolt: Add debug log for link controller power quirk 2024-04-27 17:07:10 +02:00
retimer.c thunderbolt: Read retimer NVM authentication status prior tb_retimer_set_inbound_sbtx() 2023-08-23 17:52:24 +02:00
sb_regs.h thunderbolt: Add missing UNSET_INBOUND_SBTX for retimer access 2023-03-30 12:49:15 +02:00
switch.c thunderbolt: Mark XDomain as unplugged when router is removed 2024-08-29 17:30:13 +02:00
tb.c thunderbolt: Avoid notify PM core about runtime PM resume 2024-04-27 17:07:14 +02:00
tb.h thunderbolt: Avoid notify PM core about runtime PM resume 2024-04-27 17:07:14 +02:00
tb_msgs.h thunderbolt: Add support for XDomain lane bonding 2022-05-05 09:25:23 +03:00
tb_regs.h thunderbolt: Explicitly enable lane adapter hotplug events at startup 2022-09-26 20:18:25 +03:00
test.c thunderbolt: test: Use kunit_test_suite() macro 2022-07-11 17:13:21 -06:00
tmu.c thunderbolt: Fix a backport error for display flickering issue 2023-09-02 09:16:20 +02:00
tunnel.c thunderbolt: Use correct function to calculate maximum USB3 link rate 2023-01-24 07:24:37 +01:00
tunnel.h thunderbolt: Use different lane for second DisplayPort tunnel 2022-04-19 10:26:18 +03:00
usb4.c thunderbolt: Avoid notify PM core about runtime PM resume 2024-04-27 17:07:14 +02:00
usb4_port.c thunderbolt: Show link type for XDomain connections too 2022-08-31 14:05:12 +01:00
xdomain.c thunderbolt: Restart XDomain discovery handshake after failure 2023-10-19 23:08:56 +02:00