Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3629103pxb; Mon, 24 Jan 2022 13:55:19 -0800 (PST) X-Google-Smtp-Source: ABdhPJztMeV+2EDEXWcMiEPvtenneUsMj+BtwUddy2v8oK4xSRf0xirk9vOe19+YpS+8imVusbu1 X-Received: by 2002:a17:90b:3143:: with SMTP id ip3mr315561pjb.161.1643061319607; Mon, 24 Jan 2022 13:55:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643061319; cv=none; d=google.com; s=arc-20160816; b=Kq/EgqkB+rn33pyKXqKFnh/Hq3NHKuNuUSKGQ0/YS1Q6t3KXC+S+5xwVIjnKL5rcoZ OcFa2eQqbcu6JrqM5z9zwPOnWyhvSxp5j9QHBpnrMM+sLFUOjCZWAfOERpltPw6ySYBj ugteBnoX3vXIeFBqzhjcFbZYuFfpe7jf0zPw45oK0fvQbMaunDsfXP8WyoDl4GfR4gEU RrVY8kvaimx3a54ulp5R3FRG1wJaUV5t8cm0rIlWoFFScUwr8bV/Hu9l8JKEhgFnjQaM vec1AZZfoiB1a3AFPxo1ZPGTL+9xUmHVmloyZe/1/ie3ii/zam0Ja4KdlgNmTAdE6RJp X8Vg== 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=/W1xlMLd2zCpM8jhZVLQw7Hl6jGbfrjlwVQALPpkcv0=; b=c5jcttA5heCUM3spkMYDsiBNEGWhDZNajixIjmuUo2ZVsp//sHMk09iGz/5cEahEuQ vBqnALWtkVu8B7itf/Z5iVpfcwWuI7Ke0nUhEMCKlDMkSdgKxEzG4GtuzY8OWq4/EQDv g3Im76eSIeCfas1I6JNRbDlZLclXNKWmbyQK1ZCWIuZidnVo0odtktrTDo022s50tF7F 3Lq3Qie+9PR+7/8hlfNt//XUvA6RcgsoUCucKIwofw9bxZQX1WWSJuxDvu73+i5kkMGs 2t7ULUe/gOJqB69CoRM712mSjZH3+fvMG/xb/vWzyMtNa8tJwsqUj5kThhbNYOq4uBBT G0Sg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=CfOE1GmC; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f19si3954563pfj.203.2022.01.24.13.55.08; Mon, 24 Jan 2022 13:55:19 -0800 (PST) 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=@linuxfoundation.org header.s=korg header.b=CfOE1GmC; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1458033AbiAXVmm (ORCPT + 99 others); Mon, 24 Jan 2022 16:42:42 -0500 Received: from ams.source.kernel.org ([145.40.68.75]:58932 "EHLO ams.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230110AbiAXVIw (ORCPT ); Mon, 24 Jan 2022 16:08:52 -0500 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 ams.source.kernel.org (Postfix) with ESMTPS id D21DDB80FA3; Mon, 24 Jan 2022 21:08:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F258BC340E5; Mon, 24 Jan 2022 21:08:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643058528; bh=YjrVxM7CLUaCdnPq3WETDJ47sLozfT7aDhMUijcqU08=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CfOE1GmC2M/18GoO9qbgk/J6bJ0TRAbpDZP21DCaXRU/65dBiBJ5bRefVlEHaAO4P W1fm+qyPwMfA59Mc98+UIxwohTEWeObqOM653cZEhfigaS7AhHTtxCusWZLQE9Or1r QJlLrElDsZSlK1Qe2TdJUnhSA3FmCs9+mTf4aEkY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, YN Chen , Sean Wang , Felix Fietkau , Sasha Levin Subject: [PATCH 5.16 0318/1039] mt76: mt7921: fix possible resume failure Date: Mon, 24 Jan 2022 19:35:07 +0100 Message-Id: <20220124184135.983197973@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124184125.121143506@linuxfoundation.org> References: <20220124184125.121143506@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sean Wang [ Upstream commit 5375001bb4ce22801bf3bb566cc3e67d2d3a5dc0 ] Fix the possible resume failure due to mt76_connac_mcu_set_hif_suspend timeout. That is because clearing the flag pm->suspended too early opened up a race window, where mt7921_poll_tx/rx scheduled a ps_work to put the device in doze mode, that is unexpected for the device is being resumed from the suspend state and would make the remaining MCU comamnds in resume handler failed to execute. Fixes: ffa1bf97425b ("mt76: mt7921: introduce PM support") Co-developed-by: YN Chen Signed-off-by: YN Chen Signed-off-by: Sean Wang Signed-off-by: Felix Fietkau Signed-off-by: Sasha Levin --- drivers/net/wireless/mediatek/mt76/mt7921/pci.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c index c29dde23d4ab1..40186e6cd865e 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c +++ b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c @@ -313,7 +313,6 @@ static int mt7921_pci_resume(struct pci_dev *pdev) struct mt76_connac_pm *pm = &dev->pm; int i, err; - pm->suspended = false; err = pci_set_power_state(pdev, PCI_D0); if (err) return err; @@ -351,7 +350,13 @@ static int mt7921_pci_resume(struct pci_dev *pdev) if (!pm->ds_enable) mt76_connac_mcu_set_deep_sleep(&dev->mt76, false); - return mt76_connac_mcu_set_hif_suspend(mdev, false); + err = mt76_connac_mcu_set_hif_suspend(mdev, false); + if (err) + return err; + + pm->suspended = false; + + return err; } #endif /* CONFIG_PM */ -- 2.34.1