Skip to contentSkip to conversation

em28xx: fix error path in em28xx_start_analog_streaming()

PATCH New Frank Schäfer 1 participant 1 message Oct 10, 2013

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 em28xx: fix error path in em28xx_start_analog_streaming()

Increase the streaming_users count only if streaming start succeeds.

---
 drivers/media/usb/em28xx/em28xx-video.c |    7 ++++---

1 Datei geändert, 4 Zeilen hinzugefügt(+), 3 Zeilen entfernt(-)

drivers/media/usb/em28xx/em28xx-video.c +4 -3
index 9d10334..fc5d60e 100644
@@ -638,7 +638,7 @@ int em28xx_start_analog_streaming(struct vb2_queue *vq, unsigned int count)
 	if (rc)
 		return rc;
 
-	if (dev->streaming_users++ == 0) {
+	if (dev->streaming_users == 0) {
 		/* First active streaming user, so allocate all the URBs */
 
 		/* Allocate the USB bandwidth */
@@ -657,7 +657,7 @@ int em28xx_start_analog_streaming(struct vb2_queue *vq, unsigned int count)
 					  dev->packet_multiplier,
 					  em28xx_urb_data_copy);
 		if (rc < 0)
-			goto fail;
+			return rc;
 
 		/*
 		 * djh: it's not clear whether this code is still needed.  I'm
@@ -675,7 +675,8 @@ int em28xx_start_analog_streaming(struct vb2_queue *vq, unsigned int count)
 		v4l2_device_call_all(&dev->v4l2_dev, 0, tuner, s_frequency, &f);
 	}
 
-fail:
+	dev->streaming_users++;
+
 	return rc;
 }
 
Signature · 1 line
1.7.10.4