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 fa6ff295e568..81330712048c 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c | |||
@@ -5367,18 +5367,12 @@ static const u16 ipr_blocked_processors[] = { | |||
5367 | **/ | 5367 | **/ |
5368 | static int ipr_invalid_adapter(struct ipr_ioa_cfg *ioa_cfg) | 5368 | static int ipr_invalid_adapter(struct ipr_ioa_cfg *ioa_cfg) |
5369 | { | 5369 | { |
5370 | u8 rev_id; | ||
5371 | int i; | 5370 | int i; |
5372 | 5371 | ||
5373 | if (ioa_cfg->type == 0x5702) { | 5372 | if ((ioa_cfg->type == 0x5702) && (ioa_cfg->pdev->revision < 4)) { |
5374 | if (pci_read_config_byte(ioa_cfg->pdev, PCI_REVISION_ID, | 5373 | for (i = 0; i < ARRAY_SIZE(ipr_blocked_processors); i++){ |
5375 | &rev_id) == PCIBIOS_SUCCESSFUL) { | 5374 | if (__is_processor(ipr_blocked_processors[i])) |
5376 | if (rev_id < 4) { | 5375 | return 1; |
5377 | for (i = 0; i < ARRAY_SIZE(ipr_blocked_processors); i++){ | ||
5378 | if (__is_processor(ipr_blocked_processors[i])) | ||
5379 | return 1; | ||
5380 | } | ||
5381 | } | ||
5382 | } | 5376 | } |
5383 | } | 5377 | } |
5384 | return 0; | 5378 | return 0; |
@@ -7535,13 +7529,7 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev, | |||
7535 | else | 7529 | else |
7536 | ioa_cfg->transop_timeout = IPR_OPERATIONAL_TIMEOUT; | 7530 | ioa_cfg->transop_timeout = IPR_OPERATIONAL_TIMEOUT; |
7537 | 7531 | ||
7538 | rc = pci_read_config_byte(pdev, PCI_REVISION_ID, &ioa_cfg->revid); | 7532 | ioa_cfg->revid = pdev->revision; |
7539 | |||
7540 | if (rc != PCIBIOS_SUCCESSFUL) { | ||
7541 | dev_err(&pdev->dev, "Failed to read PCI revision ID\n"); | ||
7542 | rc = -EIO; | ||
7543 | goto out_scsi_host_put; | ||
7544 | } | ||
7545 | 7533 | ||
7546 | ipr_regs_pci = pci_resource_start(pdev, 0); | 7534 | ipr_regs_pci = pci_resource_start(pdev, 0); |
7547 | 7535 | ||