diff options
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 | ||