![]() | |||||||||||
Messages in this thread |
Jens Axboe wrote:
> That is the typical case, ata_qc_new() succeeds but we cannot issue the
> command yet. So where do you want this logic placed? You cannot drop the
> host_lock in-between, as that could potentially change the situation.
ata_scsi_translate() in libata-scsi.c, in between the call to
ata_scsi_qc_new() and ata_qc_issue().
something like:
if (ata_scsi_qc_new() fails ||
(depth > 0 && ata_check_non_ncq_cmd()))
complete SCSI command with 'queue full'
NOTE!
I just noticed a bug -- When ata_scsi_qc_new() fails, the code should
complete the command with queue-full, but does not.
qc = ata_scsi_qc_new(ap, dev, cmd, done);
if (!qc)
return;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| ||||||||||
| Last update: 2005-05-27 09:48 [from the cache] ©2003-2008 | |||||||||||