diff options
author | Jonathan Corbet <corbet@lwn.net> | 2007-10-23 17:30:27 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-11-04 21:41:18 -0200 |
commit | c303449741279fc9a108c80e0816f0c4ddca8c09 (patch) | |
tree | 4d204da54708e925f38c00bba290ef19756d3cc9 /drivers/media/video/cafe_ccic.c | |
parent | a8ab68bffe3fe7b8e9ff963ea321d283fc77ac5f (diff) | |
download | lwn-c303449741279fc9a108c80e0816f0c4ddca8c09.tar.gz lwn-c303449741279fc9a108c80e0816f0c4ddca8c09.zip |
V4L/DVB (6394): Fix a cafe_ccic resume bug
If the system is suspended while the camera is streaming, it will not
continue streaming on resume. Save the state properly so that resume
works.
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/cafe_ccic.c')
-rw-r--r-- | drivers/media/video/cafe_ccic.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/video/cafe_ccic.c b/drivers/media/video/cafe_ccic.c index b63cab336920..2567da7b09eb 100644 --- a/drivers/media/video/cafe_ccic.c +++ b/drivers/media/video/cafe_ccic.c @@ -2232,13 +2232,16 @@ static int cafe_pci_suspend(struct pci_dev *pdev, pm_message_t state) { struct cafe_camera *cam = cafe_find_by_pdev(pdev); int ret; + enum cafe_state cstate; ret = pci_save_state(pdev); if (ret) return ret; + cstate = cam->state; /* HACK - stop_dma sets to idle */ cafe_ctlr_stop_dma(cam); cafe_ctlr_power_down(cam); pci_disable_device(pdev); + cam->state = cstate; return 0; } |