From patchwork Sat Jul 27 19:32:38 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ethan Zhao X-Patchwork-Id: 2834664 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 36286C0319 for ; Sun, 28 Jul 2013 01:34:40 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 5888620138 for ; Sun, 28 Jul 2013 01:34:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7E34E20111 for ; Sun, 28 Jul 2013 01:34:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752912Ab3G1BeZ (ORCPT ); Sat, 27 Jul 2013 21:34:25 -0400 Received: from mail-pa0-f53.google.com ([209.85.220.53]:48579 "EHLO mail-pa0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752897Ab3G1BeZ (ORCPT ); Sat, 27 Jul 2013 21:34:25 -0400 Received: by mail-pa0-f53.google.com with SMTP id lb1so4551913pab.40 for ; Sat, 27 Jul 2013 18:34:24 -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=QLND+gZ71xKttsiei8/UZcM3cCWP9yxI9c3XRH9dZY8=; b=zfdu1vhZdf473kObQT98mTQhdd6J8X8sF7JMA93qrRmWcghsxJz1Zgl8ppf2CwM1jo bvLdEd2/eMQL3pIc2kJ4ouggXL5/F55+P3w3r/+rSOJh5BkvuZQ1x1cLZ7jDedMjJcQn d9XuKZseIe8JxO8vN1sIT+SPj48WMUYhnJ1kcaKvmHGKNiFLREM3WTMqdRxMbij/h4ky aHteqLoBE2/vM2I51e4EqUu1wi/adidpyWtC0Gpjs309yPm+P3nuiYzRDIksXragPGZO rm16+Hp3q/De628J0/v3FszarVJ85zk3hk/X9Vy39I0O96WO/3uQjYntkIlgrCOBDzru P5KQ== X-Received: by 10.68.143.73 with SMTP id sc9mr61321920pbb.2.1374975264623; Sat, 27 Jul 2013 18:34:24 -0700 (PDT) Received: from localhost.localdomain ([222.129.38.23]) by mx.google.com with ESMTPSA id oj6sm12168417pab.9.2013.07.27.18.34.19 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Sat, 27 Jul 2013 18:34:23 -0700 (PDT) From: ethan.kernel@gmail.com To: 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 V2] x86/PCI: MMCONFIG: cleanup and add address warning to pci_mmconfig_insert Date: Sat, 27 Jul 2013 15:32:38 -0400 Message-Id: <1374953558-4704-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 Cleanup the -EINVAL return value handling and add warning message for invalid start,end,addr parameters. V2: Corrected code style and tested for Linux v 3.11-rc2 Signed-off-by: ethan.zhao --- arch/x86/pci/mmconfig-shared.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c index 082e881..37f6c7f 100644 --- a/arch/x86/pci/mmconfig-shared.c +++ b/arch/x86/pci/mmconfig-shared.c @@ -700,8 +700,13 @@ 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 +721,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) {