Received: by 2002:a25:d7c1:0:0:0:0:0 with SMTP id o184csp235127ybg; Thu, 17 Oct 2019 22:06:32 -0700 (PDT) X-Google-Smtp-Source: APXvYqw+jQqySmXWy8h9KwzNyybbIxiUMpJomIOKDs4BRdkJ3E+FfcUPMwDjzi+jyhJSEKoP6hDm X-Received: by 2002:a17:906:792:: with SMTP id l18mr6778502ejc.170.1571375192236; Thu, 17 Oct 2019 22:06:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571375192; cv=none; d=google.com; s=arc-20160816; b=XaQgjr4MsbJyS/ZCAvBt7XuD1Q0Hy8hmFC6F01xvBOB968oFP6IYsejfD+BF7ch2kR nL+gU0ZFj57u2AV9rmJ8K6sT+iyEwRasPQB8E1AJehaoC7ZltonGqeaCECEQ6YkzaQg7 q+9KlA9WeMY4y4B51KBBngvHvEkk5F1gOe5b1E3W5PTeGG/7Yq4eTkf3oqFSnZL59oJk ex8it47dQD6izyexl5kL4YtueTudyUC7ZCIZyAb4tVYzYqk1D0fHqKAWBKMyKKw1D5xx VDpMOQs8OY8rJ9l0pT8XWU4/crpKQ4s6OSGhyrc9GIHulU0fgwSmnzJox/KhySnuh2kD K4UA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Jsj3IiPmAKNqsvKYno8nBBya+EAhzZceK19ubZhrclo=; b=YNe9vK8/UNxvZWEfE2LugEHBKs3bm5aOQS0rGK6DiW9ZgA+nLsbTsvvnCuehGXarxr A7tB2xlTAah2vb78FUOdHIxPBlgf+neDsKCYiX95nhpMnHG3BR9kNbTj0xvqH7t/WIvN diaynRPTXAtb04lgwRa+1mwj6wu+KhajXde8/0RI2iHgpSuuf5HUyxx6nXm2694uN/Rs DwRUX6xlIAdQxNvtWSFWTREg3YGOkjfufNTMqfFh4yyMn7SSr6lhjZ3U3pENJQAICgs+ b0bz52EtT+7SJkf9H1f4O0EI34YBUGEkaaQIdO9ogiEvoGMe5qa6VVCb7kauWveGXOUw 5K2g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jVob2Sxt; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id qx24si2775591ejb.138.2019.10.17.22.06.08; Thu, 17 Oct 2019 22:06:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=jVob2Sxt; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2437637AbfJPWVG (ORCPT + 99 others); Wed, 16 Oct 2019 18:21:06 -0400 Received: from mail.kernel.org ([198.145.29.99]:42758 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2437564AbfJPVxk (ORCPT ); Wed, 16 Oct 2019 17:53:40 -0400 Received: from localhost (unknown [192.55.54.58]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id BA21F218DE; Wed, 16 Oct 2019 21:53:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1571262819; bh=/65x1RXpW1BL+sNWRXmIXwJn2MK+GW4GX8yPWk69DX0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jVob2SxtZrjBdJfJCAshH2e9pbWco2y4KHnZA4+PO9dohZyL8DCLKwCIObPAd6vBA iRvH+HTPuTAVMTxkzXTRN/lBgpccFs6Iv2N/fkuyBG7iLs2LTxHfgZPc3FIGEez41Y sLvHFA3GskNRq8/6cRzsbZRfBmGzFUsfkTi5N2gI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Johan Hovold Subject: [PATCH 4.4 62/79] USB: legousbtower: fix open after failed reset request Date: Wed, 16 Oct 2019 14:50:37 -0700 Message-Id: <20191016214824.430528358@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191016214729.758892904@linuxfoundation.org> References: <20191016214729.758892904@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Johan Hovold commit 0b074f6986751361ff442bc1127c1648567aa8d6 upstream. The driver would return with a nonzero open count in case the reset control request failed. This would prevent any further attempts to open the char dev until the device was disconnected. Fix this by incrementing the open count only on successful open. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Johan Hovold Cc: stable Link: https://lore.kernel.org/r/20190919083039.30898-5-johan@kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/usb/misc/legousbtower.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/usb/misc/legousbtower.c +++ b/drivers/usb/misc/legousbtower.c @@ -354,7 +354,6 @@ static int tower_open (struct inode *ino retval = -EBUSY; goto unlock_exit; } - dev->open_count = 1; /* reset the tower */ result = usb_control_msg (dev->udev, @@ -394,13 +393,14 @@ static int tower_open (struct inode *ino dev_err(&dev->udev->dev, "Couldn't submit interrupt_in_urb %d\n", retval); dev->interrupt_in_running = 0; - dev->open_count = 0; goto unlock_exit; } /* save device in the file's private structure */ file->private_data = dev; + dev->open_count = 1; + unlock_exit: mutex_unlock(&dev->lock);