Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+8 −6
Original line number Original line Diff line number Diff line
@@ -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)


	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,6 +1396,7 @@ 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)) {
			if (!dev->in_reset)
				printk(KERN_INFO"%s%d: 64 Bit DAC enabled\n",
				printk(KERN_INFO"%s%d: 64 Bit DAC enabled\n",
					dev->name, dev->id);
					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) &&
+1 −1
Original line number Original line Diff line number Diff line
@@ -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;
+1 −1
Original line number Original line Diff line number Diff line
@@ -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 */