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: Alexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:

committed by
Kalle Valo

parent
7962b0d898
commit
aa292fa409
@@ -1193,18 +1193,10 @@ static int ath6kl_usb_pm_resume(struct usb_interface *interface)
|
|||||||
return 0;
|
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
|
#else
|
||||||
|
|
||||||
#define ath6kl_usb_pm_suspend NULL
|
#define ath6kl_usb_pm_suspend NULL
|
||||||
#define ath6kl_usb_pm_resume NULL
|
#define ath6kl_usb_pm_resume NULL
|
||||||
#define ath6kl_usb_pm_reset_resume NULL
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1222,7 +1214,6 @@ static struct usb_driver ath6kl_usb_driver = {
|
|||||||
.probe = ath6kl_usb_probe,
|
.probe = ath6kl_usb_probe,
|
||||||
.suspend = ath6kl_usb_pm_suspend,
|
.suspend = ath6kl_usb_pm_suspend,
|
||||||
.resume = ath6kl_usb_pm_resume,
|
.resume = ath6kl_usb_pm_resume,
|
||||||
.reset_resume = ath6kl_usb_pm_reset_resume,
|
|
||||||
.disconnect = ath6kl_usb_remove,
|
.disconnect = ath6kl_usb_remove,
|
||||||
.id_table = ath6kl_usb_ids,
|
.id_table = ath6kl_usb_ids,
|
||||||
.supports_autosuspend = true,
|
.supports_autosuspend = true,
|
||||||
|
Reference in New Issue
Block a user