Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp1409264ybp; Thu, 17 Oct 2019 12:21:20 -0700 (PDT) X-Google-Smtp-Source: APXvYqxl9hZ2KnwCdKSAvq83mI0HGNGiI7NZksEULhJK8HDXTVBB9w5syo0emXA3Kx7+rHL4Q4KD X-Received: by 2002:a05:6402:7d7:: with SMTP id u23mr5587032edy.218.1571340080745; Thu, 17 Oct 2019 12:21:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571340080; cv=none; d=google.com; s=arc-20160816; b=F/j/rkutoKMSC9NDmOBJ+b3Qo2jXAX42mDE97LRNCZe87DIkGvUX7dm4WUo8wOMZUT 0FIXW/U+OxoQFZ7sOmR7PXDZHrO0M9CLE49h8FjwuSX0uSmTQ6/wkyzQjN0S8r19GcmE Nq+v2KsISVM0YBNPkcvwL9Jzwipbr43r9p3urGxYyM+ETtUyPrgqfrDYAhvDT1NMEz13 Q959dOrQ6Kb0J9oMAuDzVthZY9W9tdbYm0O3iX9n3VgqCTayGMMaCHqOKrQzdLaMkA7T T8017wV6Eenzft+m4NvTVPO9Wecx0MJVBxlN7c39JRlDh4u/Ic++NblmFdNpEItQvxs5 SXzw== 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=YAnKDvbFFksXsU3lYIgjAlKgTXD153LJAIM/gvNYcJk=; b=qxB2YOS8UfyyvBBAN9bhWUBnJ0DUscG0se7ja4vGeOO6Z9rnyWL+gUtHNzQTD0+zdC Rf5SY1kSl/uODGV4Rjd7q85lf5KhERthDCrtobi4vMaZoB6e6yXLTJIvjtTRdVjV7g9Q 4BGWkcFzC92KjvZXPUAe6/IFMpSk6dHItJ+QN/XaKg5kx7pVVSiXYF/imbCOxFwmgE70 JaO0X/jlm9SVW4ZFx44OnCtUwpQ9ncaAy2oHeTIMv7iOBe6Lq44oV2rdL61boFDNeazt ZDgJ3tYmMbZ5jHQ4YEqsuWDOpu5gyUiTR8VoDVEtJLBSxdYUcX8JQrr44zJDgBHIm0DT 1vXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dKjAGF5Z; 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 d43si2059404edb.73.2019.10.17.12.20.55; Thu, 17 Oct 2019 12:21:20 -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=dKjAGF5Z; 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 S2393731AbfJPWPH (ORCPT + 99 others); Wed, 16 Oct 2019 18:15:07 -0400 Received: from mail.kernel.org ([198.145.29.99]:46232 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2395237AbfJPVza (ORCPT ); Wed, 16 Oct 2019 17:55:30 -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 CC569218DE; Wed, 16 Oct 2019 21:55:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1571262930; bh=crHSjvYMY9d/dYMyzSZHnf5e6SCkxwWPOlxaPZTBiYQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dKjAGF5ZqDo/B4hWjIkT5tABv1sKNzvzmKhHqxRI6lWra1L3n27MgjQ2mvm0WnbW8 QyrEgVru9eBJ+TjjpSFz3FPW4HM2OHiqdugCBmEi/VHAF3MyxicIhHyJKG042uK7Mx 9E/mrTaCkSGRuVMlhT+t3a/IrxBrhFzSdi7piC3g= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Johan Hovold Subject: [PATCH 4.9 54/92] USB: usblp: fix runtime PM after driver unbind Date: Wed, 16 Oct 2019 14:50:27 -0700 Message-Id: <20191016214838.063905932@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191016214759.600329427@linuxfoundation.org> References: <20191016214759.600329427@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 9a31535859bfd8d1c3ed391f5e9247cd87bb7909 upstream. Since commit c2b71462d294 ("USB: core: Fix bug caused by duplicate interface PM usage counter") USB drivers must always balance their runtime PM gets and puts, including when the driver has already been unbound from the interface. Leaving the interface with a positive PM usage counter would prevent a later bound driver from suspending the device. Fixes: c2b71462d294 ("USB: core: Fix bug caused by duplicate interface PM usage counter") Cc: stable Signed-off-by: Johan Hovold Link: https://lore.kernel.org/r/20191001084908.2003-3-johan@kernel.org Signed-off-by: Greg Kroah-Hartman --- drivers/usb/class/usblp.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) --- a/drivers/usb/class/usblp.c +++ b/drivers/usb/class/usblp.c @@ -474,10 +474,12 @@ static int usblp_release(struct inode *i mutex_lock(&usblp_mutex); usblp->used = 0; - if (usblp->present) { + if (usblp->present) usblp_unlink_urbs(usblp); - usb_autopm_put_interface(usblp->intf); - } else /* finish cleanup from disconnect */ + + usb_autopm_put_interface(usblp->intf); + + if (!usblp->present) /* finish cleanup from disconnect */ usblp_cleanup(usblp); mutex_unlock(&usblp_mutex); return 0;