lkml.org 
[lkml]   [2005]   [May]   [27]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 27 May 2005 03:37:31 -0400
FromJeff Garzik <>
SubjectRe: [PATCH] SATA NCQ support
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