Commit fed46265 authored by Johan Hovold's avatar Johan Hovold Committed by Marc Kleine-Budde
Browse files

can: ucan: fix devres lifetime



USB drivers bind to USB interfaces and any device managed resources
should have their lifetime tied to the interface rather than parent USB
device. This avoids issues like memory leaks when drivers are unbound
without their devices being physically disconnected (e.g. on probe
deferral or configuration changes).

Fix the control message buffer lifetime so that it is released on driver
unbind.

Fixes: 9f2d3eae ("can: ucan: add driver for Theobroma Systems UCAN devices")
Cc: stable@vger.kernel.org	# 4.19
Cc: Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260327104520.1310158-1-johan@kernel.org


Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
parent ebe560ea
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1397,7 +1397,7 @@ static int ucan_probe(struct usb_interface *intf,
	 */

	/* Prepare Memory for control transfers */
	ctl_msg_buffer = devm_kzalloc(&udev->dev,
	ctl_msg_buffer = devm_kzalloc(&intf->dev,
				      sizeof(union ucan_ctl_payload),
				      GFP_KERNEL);
	if (!ctl_msg_buffer) {