Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp1966737ybh; Tue, 14 Jul 2020 11:53:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyWk5hXlJHnrL/sGEaaaQHvY2Ib8A7MTMxcpqD7TkO0N7VN6EZfWT7aIjhkyYzunjtUPxqz X-Received: by 2002:aa7:d7d0:: with SMTP id e16mr6127609eds.10.1594752807545; Tue, 14 Jul 2020 11:53:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594752807; cv=none; d=google.com; s=arc-20160816; b=dnFNuhDvQSXiRfDx11n+15JzLXf08pgz8ddg/3+5xYLY5MxfsTbDHYAO9wJpL/w7ss +9zsU2vHBkbsXClwrlkMQrOUZtfQvklSEAjO70IsepIqnC/A79zDWdXlhrNAZF0OxOC1 +rRTMFytHkdcxomaAuIvDI1GRYDBGYWWwov5RPqmdb0lgqzHgJ5uKr8/f3zjSjCDUibE 5YxZoOSHjQtoal6HKrRoGUVOMoNapVk3gduuJ4knmLN7P5TVWLotDt88rxaLXvzXHbHG eTci2Q197WNmBND31A5KnLpruD9/Z+li0FTCZ6laAp5RDp5Xf2dMue1MJ3iQ1CTS7yGa td0Q== 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=B/fRNesjj95Y8vv6H0lavT+yLbz3OJIZJI0JnRGaerI=; b=j1xGtKlLODlX1+A2g49sjtFHCEN/mkwuW40Q+skToOIKqX3hRMxLQlzyoEsljl8XOv rGxMd2c3n34mlcoOib1G23SpneASvioSqbLkRkZEh4Q5DhgE5lOIWbbv6hJm0BEhYxa1 ndb+itTK1bWKeEkoAVBGX9qLLbtC0Y0HFiMw2wvGqyyfxrN0357/AlwjCZdYi2cpUHoU 1OeI+8ZmGh5hOFm92f7WFdW1BlMEzoQoJ9zB20GHYQ9womqiKX7nvuqp6J+3WVtH/h3p hSTgj06+Yl7xunSEerUHIBfI88Rjt6QFr6Wr9wFCni+VdyA9MhSI73BVrVlZYZZBr3DX k62Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=UzwqC0oc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h5si11076794ejq.249.2020.07.14.11.53.03; Tue, 14 Jul 2020 11:53:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=UzwqC0oc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730185AbgGNStl (ORCPT + 99 others); Tue, 14 Jul 2020 14:49:41 -0400 Received: from mail.kernel.org ([198.145.29.99]:45462 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730175AbgGNStj (ORCPT ); Tue, 14 Jul 2020 14:49:39 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 62DD522B3F; Tue, 14 Jul 2020 18:49:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1594752579; bh=XShLMHFLIslsFzvvnDfxIF44y2nXE8NLb7s1NS6Wa0E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UzwqC0ocEg4isUEJ1fiC7r573W8v0Z9Q7McyYkPl0xkTWJY0bkQXuhrSNconX0fb4 4DVZrMott2rgPf+LtB4IQ80XM7EKD5rZchK9A+fpdrZVtFpgI89K3/ZOzh1nnM6QPB RxQ3ZyvmV1ETvKSwTQZ3Vns/nsjwb/RaPjJlt+3k= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Aditya Pakki , Felipe Balbi , Sasha Levin Subject: [PATCH 5.4 030/109] usb: dwc3: pci: Fix reference count leak in dwc3_pci_resume_work Date: Tue, 14 Jul 2020 20:43:33 +0200 Message-Id: <20200714184106.963706477@linuxfoundation.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200714184105.507384017@linuxfoundation.org> References: <20200714184105.507384017@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: Aditya Pakki [ Upstream commit 2655971ad4b34e97dd921df16bb0b08db9449df7 ] dwc3_pci_resume_work() calls pm_runtime_get_sync() that increments the reference counter. In case of failure, decrement the reference before returning. Signed-off-by: Aditya Pakki Signed-off-by: Felipe Balbi Signed-off-by: Sasha Levin --- drivers/usb/dwc3/dwc3-pci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/usb/dwc3/dwc3-pci.c b/drivers/usb/dwc3/dwc3-pci.c index b67372737dc9b..96c05b121fac8 100644 --- a/drivers/usb/dwc3/dwc3-pci.c +++ b/drivers/usb/dwc3/dwc3-pci.c @@ -206,8 +206,10 @@ static void dwc3_pci_resume_work(struct work_struct *work) int ret; ret = pm_runtime_get_sync(&dwc3->dev); - if (ret) + if (ret) { + pm_runtime_put_sync_autosuspend(&dwc3->dev); return; + } pm_runtime_mark_last_busy(&dwc3->dev); pm_runtime_put_sync_autosuspend(&dwc3->dev); -- 2.25.1