Skip to contentSkip to conversation

mpt2sas: use correct pci_resource_flag for comparison with device pci ,resource

PATCH In review Richard A Lary 2 participants 2 messages Mar 12, 2010 – Mar 30, 2010 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mpt2sas: use correct pci_resource_flag for comparison with device pci ,resource

From: Richard A Lary <[email protected]>

This patch replaces incorrect base address space flag with correct IO resource flag. Also, performs check of memory resource to validate resource before using.

---

drivers/scsi/mpt2sas/mpt2sas_base.c +13 -10
Index: b/drivers/scsi/mpt2sas/mpt2sas_base.c
===================================================================
@@ -1253,7 +1253,7 @@ mpt2sas_base_map_resources(struct MPT2SA
 	}
 
 	for (i = 0, memap_sz = 0, pio_sz = 0 ; i < DEVICE_COUNT_RESOURCE; i++) {
-		if (pci_resource_flags(pdev, i) & PCI_BASE_ADDRESS_SPACE_IO) {
+		if (pci_resource_flags(pdev, i) & IORESOURCE_IO) {
 			if (pio_sz)
 				continue;
 			pio_chip = (u64)pci_resource_start(pdev, i);
@@ -1261,15 +1261,18 @@ mpt2sas_base_map_resources(struct MPT2SA
 		} else {
 			if (memap_sz)
 				continue;
-			ioc->chip_phys = pci_resource_start(pdev, i);
-			chip_phys = (u64)ioc->chip_phys;
-			memap_sz = pci_resource_len(pdev, i);
-			ioc->chip = ioremap(ioc->chip_phys, memap_sz);
-			if (ioc->chip == NULL) {
-				printk(MPT2SAS_ERR_FMT "unable to map adapter "
-				    "memory!\n", ioc->name);
-				r = -EINVAL;
-				goto out_fail;
+			/* verify memory resource is valid before using */
+			if (pci_resource_flags(pdev, i) & IORESOURCE_MEM) {
+				ioc->chip_phys = pci_resource_start(pdev, i);
+				chip_phys = (u64)ioc->chip_phys;
+				memap_sz = pci_resource_len(pdev, i);
+				ioc->chip = ioremap(ioc->chip_phys, memap_sz);
+				if (ioc->chip == NULL) {
+					printk(MPT2SAS_ERR_FMT "unable to map "
+					    "adapter memory!\n", ioc->name);
+					r = -EINVAL;
+					goto out_fail;
+				}
 			}
 		}
 	}
#1 lore raw

After reviewing your patch, your patch looks ok to me. Similar changes I will post it for mptfusion also.

Please consider this patch as an Acked.

-- Kashyap

Quoted 69 lines

-----Original Message-----
From: [email protected] [mailto:linux-scsi- [email protected]] On Behalf Of Richard A Lary
Sent: Saturday, March 13, 2010 4:57 AM
To: [email protected]
Subject: [PATCH] mpt2sas: use correct pci_resource_flag for comparison with device pci ,resource

From: Richard A Lary <[email protected]>

This patch replaces incorrect base address space flag with correct IO resource
flag. Also, performs check of memory resource to validate resource before
using.

---

Index: b/drivers/scsi/mpt2sas/mpt2sas_base.c
===================================================================

drivers/scsi/mpt2sas/mpt2sas_base.c +1 -1
@@ -1253,7 +1253,7 @@ mpt2sas_base_map_resources(struct MPT2SA
  	}
 
  	for (i = 0, memap_sz = 0, pio_sz = 0 ; i < DEVICE_COUNT_RESOURCE;
 i++) {
-		if (pci_resource_flags(pdev, i) &
 PCI_BASE_ADDRESS_SPACE_IO) {
+		if (pci_resource_flags(pdev, i) & IORESOURCE_IO) {
  			if (pio_sz)
  				continue;
  			pio_chip = (u64)pci_resource_start(pdev, i);
drivers/scsi/mpt2sas/mpt2sas_base.c +12 -10
@@ -1261,15 +1261,18 @@ mpt2sas_base_map_resources(struct MPT2SA
  		} else {
  			if (memap_sz)
  				continue;
-			ioc->chip_phys = pci_resource_start(pdev, i);
-			chip_phys = (u64)ioc->chip_phys;
-			memap_sz = pci_resource_len(pdev, i);
-			ioc->chip = ioremap(ioc->chip_phys, memap_sz);
-			if (ioc->chip == NULL) {
-				printk(MPT2SAS_ERR_FMT "unable to map adapter "
-				    "memory!\n", ioc->name);
-				r = -EINVAL;
-				goto out_fail;
+			/* verify memory resource is valid before using */
+			if (pci_resource_flags(pdev, i) & IORESOURCE_MEM) {
+				ioc->chip_phys = pci_resource_start(pdev, i);
+				chip_phys = (u64)ioc->chip_phys;
+				memap_sz = pci_resource_len(pdev, i);
+				ioc->chip = ioremap(ioc->chip_phys, memap_sz);
+				if (ioc->chip == NULL) {
+					printk(MPT2SAS_ERR_FMT "unable to map "
+					    "adapter memory!\n", ioc->name);
+					r = -EINVAL;
+					goto out_fail;
+				}
  			}
  		}
  	}
 
--

To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html