From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753543AbcEXGig (ORCPT ); Tue, 24 May 2016 02:38:36 -0400 Received: from mail1.bemta12.messagelabs.com ([216.82.251.8]:31914 "EHLO mail1.bemta12.messagelabs.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751686AbcEXGie convert rfc822-to-8bit (ORCPT ); Tue, 24 May 2016 02:38:34 -0400 X-Greylist: delayed 387 seconds by postgrey-1.27 at vger.kernel.org; Tue, 24 May 2016 02:38:34 EDT X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupgleJIrShJLcpLzFFi42JJl3ulpxv21Tn cYF2TqMWSpgyLSWuXM1tc3jWHzeLsvONsFud3rWW1ePejl93izrVpTA7sHgs2lXq0HHnL6rFp VSebx/t9V9k8Pm+SC2CNYs3MS8qvSGDNOLyZtWADR8X1ztoGxtnsXYxcHEICjxkljq3ewwzhL GSU+PVkLVsXIycHm4CqxM3Vr1hBEiICbYwS56dvBmthFpjFJNFz7D0rSJWwQJjEur4mdhBbRC Baou16KxOErSexbfonRhCbBWjSsVv3wOp5BRwk3l9dChZnFJCVmPboPlg9s4C4xK0n88FsCQE BiSV7zjND2KISLx//A+rlALLlJbbMEoQo15O4MXUKG4StLbFs4WtmiPGCEidnPmGZwCg0C8nU WUhaZiFpmYWkZQEjyypG9eLUorLUIl1LvaSizPSMktzEzBxdQ0MjvdzU4uLE9NScxKRiveT83 E2MwBhiAIIdjBOnOB9ilORgUhLlXf3OOVyILyk/pTIjsTgjvqg0J7X4EKMMB4eSBK/xF6CcYF FqempFWmYOMJph0hIcPEoivLYgad7igsTc4sx0iNQpRkUpcd4ikIQASCKjNA+uDZZALjHKSgn zMgIdIsRTkFqUm1mCKv+KUZyDUUmYtxRkCk9mXgnc9FdAi5mAFvtDLC5JREhJNTCKyheqHopW eKCxZc9JM+E/oo7t7af/3Xqz3sHYLGnegdVNebE8phqWT6+fU/ljnFtvkFDRdpFN2Wm9hGb1h x/PZ6YeSik32tXZMmMye/Gys1fdVv7iXHfZLubmpH6m67Vvb5nWOD37uIenr/q16ZV45j27Ni Q5To2XDmlzWPysrk5CQWi5SrESS3FGoqEWc1FxIgCcfiy8GwMAAA== X-Env-Sender: hehy1@lenovo.com X-Msg-Ref: server-8.tower-47.messagelabs.com!1464071486!5843155!1 X-Originating-IP: [103.30.234.46] X-StarScan-Received: X-StarScan-Version: 8.34; banners=-,-,- X-VirusChecked: Checked From: Ocean HY1 He To: "bhelgaas@google.com" , "wangyijing@huawei.com" , "luto@kernel.org" CC: "linux-pci@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "prarit@redhat.com" , "jcm@redhat.com" , Nagananda Chumbalkar , Ocean HY1 He Subject: [PATCH] PCI/ASPM: fix reverse ASPM L0s assignment of upstream and downstream Thread-Topic: [PATCH] PCI/ASPM: fix reverse ASPM L0s assignment of upstream and downstream Thread-Index: AQHRtYWpsg8lpcvx/02vlThlKiXkrw== Date: Tue, 24 May 2016 06:29:44 +0000 Message-ID: <1464071269-79954-1-git-send-email-hehy1@lenovo.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.96.19.89] Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In pcie_config_aspm_link(), when convert ASPM state to upstream/downstream ASPM register state, the upstream variable and dwsream variable are reversed. This causes PCI/E link enter ASPM L0s even it should be disabled and PCI/E endpoint may reset randomly. Signed-off-by: Ocean He --- drivers/pci/pcie/aspm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c index 2dfe7fd..3f8a44d 100644 --- a/drivers/pci/pcie/aspm.c +++ b/drivers/pci/pcie/aspm.c @@ -439,9 +439,9 @@ static void pcie_config_aspm_link(struct pcie_link_state *link, u32 state) return; /* Convert ASPM state to upstream/downstream ASPM register state */ if (state & ASPM_STATE_L0S_UP) - dwstream |= PCI_EXP_LNKCTL_ASPM_L0S; - if (state & ASPM_STATE_L0S_DW) upstream |= PCI_EXP_LNKCTL_ASPM_L0S; + if (state & ASPM_STATE_L0S_DW) + dwstream |= PCI_EXP_LNKCTL_ASPM_L0S; if (state & ASPM_STATE_L1) { upstream |= PCI_EXP_LNKCTL_ASPM_L1; dwstream |= PCI_EXP_LNKCTL_ASPM_L1; -- 1.8.3.1