diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-08-17 01:01:33 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-08-17 01:01:33 -0300 |
commit | 172776a908e4cc7840504bc0414984700f4b58c7 (patch) | |
tree | 1321b73b72d2a1e390c2d34b34fd44f366acb897 | |
parent | 126dee063f6844da5f6869db47e20b4533bdd06d (diff) | |
download | mediapointer-dvb-s2-172776a908e4cc7840504bc0414984700f4b58c7.tar.gz mediapointer-dvb-s2-172776a908e4cc7840504bc0414984700f4b58c7.tar.bz2 |
Avoid powering up the camera on resume
From: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | linux/drivers/media/video/cafe_ccic.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/linux/drivers/media/video/cafe_ccic.c b/linux/drivers/media/video/cafe_ccic.c index 4480df11e..90e4c9ab6 100644 --- a/linux/drivers/media/video/cafe_ccic.c +++ b/linux/drivers/media/video/cafe_ccic.c @@ -2240,12 +2240,21 @@ static int cafe_pci_resume(struct pci_dev *pdev) if (ret) return ret; ret = pci_enable_device(pdev); + if (ret) { cam_warn(cam, "Unable to re-enable device on resume!\n"); return ret; } cafe_ctlr_init(cam); - cafe_ctlr_power_up(cam); + cafe_ctlr_power_down(cam); + + mutex_lock(&cam->s_mutex); + if (cam->users > 0) { + cafe_ctlr_power_up(cam); + __cafe_cam_reset(cam); + } + mutex_unlock(&cam->s_mutex); + set_bit(CF_CONFIG_NEEDED, &cam->flags); if (cam->state == S_SPECREAD) cam->state = S_IDLE; /* Don't bother restarting */ |