From patchwork Sat Jul 27 20:39:41 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ethan Zhao X-Patchwork-Id: 2834666 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 4B48D9F4D4 for ; Sun, 28 Jul 2013 03:59:23 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 5E9B220144 for ; Sun, 28 Jul 2013 03:59:22 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7C6B62013C for ; Sun, 28 Jul 2013 03:59:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753092Ab3G1D6r (ORCPT ); Sat, 27 Jul 2013 23:58:47 -0400 Received: from mail-pa0-f48.google.com ([209.85.220.48]:47407 "EHLO mail-pa0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753079Ab3G1D6q (ORCPT ); Sat, 27 Jul 2013 23:58:46 -0400 Received: by mail-pa0-f48.google.com with SMTP id kp13so3416026pab.35 for ; Sat, 27 Jul 2013 20:58:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer; bh=Aedde4KBYRT4X4j3nJ2NdjLiiPm6+5pOO5tLz5SV7Ug=; b=Y1Lp6gViwyEyY/Q49dqX7cVk1hmQngL4r1pmAMRyBDCtLLrZuiFPsPTkR24C3H9wHW egnyVTV0t0fSeWOdpkEQosTNXeBUyOLVyTGwJ2qEgFeCKZj7vSTF3Dat8BrO5/jZhkD9 NtN8WxJTBSHdJ5REkdX0XBzgzDeyWx/Ybb8MzezQmvDMDFi0cr4J0waqjR6S7OVVmfVW K8Fy5bwbRXxQDmcCiTjpTiM3NUdqZygFlIpcCnsCLwNlURmbKSFUVu60BDS9EK0H8Ddj SKfS0Y4ZD6jacTGUqJHzFZ3mphCil6G7wBKoWTuSrkmyb4n7VayWjdCV4K3ibci8ro8z Y8wA== X-Received: by 10.66.171.77 with SMTP id as13mr21816418pac.170.1374983925874; Sat, 27 Jul 2013 20:58:45 -0700 (PDT) Received: from localhost.localdomain ([222.129.38.23]) by mx.google.com with ESMTPSA id il4sm68927080pbb.36.2013.07.27.20.58.40 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Sat, 27 Jul 2013 20:58:44 -0700 (PDT) From: "ethan.zhao" To: mrustad@gmail.com, bhelgaas@google.com, yinghai@kernel.org, jbarnes@virtuousgeek.org Cc: linux-kernel@vger.kernel.org, jiang.liu@huawei.com, linux-pci@vger.kernel.org, joe.jin@oracle.com, "ethan.zhao" Subject: [PATCH v3] x86/PCI: MMCONFIG: cleanup and add address warning to pci_mmconfig_insert Date: Sat, 27 Jul 2013 16:39:41 -0400 Message-Id: <1374957581-5542-1-git-send-email-ethan.kernel@gmail.com> X-Mailer: git-send-email 1.7.1 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Spam-Status: No, score=-6.7 required=5.0 tests=BAYES_00, DATE_IN_PAST_06_12, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,FREEMAIL_FROM,RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP V2: Corrected code style and tested for Linux v 3.11-rc2 V3: Fix the no space betwween words typo and keep the string in one line. Signed-off-by: ethan.zhao --- arch/x86/pci/mmconfig-shared.c | 11 +++++------ 1 files changed, 5 insertions(+), 6 deletions(-) diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index 082e881..619b74b 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig-shared.c @@ -700,8 +700,12 @@ int pci_mmconfig_insert(struct device *dev, u16 seg, u8 start, u8 end, if (!(pci_probe & PCI_PROBE_MMCONF) || pci_mmcfg_arch_init_failed) return -ENODEV; - if (start > end) + if (start > end || !addr) { + dev_warn(dev, FW_INFO + "Invalid address to add MMCONFIG start %02x end %02x addr %pR\n", + start, end, addr); return -EINVAL; + } mutex_lock(&pci_mmcfg_lock); cfg = pci_mmconfig_lookup(seg, start); @@ -716,11 +720,6 @@ int pci_mmconfig_insert(struct device *dev, u16 seg, u8 start, u8 end, return -EEXIST; } - if (!addr) { - mutex_unlock(&pci_mmcfg_lock); - return -EINVAL; - } - rc = -EBUSY; cfg = pci_mmconfig_alloc(seg, start, end, addr); if (cfg == NULL) {