Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp1043719ybp; Thu, 17 Oct 2019 07:16:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqyytjNdFxm8Yy7lNaN5f60dat8hOJzg1npBsEa6KJQ65hzmUAAjPoFKM9dbwTyBWIFV0Ppc X-Received: by 2002:a17:906:556:: with SMTP id k22mr3748232eja.66.1571321794870; Thu, 17 Oct 2019 07:16:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1571321794; cv=none; d=google.com; s=arc-20160816; b=PcYMYFa1eKGHBz76IDenK+3YGWS+Om/PbZVQIH+I62cstSrrGkyjCJziSVlPfhekxR 4PKcTOlrFUOTkkOsFxGQ7T2mM7F4iyIKYfKLSBE2+jBjSTEnp2tZgQLVYPp32HthhayC 3o5KiPsM9Bbkv2rF4rQhmICxCb2opTJVrMmSa6AaauO2xPLzRCZTb0FHB3gc9MDNLvoZ pOGlaBOk52zZtBd4EkMS+U0vhVMiyZQ+kaGX/WL7EFAoomo8XutDErSlT0qCeG0xG49k DkuS4EpTUh0GMtNYG5pnr0Gh04rhAbkDY2W3WkJeGY0qk/w5xWlOuMhP132pRTmVXmOZ 3wBQ== 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=chNg3eFUHBYj5Ce/k9TG1Ul9iBVhTKtqaDsGibq2UqRNAlVPF8HQb5WQHlLdOwq7Rj b+uFx51hYTxlOkzBkFuDXU4037KkeTx0CPRaWWi6Hj1Ofw1OtmY4RWnn5pYBDNUwU5SC G5bHVl/kem4eborlXJD0huO3gxpQOfkwgu/HnfNeJuDxDNjiqNWvlHIYozuS9GLJdyCh a+tlqSeT3ChtbxLOCv/mpXlH04HaassJ2DubEhckah9m17iCNqFVKwP0WW/8SXa1c78r /34EnYjN6N4Z8joN2JW3JTCZm/1+4z/7x19kJ7PF+H2wpg8Myeipf3WgOSRpeh7YOF3V FVMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=MMZ2FeIq; 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 b33si1675219edc.265.2019.10.17.07.16.11; Thu, 17 Oct 2019 07:16:34 -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=MMZ2FeIq; 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 S2437681AbfJPVyI (ORCPT + 99 others); Wed, 16 Oct 2019 17:54:08 -0400 Received: from mail.kernel.org ([198.145.29.99]:43478 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2437628AbfJPVyA (ORCPT ); Wed, 16 Oct 2019 17:54:00 -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 0273721925; Wed, 16 Oct 2019 21:53:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1571262840; bh=crHSjvYMY9d/dYMyzSZHnf5e6SCkxwWPOlxaPZTBiYQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MMZ2FeIqjN4VWz9UfJCHqhsD73vH2J9Opawrtqzve26HOXU93jRrhghOW1T7stJwx ufQui9dmkYsMuZZ6wPxr5cOjVGWb3kp9CqFuQNSnJTwTY2rymb1fM0yJVsyKTU2QMQ C6OSDnjJh8JHmNcQrK3Hi4WhVe4j8kUf5ShX8ZfI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Johan Hovold Subject: [PATCH 4.4 45/79] USB: usblp: fix runtime PM after driver unbind Date: Wed, 16 Oct 2019 14:50:20 -0700 Message-Id: <20191016214807.819152517@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 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;