From patchwork Thu Oct 10 18:31:53 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Frank Schaefer X-Patchwork-Id: 20350 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1VUL1Z-0005L9-TK; Thu, 10 Oct 2013 20:31:49 +0200 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.72/mailfrontend-7) with esmtp id 1VUL1X-00010c-2Y; Thu, 10 Oct 2013 20:31:49 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755649Ab3JJSbp (ORCPT + 1 other); Thu, 10 Oct 2013 14:31:45 -0400 Received: from mail-ee0-f46.google.com ([74.125.83.46]:34744 "EHLO mail-ee0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755564Ab3JJSbp (ORCPT ); Thu, 10 Oct 2013 14:31:45 -0400 Received: by mail-ee0-f46.google.com with SMTP id c13so1352253eek.19 for ; Thu, 10 Oct 2013 11:31:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:to:cc:subject:date:message-id:mime-version:content-type :content-transfer-encoding; bh=jCVSf2kNbcHJ+d2ojorSn80ax9kmNZWo+JXp17XpQ6Y=; b=L+7GXY1LDfP9e4ZzmmVJUG0epsGr5XukOKYyW4cajcj3+nYeemjiE9gdfuyipymGmg X0UhLibTc7NRPJvBFTPF8b59TfpeVhw/YqhAYwmgFad3P4FvQ6xmqQPdemC34vyPPXOA gmDsb5ZlTWnWXxzcm8UHZXGRWIqTRpONBtcZbEn18uRlj2BwEYUNdnVxlbcJK/zeWFFY /Elja8llG7g6zZL/9s5QVeSxAFdwky8kHpBWy6lkIosf7S852aBzqEtZzxh7rn3zfAE8 vpcumm0efS5VgNddhSVudkTCQ03rPZpog3MtHJ5JuXRIy0rHcfwVnwydR5hVY/twddie OKtw== X-Received: by 10.14.9.72 with SMTP id 48mr22288759ees.42.1381429903727; Thu, 10 Oct 2013 11:31:43 -0700 (PDT) Received: from Athlon64X2-5000.site (ip-109-91-213-248.unitymediagroup.de. [109.91.213.248]) by mx.google.com with ESMTPSA id n48sm104785767eeg.17.1969.12.31.16.00.00 (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 10 Oct 2013 11:31:43 -0700 (PDT) From: =?UTF-8?q?Frank=20Sch=C3=A4fer?= To: m.chehab@samsung.com Cc: linux-media@vger.kernel.org, =?UTF-8?q?Frank=20Sch=C3=A4fer?= , stable@kernel.org Subject: [PATCH] em28xx: fix error path in em28xx_start_analog_streaming() Date: Thu, 10 Oct 2013 20:31:53 +0200 Message-Id: <1381429913-6308-1-git-send-email-fschaefer.oss@googlemail.com> X-Mailer: git-send-email 1.7.10.4 MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2013.10.10.182414 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1500_1599 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, CT_TEXT_PLAIN_UTF8_CAPS 0, DKIM_SIGNATURE 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CP_MEDIA_BODY 0, __CP_URI_IN_BODY 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __FRAUD_BODY_WEBMAIL 0, __FRAUD_WEBMAIL 0, __FRAUD_WEBMAIL_FROM 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __MULTIPLE_RCPTS_CC_X2 0, __PHISH_SPEAR_STRUCTURE_1 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS , __YOUTUBE_RCVD 0' Increase the streaming_users count only if streaming start succeeds. Signed-off-by: Frank Schäfer Cc: stable@kernel.org --- drivers/media/usb/em28xx/em28xx-video.c | 7 ++++--- 1 Datei geändert, 4 Zeilen hinzugefügt(+), 3 Zeilen entfernt(-) diff --git a/drivers/media/usb/em28xx/em28xx-video.c b/drivers/media/usb/em28xx/em28xx-video.c index 9d10334..fc5d60e 100644 --- a/drivers/media/usb/em28xx/em28xx-video.c +++ b/drivers/media/usb/em28xx/em28xx-video.c @@ -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; }