| From 30045f2174aab7fb4db7a9cf902d0aa6c75856a7 Mon Sep 17 00:00:00 2001 |
| From: Johan Hovold <johan@kernel.org> |
| Date: Tue, 1 Oct 2019 10:49:08 +0200 |
| Subject: media: stkwebcam: fix runtime PM after driver unbind |
| |
| From: Johan Hovold <johan@kernel.org> |
| |
| commit 30045f2174aab7fb4db7a9cf902d0aa6c75856a7 upstream. |
| |
| Since commit c2b71462d294 ("USB: core: Fix bug caused by duplicate |
| interface PM usage counter") USB drivers must always balance their |
| runtime PM gets and puts, including when the driver has already been |
| unbound from the interface. |
| |
| Leaving the interface with a positive PM usage counter would prevent a |
| later bound driver from suspending the device. |
| |
| Note that runtime PM has never actually been enabled for this driver |
| since the support_autosuspend flag in its usb_driver struct is not set. |
| |
| Fixes: c2b71462d294 ("USB: core: Fix bug caused by duplicate interface PM usage counter") |
| Cc: stable <stable@vger.kernel.org> |
| Acked-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> |
| Signed-off-by: Johan Hovold <johan@kernel.org> |
| Link: https://lore.kernel.org/r/20191001084908.2003-5-johan@kernel.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/media/usb/stkwebcam/stk-webcam.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/drivers/media/usb/stkwebcam/stk-webcam.c |
| +++ b/drivers/media/usb/stkwebcam/stk-webcam.c |
| @@ -647,8 +647,7 @@ static int v4l_stk_release(struct file * |
| dev->owner = NULL; |
| } |
| |
| - if (is_present(dev)) |
| - usb_autopm_put_interface(dev->interface); |
| + usb_autopm_put_interface(dev->interface); |
| mutex_unlock(&dev->lock); |
| return v4l2_fh_release(fp); |
| } |