Commit 2f7ecc55 authored by Salyzyn, Mark's avatar Salyzyn, Mark Committed by James Bottomley

[SCSI] aacraid: ignore adapter reset check polarity

The Adapter's Ignore Reset flag and insmod parameter boolean polarity
is incorrect in the driver.
Signed-off-by: default avatarMark Salyzyn <aacraid@adaptec.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent 8ef22247
...@@ -1341,7 +1341,7 @@ int aac_get_adapter_info(struct aac_dev* dev) ...@@ -1341,7 +1341,7 @@ int aac_get_adapter_info(struct aac_dev* dev)
(int)sizeof(dev->supplement_adapter_info.VpdInfo.Tsid), (int)sizeof(dev->supplement_adapter_info.VpdInfo.Tsid),
dev->supplement_adapter_info.VpdInfo.Tsid); dev->supplement_adapter_info.VpdInfo.Tsid);
} }
if (!aac_check_reset || ((aac_check_reset != 1) && if (!aac_check_reset || ((aac_check_reset == 1) &&
(dev->supplement_adapter_info.SupportedOptions2 & (dev->supplement_adapter_info.SupportedOptions2 &
AAC_OPTION_IGNORE_RESET))) { AAC_OPTION_IGNORE_RESET))) {
printk(KERN_INFO "%s%d: Reset Adapter Ignored\n", printk(KERN_INFO "%s%d: Reset Adapter Ignored\n",
...@@ -1379,13 +1379,14 @@ int aac_get_adapter_info(struct aac_dev* dev) ...@@ -1379,13 +1379,14 @@ int aac_get_adapter_info(struct aac_dev* dev)
if (nondasd != -1) if (nondasd != -1)
dev->nondasd_support = (nondasd!=0); dev->nondasd_support = (nondasd!=0);
if(dev->nondasd_support != 0) { if (dev->nondasd_support && !dev->in_reset)
printk(KERN_INFO "%s%d: Non-DASD support enabled.\n",dev->name, dev->id); printk(KERN_INFO "%s%d: Non-DASD support enabled.\n",dev->name, dev->id);
}
dev->dac_support = 0; dev->dac_support = 0;
if( (sizeof(dma_addr_t) > 4) && (dev->adapter_info.options & AAC_OPT_SGMAP_HOST64)){ if( (sizeof(dma_addr_t) > 4) && (dev->adapter_info.options & AAC_OPT_SGMAP_HOST64)){
printk(KERN_INFO "%s%d: 64bit support enabled.\n", dev->name, dev->id); if (!dev->in_reset)
printk(KERN_INFO "%s%d: 64bit support enabled.\n",
dev->name, dev->id);
dev->dac_support = 1; dev->dac_support = 1;
} }
...@@ -1395,8 +1396,9 @@ int aac_get_adapter_info(struct aac_dev* dev) ...@@ -1395,8 +1396,9 @@ int aac_get_adapter_info(struct aac_dev* dev)
if(dev->dac_support != 0) { if(dev->dac_support != 0) {
if (!pci_set_dma_mask(dev->pdev, DMA_64BIT_MASK) && if (!pci_set_dma_mask(dev->pdev, DMA_64BIT_MASK) &&
!pci_set_consistent_dma_mask(dev->pdev, DMA_64BIT_MASK)) { !pci_set_consistent_dma_mask(dev->pdev, DMA_64BIT_MASK)) {
printk(KERN_INFO"%s%d: 64 Bit DAC enabled\n", if (!dev->in_reset)
dev->name, dev->id); printk(KERN_INFO"%s%d: 64 Bit DAC enabled\n",
dev->name, dev->id);
} else if (!pci_set_dma_mask(dev->pdev, DMA_32BIT_MASK) && } else if (!pci_set_dma_mask(dev->pdev, DMA_32BIT_MASK) &&
!pci_set_consistent_dma_mask(dev->pdev, DMA_32BIT_MASK)) { !pci_set_consistent_dma_mask(dev->pdev, DMA_32BIT_MASK)) {
printk(KERN_INFO"%s%d: DMA mask set failed, 64 Bit DAC disabled\n", printk(KERN_INFO"%s%d: DMA mask set failed, 64 Bit DAC disabled\n",
......
...@@ -1458,7 +1458,7 @@ int aac_check_health(struct aac_dev * aac) ...@@ -1458,7 +1458,7 @@ int aac_check_health(struct aac_dev * aac)
printk(KERN_ERR "%s: Host adapter BLINK LED 0x%x\n", aac->name, BlinkLED); printk(KERN_ERR "%s: Host adapter BLINK LED 0x%x\n", aac->name, BlinkLED);
if (!aac_check_reset || ((aac_check_reset != 1) && if (!aac_check_reset || ((aac_check_reset == 1) &&
(aac->supplement_adapter_info.SupportedOptions2 & (aac->supplement_adapter_info.SupportedOptions2 &
AAC_OPTION_IGNORE_RESET))) AAC_OPTION_IGNORE_RESET)))
goto out; goto out;
......
...@@ -641,7 +641,7 @@ static int aac_eh_reset(struct scsi_cmnd* cmd) ...@@ -641,7 +641,7 @@ static int aac_eh_reset(struct scsi_cmnd* cmd)
AAC_OPTION_MU_RESET) && AAC_OPTION_MU_RESET) &&
aac_check_reset && aac_check_reset &&
((aac_check_reset != 1) || ((aac_check_reset != 1) ||
(aac->supplement_adapter_info.SupportedOptions2 & !(aac->supplement_adapter_info.SupportedOptions2 &
AAC_OPTION_IGNORE_RESET))) AAC_OPTION_IGNORE_RESET)))
aac_reset_adapter(aac, 2); /* Bypass wait for command quiesce */ aac_reset_adapter(aac, 2); /* Bypass wait for command quiesce */
return SUCCESS; /* Cause an immediate retry of the command with a ten second delay after successful tur */ return SUCCESS; /* Cause an immediate retry of the command with a ten second delay after successful tur */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment