linux/drivers/misc
Ricky Wu fe4cf0f7c9 misc: rtsx: usb: Ensure mmc child device is active when card is present
commit 966c5cd72b upstream.

When a card is present in the reader, the driver currently defers
autosuspend by returning -EAGAIN during the suspend callback to
trigger USB remote wakeup signaling. However, this does not guarantee
that the mmc child device has been resumed, which may cause issues if
it remains suspended while the card is accessible.
This patch ensures that all child devices, including the mmc host
controller, are explicitly resumed before returning -EAGAIN. This
fixes a corner case introduced by earlier remote wakeup handling,
improving reliability of runtime PM when a card is inserted.

Fixes: 883a87ddf2 ("misc: rtsx_usb: Use USB remote wakeup signaling for card insertion detection")
Cc: stable@vger.kernel.org
Signed-off-by: Ricky Wu <ricky_wu@realtek.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20250711140143.2105224-1-ricky_wu@realtek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-08-28 16:26:03 +02:00
..
altera-stapl misc: move from strlcpy with unused retval to strscpy 2022-09-01 16:29:42 +02:00
bcm-vk misc: bcm_vk: Remove usage of deprecated functions 2022-09-01 16:29:32 +02:00
c2port misc: c2port: core: Make copying name from userspace more secure 2020-11-03 10:12:10 +01:00
cardreader misc: rtsx: usb: Ensure mmc child device is active when card is present 2025-08-28 16:26:03 +02:00
cb710 cb710: avoid NULL pointer subtraction 2021-10-05 15:50:05 +02:00
cxl cxl: Fix refcount leak in cxl_calc_capp_routing 2022-12-31 13:32:50 +01:00
echo char: Replace HTTP links with HTTPS ones 2020-07-23 09:44:15 +02:00
eeprom eeprom: digsy_mtc: Make GPIO lookup table match the device 2025-03-13 12:53:22 +01:00
genwqe Merge 5.15-rc3 into char-misc next 2021-09-27 15:39:40 +02:00
habanalabs accel/habanalabs: fix information leak in sec_attest_info() 2024-01-25 15:27:37 -08:00
ibmasm Char / Misc driver updates for 5.14-rc1 2021-07-05 13:42:16 -07:00
lis3lv02d misc: lis3lv02d_i2c: Fix regulators getting en-/dis-abled twice on suspend/resume 2024-04-03 15:19:41 +02:00
lkdtm objtool, lkdtm: Obfuscate the do_nothing() pointer 2025-05-02 07:47:03 +02:00
mchp_pci1xxxx misc: microchip: pci1xxxx: Fix incorrect IRQ status handling during ack 2025-05-02 07:46:58 +02:00
mei mei: bus: Check for still connected devices in mei_cl_bus_dev_release() 2025-08-28 16:25:54 +02:00
ocxl ocxl: fix pci device refcount leak when calling get_function_0() 2022-12-31 13:32:40 +01:00
pvpanic misc/pvpanic-pci: register attributes via pci_driver 2024-06-21 14:35:39 +02:00
sgi-gru misc: sgi-gru: Don't disable preemption in GRU driver 2024-11-08 16:26:44 +01:00
sgi-xp drivers/misc/sgi-xp: Remove orphan declarations from drivers/misc/sgi-xp/xp.h 2022-09-24 14:57:19 +02:00
ti-st misc: st_core: Do not call kfree_skb() under spin_lock_irqsave() 2023-11-20 11:52:10 +01:00
uacce uacce: Handle parent device removal or parent driver module rmmod 2022-07-01 10:35:08 +02:00
vmw_vmci Revert "vmci: Prevent the dispatching of uninitialized payloads" 2025-08-15 12:04:54 +02:00
ad525x_dpot-i2c.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
ad525x_dpot-spi.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
ad525x_dpot.c misc: ad525x_dpot: Make ad_dpot_remove() return void 2021-10-13 14:35:37 +02:00
ad525x_dpot.h misc: ad525x_dpot: Make ad_dpot_remove() return void 2021-10-13 14:35:37 +02:00
apds990x.c misc: apds990x: Fix missing pm_runtime_disable() 2024-12-14 19:53:53 +01:00
apds9802als.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
atmel-ssc.c misc: update maintainer email address and description for atmel-ssc 2022-08-03 11:03:03 +02:00
bh1770glc.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
cs5535-mfgpt.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206 2019-05-30 11:29:53 -07:00
ds1682.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
dummy-irq.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dw-xdata-pcie.c misc: Add Synopsys DesignWare xData IP driver 2021-04-05 13:15:52 +02:00
enclosure.c misc: enclosure: replace snprintf in show functions with sysfs_emit 2021-10-22 11:25:39 +02:00
fastrpc.c misc: fastrpc: Fix copy buffer page size 2025-02-21 13:49:52 +01:00
gehc-achc.c misc: gehc: Add SPI ID table 2021-10-05 15:47:18 +02:00
hi6421v600-irq.c misc: hi6421-spmi-pmic: Use generic_handle_irq_safe(). 2022-03-02 22:28:50 +01:00
hisi_hikey_usb.c misc: hisi_hikey_usb: change the DT schema 2021-09-14 10:57:31 +02:00
hmc6352.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
hpilo.c misc: hpilo: map iLO shared memory by PCI revision id 2021-06-04 15:28:23 +02:00
hpilo.h misc: hpilo: map iLO shared memory by PCI revision id 2021-06-04 15:28:23 +02:00
ibmvmc.c ibmvmc: don't open-code file_inode() 2022-09-01 17:42:27 -04:00
ibmvmc.h misc: Use the correct style for SPDX License Identifier 2019-10-10 15:34:40 +02:00
ics932s401.c Char/Misc and other driver changes for 6.1-rc1 2022-10-08 08:56:37 -07:00
isl29003.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
isl29020.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
Kconfig misc: open-dice: make OPEN_DICE depend on HAS_IOMEM 2023-09-23 11:11:07 +02:00
kgdbts.c kgdbts: fix return value of __setup handler 2022-03-18 14:17:56 +01:00
lattice-ecp3-config.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
Makefile misc: microchip: pci1xxxx: load auxiliary bus driver for the PIO function in the multi-function endpoint of pci1xxxx device. 2022-09-02 14:49:05 +02:00
open-dice.c misc: open-dice: Fix spurious lockdep warning 2024-03-01 13:26:27 +01:00
pch_phub.c misc: pch_phub: Remove superfluous descriptions to non-existent args 'offset_address' 2020-07-01 15:05:37 +02:00
pci_endpoint_test.c misc: pci_endpoint_test: Fix 'irq_type' to convey the correct type 2025-04-25 10:44:01 +02:00
phantom.c misc/phantom.c: use generic power management 2020-06-29 18:43:42 +02:00
qcom-coincell.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
sram-exec.c treewide: Replace GPLv2 boilerplate/reference with SPDX - gpl-2.0_320.RULE 2022-06-10 14:51:36 +02:00
sram.c misc: sram: Add compatible string for Tegra234 SYSRAM 2021-12-08 15:16:05 +01:00
sram.h misc: sram: Only map reserved areas in Tegra SYSRAM 2021-08-05 14:27:46 +02:00
tifm_7xx1.c misc: tifm: fix possible memory leak in tifm_7xx1_switch_media() 2022-12-31 13:32:40 +01:00
tifm_core.c tifm: Remove usage of the deprecated "pci-dma-compat.h" API 2021-09-21 17:33:31 +02:00
tsl2550.c i2c: Make remove callback return void 2022-08-16 12:46:26 +02:00
vcpu_stall_detector.c misc: Add a mechanism to detect stalls on guest vCPUs 2022-07-14 16:54:17 +02:00
vmw_balloon.c misc: vmw_balloon: fix memory leak with using debugfs_lookup() 2023-03-11 13:55:39 +01:00
xilinx_sdfec.c misc/xilinx_sdfec: Replace kmap() with kmap_local_page() 2022-09-09 10:22:36 +02:00