From: Márton Németh <nm...@freemail.hu>

It is no use to continue sending URBs if one of them already
failed.

Signed-off-by: Márton Németh <nm...@freemail.hu>
---
The patch is based on 13335:3fd924da7091 from 
http://linuxtv.org/hg/~jfrancois/gspca/ .
---
diff -r 3fd924da7091 linux/drivers/media/video/gspca/pac7311.c
--- a/linux/drivers/media/video/gspca/pac7311.c Sun Nov 08 08:41:28 2009 +0100
+++ b/linux/drivers/media/video/gspca/pac7311.c Sun Nov 08 23:14:13 2009 +0100
@@ -590,16 +590,27 @@

 static void sd_stopN(struct gspca_dev *gspca_dev)
 {
-       reg_w(gspca_dev, 0xff, 0x04);
-       reg_w(gspca_dev, 0x27, 0x80);
-       reg_w(gspca_dev, 0x28, 0xca);
-       reg_w(gspca_dev, 0x29, 0x53);
-       reg_w(gspca_dev, 0x2a, 0x0e);
-       reg_w(gspca_dev, 0xff, 0x01);
-       reg_w(gspca_dev, 0x3e, 0x20);
-       reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_6=LED */
-       reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_6=LED */
-       reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, Bit_6=LED */
+       int ret;
+
+       ret = reg_w(gspca_dev, 0xff, 0x04);
+       if (0 <= ret)
+               ret = reg_w(gspca_dev, 0x27, 0x80);
+       if (0 <= ret)
+               ret = reg_w(gspca_dev, 0x28, 0xca);
+       if (0 <= ret)
+               ret = reg_w(gspca_dev, 0x29, 0x53);
+       if (0 <= ret)
+               ret = reg_w(gspca_dev, 0x2a, 0x0e);
+       if (0 <= ret)
+               ret = reg_w(gspca_dev, 0xff, 0x01);
+       if (0 <= ret)
+               ret = reg_w(gspca_dev, 0x3e, 0x20);
+       if (0 <= ret)
+               ret = reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, 
Bit_6=LED */
+       if (0 <= ret)
+               ret = reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, 
Bit_6=LED */
+       if (0 <= ret)
+               ret = reg_w(gspca_dev, 0x78, 0x44); /* Bit_0=start stream, 
Bit_6=LED */
 }

 /* called on streamoff with alt 0 and on disconnect for 7311 */
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to