| From a8454f6bd30abbc8b4de7c399d51f318860a8d93 Mon Sep 17 00:00:00 2001 |
| From: Johan Hovold <johan@kernel.org> |
| Date: Tue, 1 Oct 2019 10:49:08 +0200 |
| Subject: [PATCH] media: stkwebcam: fix runtime PM after driver unbind |
| |
| 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> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/media/usb/stkwebcam/stk-webcam.c b/drivers/media/usb/stkwebcam/stk-webcam.c |
| index cb7d6454bbe1..92135eed4b22 100644 |
| --- a/drivers/media/usb/stkwebcam/stk-webcam.c |
| +++ b/drivers/media/usb/stkwebcam/stk-webcam.c |
| @@ -643,8 +643,7 @@ static int v4l_stk_release(struct file *fp) |
| 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); |
| } |
| -- |
| 2.7.4 |
| |