diff options
Diffstat (limited to 'drivers/media/video/gspca/finepix.c')
-rw-r--r-- | drivers/media/video/gspca/finepix.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/drivers/media/video/gspca/finepix.c b/drivers/media/video/gspca/finepix.c index d0befe981098..6e26c93b4656 100644 --- a/drivers/media/video/gspca/finepix.c +++ b/drivers/media/video/gspca/finepix.c | |||
@@ -94,7 +94,11 @@ static void dostream(struct work_struct *work) | |||
94 | 94 | ||
95 | /* loop reading a frame */ | 95 | /* loop reading a frame */ |
96 | again: | 96 | again: |
97 | while (!gspca_dev->frozen && gspca_dev->dev && gspca_dev->streaming) { | 97 | while (gspca_dev->dev && gspca_dev->streaming) { |
98 | #ifdef CONFIG_PM | ||
99 | if (gspca_dev->frozen) | ||
100 | break; | ||
101 | #endif | ||
98 | 102 | ||
99 | /* request a frame */ | 103 | /* request a frame */ |
100 | mutex_lock(&gspca_dev->usb_lock); | 104 | mutex_lock(&gspca_dev->usb_lock); |
@@ -102,8 +106,11 @@ again: | |||
102 | mutex_unlock(&gspca_dev->usb_lock); | 106 | mutex_unlock(&gspca_dev->usb_lock); |
103 | if (ret < 0) | 107 | if (ret < 0) |
104 | break; | 108 | break; |
105 | if (gspca_dev->frozen || !gspca_dev->dev || | 109 | #ifdef CONFIG_PM |
106 | !gspca_dev->streaming) | 110 | if (gspca_dev->frozen) |
111 | break; | ||
112 | #endif | ||
113 | if (!gspca_dev->dev || !gspca_dev->streaming) | ||
107 | break; | 114 | break; |
108 | 115 | ||
109 | /* the frame comes in parts */ | 116 | /* the frame comes in parts */ |
@@ -118,8 +125,11 @@ again: | |||
118 | * error. Just restart. */ | 125 | * error. Just restart. */ |
119 | goto again; | 126 | goto again; |
120 | } | 127 | } |
121 | if (gspca_dev->frozen || !gspca_dev->dev || | 128 | #ifdef CONFIG_PM |
122 | !gspca_dev->streaming) | 129 | if (gspca_dev->frozen) |
130 | goto out; | ||
131 | #endif | ||
132 | if (!gspca_dev->dev || !gspca_dev->streaming) | ||
123 | goto out; | 133 | goto out; |
124 | if (len < FPIX_MAX_TRANSFER || | 134 | if (len < FPIX_MAX_TRANSFER || |
125 | (data[len - 2] == 0xff && | 135 | (data[len - 2] == 0xff && |