Skip to contentSkip to conversation

x86/PCI: MMCONFIG: cleanup and add address warning to pci_mmconfig_insert

PATCH Superseded [email protected] 2 participants 3 messages Jul 27, 2013 – Jul 28, 2013

Subsystems (2)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 x86/PCI: MMCONFIG: cleanup and add address warning to pci_mmconfig_insert

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

---
 arch/x86/pci/mmconfig-shared.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)
arch/x86/pci/mmconfig-shared.c +6 -6
index 082e881..37f6c7f 100644
@@ -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) {
Signature · 1 line
1.7.1
#1 lore raw

Another nit below:

Quoted 15 lines · On Jul 27, 2013, at 12:32 PM, [email protected] wrote:

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

---
arch/x86/pci/mmconfig-shared.c | 12 ++++++------

1 files changed, 6 insertions(+), 6 deletions(-)
arch/x86/pci/mmconfig-shared.c +0 -0
index 082e881..37f6c7f 100644

arch/x86/pci/mmconfig-shared.c int pci_mmconfig_insert(struct device *dev, u16 seg, u8 start, u8 end, · line 706

Quoted 8 lines
arch/x86/pci/mmconfig-shared.c +4 -1
@@ -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",

As it is here, there will be no space between MMCONFIG and the word start. Better still, put the entire string on one line to aid those searching for the message. There is a general exception to the 80-column rule for user-visible messages such as this.

<snip>

Signature · 1 line
Mark Rustad, [email protected]
author
#2 lore raw

thanks,got it ,you are right.

Quoted 35 lines · 在 2013-7-28,11:09,Mark D Rustad <[email protected]> 写道:

Another nit below:

Quoted 15 lines · On Jul 27, 2013, at 12:32 PM, [email protected] wrote:

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

---
arch/x86/pci/mmconfig-shared.c | 12 ++++++------

1 files changed, 6 insertions(+), 6 deletions(-)
arch/x86/pci/mmconfig-shared.c +0 -0
index 082e881..37f6c7f 100644

arch/x86/pci/mmconfig-shared.c int pci_mmconfig_insert(struct device *dev, u16 seg, u8 start, u8 end, · line 706

Quoted 8 lines
arch/x86/pci/mmconfig-shared.c +4 -1
@@ -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",

As it is here, there will be no space between MMCONFIG and the word start. Better still, put the entire string on one line to aid those searching for the message. There is a general exception to the 80-column rule for user-visible messages such as this.

<snip>

Signature · 1 line
Mark Rustad, [email protected]