2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/usb
Niklas Neronin ff9a09b3e0 usb: xhci: fix host not responding after suspend and resume
Partially revert commit e1db856bd2 ("usb: xhci: remove '0' write to
write-1-to-clear register") because the patch cleared the Interrupt Pending
bit during interrupt enabling and disabling. The Interrupt Pending bit
should only be cleared when the driver has handled the interrupt.

Ideally, all interrupts should be handled before disabling the interrupt;
consequently, no interrupt should be pending when enabling the interrupt.
For this reason, keep the debug message informing if an interrupt is still
pending when an interrupt is disabled.

Because the Interrupt Pending bit is write-1-to-clear, writing '0' to it
ensures that the state does not change.

Link: https://lore.kernel.org/linux-usb/20250818231103.672ec7ed@foxbook
Fixes: e1db856bd2 ("usb: xhci: remove '0' write to write-1-to-clear register")
Closes: https://bbs.archlinux.org/viewtopic.php?id=307641
cc: stable@vger.kernel.org # 6.16+
Signed-off-by: Niklas Neronin <niklas.neronin@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20250819125844.2042452-3-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-08-19 16:12:13 +02:00
..
atm usb: atm: cxacru: Merge cxacru_upload_firmware() into cxacru_heavy_init() 2025-07-24 11:33:31 +02:00
c67x00 usb: Switch back to struct platform_driver::remove() 2024-10-04 15:13:03 +02:00
cdns3 usb: cdnsp: Fix issue with CV Bad Descriptor test 2025-06-24 15:42:39 +01:00
chipidea usb: chipidea: imx: improve usbmisc_imx7d_pullup() 2025-08-13 17:19:10 +02:00
class USB / Thunderbolt changes for 6.17-rc1 2025-07-29 10:17:10 -07:00
common usb: common: usb-conn-gpio: use a unique name for usb connector device 2025-04-11 16:08:34 +02:00
core USB: core: Update kerneldoc for usb_hcd_giveback_urb() 2025-08-19 12:29:04 +02:00
dwc2 Linux 6.16-rc7 2025-07-21 10:55:57 +02:00
dwc3 usb: dwc3: Remove WARN_ON for device endpoint command timeouts 2025-08-17 12:14:11 +02:00
early usb: early: xhci-dbc: Fix early_ioremap leak 2025-07-07 11:04:46 +02:00
fotg210 usb: fotg210-hcd: Switch to use hrtimer_setup() 2025-02-18 11:19:02 +01:00
gadget usb: gadget: tegra-xudc: fix PM use count underflow 2025-08-13 17:15:45 +02:00
host usb: xhci: fix host not responding after suspend and resume 2025-08-19 16:12:13 +02:00
image scsi: Rename .slave_alloc() and .slave_destroy() 2024-12-04 15:34:28 -05:00
isp1760 treewide, timers: Rename from_timer() to timer_container_of() 2025-06-08 09:07:37 +02:00
misc usb: misc: onboard_usb_dev: Add Bison Electronics Inc. Integrated Camera 2025-06-30 15:42:16 +02:00
mon drivers/usb/mon: refactor min with min_t 2024-11-13 15:09:51 +01:00
mtu3 Driver core and debugfs updates 2025-01-28 12:25:12 -08:00
musb usb: musb: omap2430: clean up probe error handling 2025-07-25 10:50:44 +02:00
phy usb: phy: tegra: Remove unused functions 2025-06-19 12:26:32 +02:00
renesas_usbhs usb: renesas_usbhs: Convert to DEFINE_SIMPLE_DEV_PM_OPS() 2025-07-15 19:49:52 +02:00
roles usb: roles: set switch registered flag early on 2025-02-14 09:26:25 +01:00
serial treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
storage USB: storage: Ignore driver CD mode for Realtek multi-mode Wi-Fi dongles 2025-08-17 12:13:36 +02:00
typec usb: typec: fusb302: Revert incorrect threaded irq fix 2025-08-19 12:29:33 +02:00
usbip sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
Kconfig usb: pci-quirks: handle HAS_IOPORT dependency for AMD quirk 2023-10-02 16:19:12 +02:00
Makefile USB: xen-hcd: Traverse host/ when CONFIG_USB_XEN_HCD is selected 2024-06-04 15:33:38 +02:00
usb-skeleton.c