summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2019-10-01 04:49:08 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-10-04 08:38:46 -0400
commit30045f2174aab7fb4db7a9cf902d0aa6c75856a7 (patch)
treed41617917db97a0659db189e413338ebd3f2b6d2
parentd51bdb93ca7e71d7fb30a572c7b47ed0194bf3fe (diff)
media: stkwebcam: fix runtime PM after driver unbind
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>
-rw-r--r--drivers/media/usb/stkwebcam/stk-webcam.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/media/usb/stkwebcam/stk-webcam.c b/drivers/media/usb/stkwebcam/stk-webcam.c
index cfca3c70599b..21f90a887485 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)
643 dev->owner = NULL; 643 dev->owner = NULL;
644 } 644 }
645 645
646 if (is_present(dev)) 646 usb_autopm_put_interface(dev->interface);
647 usb_autopm_put_interface(dev->interface);
648 mutex_unlock(&dev->lock); 647 mutex_unlock(&dev->lock);
649 return v4l2_fh_release(fp); 648 return v4l2_fh_release(fp);
650} 649}