All of lore.kernel.org
 help / color / mirror / Atom feed
* question about drivers/scsi/aic7xxx/aic7xxx_osm.c
@ 2009-09-22  9:53 Julia Lawall
  0 siblings, 0 replies; only message in thread
From: Julia Lawall @ 2009-09-22  9:53 UTC (permalink / raw)
  To: hare, linux-scsi

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-09-22  9:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-09-22  9:53 question about drivers/scsi/aic7xxx/aic7xxx_osm.c Julia Lawall

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.