diff --git a/drivers/most/most_usb.c b/drivers/most/most_usb.c index 485d5ca39951..3f3abb6efb3e 100644 --- a/drivers/most/most_usb.c +++ b/drivers/most/most_usb.c @@ -1118,15 +1118,13 @@ static void hdm_disconnect(struct usb_interface *interface) del_timer_sync(&mdev->link_stat_timer); cancel_work_sync(&mdev->poll_work_obj); - if (mdev->dci) - device_unregister(&mdev->dci->dev); - most_deregister_interface(&mdev->iface); - kfree(mdev->busy_urbs); kfree(mdev->cap); kfree(mdev->conf); kfree(mdev->ep_address); - put_device(&mdev->dci->dev); + if (mdev->dci) + device_unregister(&mdev->dci->dev); + most_deregister_interface(&mdev->iface); put_device(&mdev->dev); }