diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-12 16:40:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-12 16:40:57 -0400 |
commit | 21ba0f88ae56da82a3a15fe54d729208b64c4f4b (patch) | |
tree | 17ce67f276fe3ea7284c3dc730bdd6a2ec7dfe2f /drivers/scsi/ipr.c | |
parent | dc690d8ef842b464f1c429a376ca16cb8dbee6ae (diff) | |
parent | 36e235901f90fb83215be43cbd8f1ca14661ea40 (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.c | 22 |
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 | **/ |
5374 | static int ipr_invalid_adapter(struct ipr_ioa_cfg *ioa_cfg) | 5374 | static 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 | ||