question about drivers/scsi/aic7xxx/aic7xxx_osm.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The function ahc_linux_run_command in the file 
drivers/scsi/aic7xxx/aic7xxx_osm.c contains the following code:

	/*
	 * We only allow one untagged transaction
	 * per target in the initiator role unless
	 * we are storing a full busy target *lun*
	 * table in SCB space.
	 */
	if (!blk_rq_tagged(cmd->request)
	    && (ahc->features & AHC_SCB_BTT) == 0) {
		int target_offset;

		target_offset = cmd->device->id + cmd->device->channel * 8;
		untagged_q = &(ahc->untagged_queues[target_offset]);
		if (!TAILQ_EMPTY(untagged_q))
			/* if we're already executing an untagged command
			 * we're busy to another */
			return SCSI_MLQUEUE_DEVICE_BUSY;
	}

The constant AHC_SCB_BTT, however, is defined in the enum type ahc_flag in 
the file drivers/scsi/aic7xxx/aic7xxx.h, unlike the other constants that 
the features field is compared with, which are defined in the enum type 
ahc_feature, in the same file.  Is this correct?  AHC_SCB_BTT has the 
value 0x40000, which is the same as the ahc_feature value AHC_MULTIROLE.  
Should that value be used instead?  Or something else?

julia
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux