diff options
Diffstat (limited to 'drivers/media/video/cafe_ccic.c')
-rw-r--r-- | drivers/media/video/cafe_ccic.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/media/video/cafe_ccic.c b/drivers/media/video/cafe_ccic.c index 0dfff50891e4..789087cd6a9c 100644 --- a/drivers/media/video/cafe_ccic.c +++ b/drivers/media/video/cafe_ccic.c | |||
@@ -859,8 +859,6 @@ static int cafe_cam_configure(struct cafe_camera *cam) | |||
859 | struct v4l2_mbus_framefmt mbus_fmt; | 859 | struct v4l2_mbus_framefmt mbus_fmt; |
860 | int ret; | 860 | int ret; |
861 | 861 | ||
862 | if (cam->state != S_IDLE) | ||
863 | return -EINVAL; | ||
864 | v4l2_fill_mbus_format(&mbus_fmt, &cam->pix_format, cam->mbus_code); | 862 | v4l2_fill_mbus_format(&mbus_fmt, &cam->pix_format, cam->mbus_code); |
865 | ret = sensor_call(cam, core, init, 0); | 863 | ret = sensor_call(cam, core, init, 0); |
866 | if (ret == 0) | 864 | if (ret == 0) |
@@ -2196,12 +2194,13 @@ static int cafe_pci_resume(struct pci_dev *pdev) | |||
2196 | return ret; | 2194 | return ret; |
2197 | } | 2195 | } |
2198 | cafe_ctlr_init(cam); | 2196 | cafe_ctlr_init(cam); |
2199 | cafe_ctlr_power_down(cam); | ||
2200 | 2197 | ||
2201 | mutex_lock(&cam->s_mutex); | 2198 | mutex_lock(&cam->s_mutex); |
2202 | if (cam->users > 0) { | 2199 | if (cam->users > 0) { |
2203 | cafe_ctlr_power_up(cam); | 2200 | cafe_ctlr_power_up(cam); |
2204 | __cafe_cam_reset(cam); | 2201 | __cafe_cam_reset(cam); |
2202 | } else { | ||
2203 | cafe_ctlr_power_down(cam); | ||
2205 | } | 2204 | } |
2206 | mutex_unlock(&cam->s_mutex); | 2205 | mutex_unlock(&cam->s_mutex); |
2207 | 2206 | ||