aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/zr364xx.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/media/video/zr364xx.c b/drivers/media/video/zr364xx.c
index 16bb3576b6ea..b5d3364c94c7 100644
--- a/drivers/media/video/zr364xx.c
+++ b/drivers/media/video/zr364xx.c
@@ -277,7 +277,7 @@ static unsigned char header3;
277static int read_frame(struct zr364xx_camera *cam, int framenum) 277static int read_frame(struct zr364xx_camera *cam, int framenum)
278{ 278{
279 int i, n, temp, head, size, actual_length; 279 int i, n, temp, head, size, actual_length;
280 unsigned char *ptr = NULL, *jpeg, swap; 280 unsigned char *ptr = NULL, *jpeg;
281 281
282 redo: 282 redo:
283 /* hardware brightness */ 283 /* hardware brightness */
@@ -308,12 +308,11 @@ static int read_frame(struct zr364xx_camera *cam, int framenum)
308 } 308 }
309 309
310 /* swap bytes if camera needs it */ 310 /* swap bytes if camera needs it */
311 if (cam->method == METHOD0) 311 if (cam->method == METHOD0) {
312 for (i = 0; i < BUFFER_SIZE; i += 2) { 312 u16 *buf = (u16*)cam->buffer;
313 swap = cam->buffer[i]; 313 for (i = 0; i < BUFFER_SIZE/2; i++)
314 cam->buffer[i] = cam->buffer[i + 1]; 314 swab16s(buf + i);
315 cam->buffer[i + 1] = swap; 315 }
316 }
317 316
318 /* write the JPEG header */ 317 /* write the JPEG header */
319 if (!head) { 318 if (!head) {