Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa292fa4 authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by Kalle Valo
Browse files

ath6kl: remove incorrect reset_resume handler



Existing implementation of reset_resume handler just calls
ath6kl_usb_remove() that deallocates all resources.
It can lead to double free, etc. on disconnect.

The patch removes reset_resume handler,
so usb core could conservatively reset the driver.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 7962b0d8
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -1193,18 +1193,10 @@ static int ath6kl_usb_pm_resume(struct usb_interface *interface)
	return 0;
}

static int ath6kl_usb_pm_reset_resume(struct usb_interface *intf)
{
	if (usb_get_intfdata(intf))
		ath6kl_usb_remove(intf);
	return 0;
}

#else

#define ath6kl_usb_pm_suspend NULL
#define ath6kl_usb_pm_resume NULL
#define ath6kl_usb_pm_reset_resume NULL

#endif

@@ -1222,7 +1214,6 @@ static struct usb_driver ath6kl_usb_driver = {
	.probe = ath6kl_usb_probe,
	.suspend = ath6kl_usb_pm_suspend,
	.resume = ath6kl_usb_pm_resume,
	.reset_resume = ath6kl_usb_pm_reset_resume,
	.disconnect = ath6kl_usb_remove,
	.id_table = ath6kl_usb_ids,
	.supports_autosuspend = true,