mpt2sas: use correct pci_resource_flag for comparison with device pci ,resource
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
@@ -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; + } } } }
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 correctpci_resource_flagfor comparison with device pci ,resourceFrom: 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.Signed-off-by Richard A Lary <[email protected]>---
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