Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp3080368rwe; Mon, 29 Aug 2022 05:37:09 -0700 (PDT) X-Google-Smtp-Source: AA6agR4+h5C7ovJW9RcVG1C3vjvKBDooaTRf30xc3NtDP58RmQ8xwTB+Z7o8TrBZufaVCiRL8oIG X-Received: by 2002:a17:902:7088:b0:174:d4fa:bb5a with SMTP id z8-20020a170902708800b00174d4fabb5amr3692756plk.60.1661776628960; Mon, 29 Aug 2022 05:37:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661776628; cv=none; d=google.com; s=arc-20160816; b=akwavDXXS3ligjidaXFfzaTwj5wKiMmJiX1M0vYxMkRQDThGF4lNelRZlFBVSWt2Nk LaoBAz5PAFZaXMsRZangjSRBvNt+vZ7rv3lDMoAp+9K7B2iMT2RDqTrfmZD031QgQCPr OY+DaeyYgePPXNC7Le7gOIFteZJ5CjaIlP2zJavCCS213PXHfDGy1v08cn263pL5sIbf MU/kFG4uBKOd5jGfCm8AjaxNqXqIpvP4g1+Sc2I15rOkehevHzueyLzOe0rtLTFWBJ8J jYItK24RtuOalQnY74gFzobM2PjDx+castjd4ysp1WPrbQBlpT0ty/3V3x8F+QPgvz4E CAzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=d8jiXVU6oflw9Wm1N1q1TJsZJBtAV0NBdv82PIspotc=; b=G+7DMl5Yu6VmComiPm2GSBr3UqcEdWtABglw8AWIA4LTbt45Nfs+J1C/PAgZ0xZ0Qd p1DSwx/I1RKZUQrFheWus2M3uNjVtSIL62N7GJbNEaCJYPl93nZ8GqMldDt7fVEKKF3m 1BWL7zfdtmwilDwrmi9NNBnValx0hjd+tJxOPJh0hLnh32iaiDl7eswOv0yT9kt/09i4 R1FwPmRpdXds8L7lyGUjEaWfksyFiRn7NNNQGQHTwUzvkFdJgbiw2sg8dXuYBZprLszr KZpYFEHEZg+ucnVnKEl0lTmeKDzioJ1hAkl7HtzhLFw00bUirAnspNkwzsV2ZLZhmUBf o1Hg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=iDXCFExX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 20-20020a631854000000b0042b28a98925si9522912pgy.0.2022.08.29.05.36.57; Mon, 29 Aug 2022 05:37:08 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=iDXCFExX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232056AbiH2LbL (ORCPT + 99 others); Mon, 29 Aug 2022 07:31:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44124 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232553AbiH2L3Q (ORCPT ); Mon, 29 Aug 2022 07:29:16 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F171167168; Mon, 29 Aug 2022 04:17:40 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 7C6776122B; Mon, 29 Aug 2022 11:15:47 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 67351C433C1; Mon, 29 Aug 2022 11:15:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1661771746; bh=Zbkptztkx3K6TXVOoXnL5C+7twSLxobqsqQ1ns/lazA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iDXCFExXAiNYXpfr1O5wEushVfArj81CNUUIYJi5qONQ7Qz1bGdsiXNILar+A+w3D C/fwdLvVR/kyuD5IT504afDyrxRl1mNlqCHv6I6VrrANt92GU1HcqxKQ8d8UxGkULQ RxzueKfnEHLqRVSMRA/+HLTKMVm/cuONmbyN7ANM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lukas Wunner , Oleksij Rempel , Ferry Toth , Andrew Lunn , Andre Edich , "David S. Miller" , Sasha Levin Subject: [PATCH 5.15 119/136] Revert "usbnet: smsc95xx: Fix deadlock on runtime resume" Date: Mon, 29 Aug 2022 12:59:46 +0200 Message-Id: <20220829105809.573320725@linuxfoundation.org> X-Mailer: git-send-email 2.37.2 In-Reply-To: <20220829105804.609007228@linuxfoundation.org> References: <20220829105804.609007228@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Greg Kroah-Hartman This reverts commit b574d1e3e9a2432b5acd9c4a9dc8d70b6a37aaf1 which is commit 7b960c967f2aa01ab8f45c5a0bd78e754cffdeee upstream. It is reported to cause problems, so drop it from the 5.15.y tree until the root cause can be determined. Reported-by: Lukas Wunner Cc: Oleksij Rempel Cc: Ferry Toth Cc: Andrew Lunn Cc: Andre Edich Cc: David S. Miller Cc: Sasha Levin Link: https://lore.kernel.org/r/20220826132137.GA24932@wunner.de Signed-off-by: Greg Kroah-Hartman --- drivers/net/usb/smsc95xx.c | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -69,7 +69,6 @@ struct smsc95xx_priv { struct fwnode_handle *irqfwnode; struct mii_bus *mdiobus; struct phy_device *phydev; - struct task_struct *pm_task; }; static bool turbo_mode = true; @@ -79,14 +78,13 @@ MODULE_PARM_DESC(turbo_mode, "Enable mul static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { - struct smsc95xx_priv *pdata = dev->driver_priv; u32 buf; int ret; int (*fn)(struct usbnet *, u8, u8, u16, u16, void *, u16); BUG_ON(!dev); - if (current != pdata->pm_task) + if (!in_pm) fn = usbnet_read_cmd; else fn = usbnet_read_cmd_nopm; @@ -110,14 +108,13 @@ static int __must_check __smsc95xx_read_ static int __must_check __smsc95xx_write_reg(struct usbnet *dev, u32 index, u32 data, int in_pm) { - struct smsc95xx_priv *pdata = dev->driver_priv; u32 buf; int ret; int (*fn)(struct usbnet *, u8, u8, u16, u16, const void *, u16); BUG_ON(!dev); - if (current != pdata->pm_task) + if (!in_pm) fn = usbnet_write_cmd; else fn = usbnet_write_cmd_nopm; @@ -1485,12 +1482,9 @@ static int smsc95xx_suspend(struct usb_i u32 val, link_up; int ret; - pdata->pm_task = current; - ret = usbnet_suspend(intf, message); if (ret < 0) { netdev_warn(dev->net, "usbnet_suspend error\n"); - pdata->pm_task = NULL; return ret; } @@ -1730,7 +1724,6 @@ done: if (ret && PMSG_IS_AUTO(message)) usbnet_resume(intf); - pdata->pm_task = NULL; return ret; } @@ -1751,31 +1744,29 @@ static int smsc95xx_resume(struct usb_in /* do this first to ensure it's cleared even in error case */ pdata->suspend_flags = 0; - pdata->pm_task = current; - if (suspend_flags & SUSPEND_ALLMODES) { /* clear wake-up sources */ ret = smsc95xx_read_reg_nopm(dev, WUCSR, &val); if (ret < 0) - goto done; + return ret; val &= ~(WUCSR_WAKE_EN_ | WUCSR_MPEN_); ret = smsc95xx_write_reg_nopm(dev, WUCSR, val); if (ret < 0) - goto done; + return ret; /* clear wake-up status */ ret = smsc95xx_read_reg_nopm(dev, PM_CTRL, &val); if (ret < 0) - goto done; + return ret; val &= ~PM_CTL_WOL_EN_; val |= PM_CTL_WUPS_; ret = smsc95xx_write_reg_nopm(dev, PM_CTRL, val); if (ret < 0) - goto done; + return ret; } phy_init_hw(pdata->phydev); @@ -1784,20 +1775,15 @@ static int smsc95xx_resume(struct usb_in if (ret < 0) netdev_warn(dev->net, "usbnet_resume error\n"); -done: - pdata->pm_task = NULL; return ret; } static int smsc95xx_reset_resume(struct usb_interface *intf) { struct usbnet *dev = usb_get_intfdata(intf); - struct smsc95xx_priv *pdata = dev->driver_priv; int ret; - pdata->pm_task = current; ret = smsc95xx_reset(dev); - pdata->pm_task = NULL; if (ret < 0) return ret;