linux/drivers/usb
Vitalii Mordan 3347581bf9 usb: ehci-spear: fix call balance of sehci clk handling routines
commit 40c9748267 upstream.

If the clock sehci->clk was not enabled in spear_ehci_hcd_drv_probe,
it should not be disabled in any path.

Conversely, if it was enabled in spear_ehci_hcd_drv_probe, it must be disabled
in all error paths to ensure proper cleanup.

Found by Linux Verification Center (linuxtesting.org) with Klever.

Fixes: 7675d6ba43 ("USB: EHCI: make ehci-spear a separate driver")
Cc: stable@vger.kernel.org
Signed-off-by: Vitalii Mordan <mordan@ispras.ru>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/20241114230310.432213-1-mordan@ispras.ru
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2024-12-09 10:32:39 +01:00
..
atm usb: atm: cxacru: fix endpoint checking in cxacru_bind() 2024-07-05 09:33:58 +02:00
c67x00 usb: c67x00-drv: Convert to platform remove callback returning void 2023-05-28 12:36:14 +01:00
cdns3 usb: xhci: fix loss of data on Cadence xHC 2024-10-04 16:29:58 +02:00
chipidea usb: chipidea: udc: enable suspend interrupt after usb reset 2024-10-17 15:24:19 +02:00
class USB: class: CDC-ACM: fix race between get_serial and set_serial 2024-10-04 16:29:50 +02:00
common usb: ulpi: Fix debugfs directory leak 2024-02-23 09:24:56 +01:00
core usb: core: sysfs: Unmerge @usb3_hardware_lpm_attr_group in remove_power_attributes() 2024-09-04 13:28:30 +02:00
dwc2 usb: dwc2: Adjust the timing of USB Driver Interrupt Registration in the Crashkernel Scenario 2024-10-17 15:24:19 +02:00
dwc3 usb: dwc3: fix fault at system suspend if device was already runtime suspended 2024-11-14 13:19:39 +01:00
early usb: early: xhci-dbc: Use memcpy_and_pad() 2023-01-31 10:40:54 +01:00
fotg210 usb: fotg210: Add missing kernel doc description 2024-06-12 11:12:31 +02:00
gadget USB: gadget: dummy-hcd: Fix "task hung" problem 2024-11-08 16:28:22 +01:00
host usb: ehci-spear: fix call balance of sehci clk handling routines 2024-12-09 10:32:39 +01:00
image scsi: usb: uas: Declare two host templates and host template pointers const 2023-03-24 19:20:00 -04:00
isp1760 usb: isp1760: Convert to platform remove callback returning void 2023-05-28 12:38:01 +01:00
misc USB: chaoskey: Fix possible deadlock chaoskey_list_lock 2024-12-09 10:32:36 +01:00
mon usb: mon: Fix atomicity violation in mon_bin_vma_fault 2024-01-25 15:35:43 -08:00
mtu3 usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
musb usb: musb: sunxi: Fix accessing an released usb phy 2024-11-14 13:19:39 +01:00
phy usb: phy: Fix API devm_usb_put_phy() can not release the phy 2024-11-08 16:28:22 +01:00
renesas_usbhs usb: Explicitly include correct DT includes 2023-07-25 18:20:02 +02:00
roles usb: roles: don't get/set_role() when usb_role_switch is unregistered 2024-03-01 13:35:02 +01:00
serial USB: serial: option: add Quectel RG650V 2024-11-14 13:19:40 +01:00
storage usb: storage: ignore bogus device raised by JieLi BR21 USB sound chip 2024-10-17 15:24:33 +02:00
typec mfd: intel_soc_pmic_bxtwc: Use IRQ domain for USB Type-C device 2024-12-09 10:32:13 +01:00
usbip usbip: Don't submit special requests twice 2024-09-08 07:54:44 +02:00
Kconfig usb: move config USB_USS720 to usb's misc Kconfig 2023-03-29 10:34:08 +02:00
Makefile USB: xen-hcd: Traverse host/ when CONFIG_USB_XEN_HCD is selected 2024-06-21 14:38:23 +02:00
usb-skeleton.c usb: add usb_set_intfdata() documentation 2022-11-29 08:56:09 +01:00