* 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.