aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-12 16:40:57 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-12 16:40:57 -0400
commit21ba0f88ae56da82a3a15fe54d729208b64c4f4b (patch)
tree17ce67f276fe3ea7284c3dc730bdd6a2ec7dfe2f /drivers/scsi/ipr.c
parentdc690d8ef842b464f1c429a376ca16cb8dbee6ae (diff)
parent36e235901f90fb83215be43cbd8f1ca14661ea40 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: (34 commits) PCI: Only build PCI syscalls on architectures that want them PCI: limit pci_get_bus_and_slot to domain 0 PCI: hotplug: acpiphp: avoid acpiphp "cannot get bridge info" PCI hotplug failure PCI: hotplug: acpiphp: remove hot plug parameter write to PCI host bridge PCI: hotplug: acpiphp: fix slot poweroff problem on systems without _PS3 PCI: hotplug: pciehp: wait for 1 second after power off slot PCI: pci_set_power_state(): check for PM capabilities earlier PCI: cpci_hotplug: Convert to use the kthread API PCI: add pci_try_set_mwi PCI: pcie: remove SPIN_LOCK_UNLOCKED PCI: ROUND_UP macro cleanup in drivers/pci PCI: remove pci_dac_dma_... APIs PCI: pci-x-pci-express-read-control-interfaces cleanups PCI: Fix typo in include/linux/pci.h PCI: pci_ids, remove double or more empty lines PCI: pci_ids, add atheros and 3com_2 vendors PCI: pci_ids, reorder some entries PCI: i386: traps, change VENDOR to DEVICE PCI: ATM: lanai, change VENDOR to DEVICE PCI: Change all drivers to use pci_device->revision ...
Diffstat (limited to 'drivers/scsi/ipr.c')
-rw-r--r--drivers/scsi/ipr.c22
1 files changed, 5 insertions, 17 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 4a3083ea59d5..b3bf77f1ec05 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -5373,18 +5373,12 @@ static const u16 ipr_blocked_processors[] = {
5373 **/ 5373 **/
5374static int ipr_invalid_adapter(struct ipr_ioa_cfg *ioa_cfg) 5374static int ipr_invalid_adapter(struct ipr_ioa_cfg *ioa_cfg)
5375{ 5375{
5376 u8 rev_id;
5377 int i; 5376 int i;
5378 5377
5379 if (ioa_cfg->type == 0x5702) { 5378 if ((ioa_cfg->type == 0x5702) && (ioa_cfg->pdev->revision < 4)) {
5380 if (pci_read_config_byte(ioa_cfg->pdev, PCI_REVISION_ID, 5379 for (i = 0; i < ARRAY_SIZE(ipr_blocked_processors); i++){
5381 &rev_id) == PCIBIOS_SUCCESSFUL) { 5380 if (__is_processor(ipr_blocked_processors[i]))
5382 if (rev_id < 4) { 5381 return 1;
5383 for (i = 0; i < ARRAY_SIZE(ipr_blocked_processors); i++){
5384 if (__is_processor(ipr_blocked_processors[i]))
5385 return 1;
5386 }
5387 }
5388 } 5382 }
5389 } 5383 }
5390 return 0; 5384 return 0;
@@ -7541,13 +7535,7 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev,
7541 else 7535 else
7542 ioa_cfg->transop_timeout = IPR_OPERATIONAL_TIMEOUT; 7536 ioa_cfg->transop_timeout = IPR_OPERATIONAL_TIMEOUT;
7543 7537
7544 rc = pci_read_config_byte(pdev, PCI_REVISION_ID, &ioa_cfg->revid); 7538 ioa_cfg->revid = pdev->revision;
7545
7546 if (rc != PCIBIOS_SUCCESSFUL) {
7547 dev_err(&pdev->dev, "Failed to read PCI revision ID\n");
7548 rc = -EIO;
7549 goto out_scsi_host_put;
7550 }
7551 7539
7552 ipr_regs_pci = pci_resource_start(pdev, 0); 7540 ipr_regs_pci = pci_resource_start(pdev, 0);
7553 7541