Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp268872pxf; Wed, 24 Mar 2021 04:54:17 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxBN5f8eipcdrFF9J3X62WkoGn8M1ekaOYHRvun8pNJ4vc9XBtMW5HO2QgAvdI6GhTuMH1e X-Received: by 2002:a17:906:19d9:: with SMTP id h25mr3330715ejd.453.1616586856850; Wed, 24 Mar 2021 04:54:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1616586856; cv=none; d=google.com; s=arc-20160816; b=IEM9mpUAcvlxEthEOsxvtwc27TaBcdSxtffH8GPb5dlnQvaHISMw/1TjFFDESAcGV7 ujAENqoolQoczXt6+2ur4UgcBCP/rkjPzcLlVh64Qy/7UFOXeqVSkwazTs7QdCkSBG2M 2aptumTbOpe386/6d1TOfXUGJ6SUzjkpH+kpLsVvsiTGRTjhYBa+WHoXxh3qCk8hExb9 Sr1sMhTt6w9KpEsog+aCeWPrcLxmqwpk+wVcKVC8sQ9KI65A86fVfSQiPJru3i3cBx2v vpJ5zQdj9JCpC5v7dJ2LeKQlI7ZOWdfPkoO9Qo7IzwwB06JaBF1k7f/OG9Aowr9wyhDm PnCw== 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 :message-id:date:subject:cc:to:from; bh=dY/HDU+1YjI48u2drUtOKhXyfPmHEUCF9uehbZ1UNfA=; b=IanYj/E7G23UfETedCgvySv1Yp5xqHZlbc4tDvcqG8hvT56ha+Yy0JBegEeVhB762O dSUV6B1K9wiFdt4/Uz09gKbm7ajfUUdtnflhjHgebdMjLiR8POY35GyDLZ1tI+k/OtwT ME56/tCEhea64AfbQosRs2OegCNqnTgP5ama0eZRcGyLKqRBKusQUFyMGm8GdujesJy6 pg/NbgV2kxm0pR2AU1oJ8+VMP8KntnhlnNN/AxB7eGOkduaYmztUTk7IaZ5JU3E3G1fE v0RZqsNTlUksXnASSguzBACi6heZXj6XG6WJUiE1qlrIvqIPJIolKLedUopvUeQymNzM 4tZA== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c1si1594954edq.252.2021.03.24.04.53.52; Wed, 24 Mar 2021 04:54:16 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231960AbhCXLNe (ORCPT + 99 others); Wed, 24 Mar 2021 07:13:34 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:39601 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230352AbhCXLN0 (ORCPT ); Wed, 24 Mar 2021 07:13:26 -0400 Received: from 1-171-92-165.dynamic-ip.hinet.net ([1.171.92.165] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1lP1Ry-0007U3-7w; Wed, 24 Mar 2021 11:13:22 +0000 From: Kai-Heng Feng To: bhelgaas@google.com Cc: Kai-Heng Feng , linux-pci@vger.kernel.org (open list:PCI SUBSYSTEM), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] PCI: Disable D3cold support on Intel XMM7360 Date: Wed, 24 Mar 2021 19:13:16 +0800 Message-Id: <20210324111316.250576-1-kai.heng.feng@canonical.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On some platforms, the root port for Intel XMM7360 WWAN supports D3cold. When the root port is put to D3cold by system suspend or runtime suspend, attempt to systems resume or runtime resume will freeze the laptop for a while, then it automatically shuts down. The root cause is unclear for now, as the Intel XMM7360 doesn't have a driver yet. So disable D3cold for XMM7360 as a workaround, until proper device driver is in place. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=212419 Signed-off-by: Kai-Heng Feng --- drivers/pci/quirks.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 653660e3ba9e..8ca8153e4a19 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -5612,3 +5612,10 @@ static void apex_pci_fixup_class(struct pci_dev *pdev) } DECLARE_PCI_FIXUP_CLASS_HEADER(0x1ac1, 0x089a, PCI_CLASS_NOT_DEFINED, 8, apex_pci_fixup_class); + +static void pci_fixup_no_d3cold(struct pci_dev *pdev) +{ + pci_info(pdev, "disable D3cold\n"); + pci_d3cold_disable(pdev); +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x7360, pci_fixup_no_d3cold); -- 2.30.2