On Thu, 24 Feb 2005, Doug Ledford wrote:

> Don't use cmd->request->nr_hw_segments as it may not be initialized
> (SG_IO in particular bypasses anything that initializes this and just
> uses scsi_do_req to insert a scsi_request directly on the head of the
> queue)
>

I opted to begin to use the nr_hw_segments as a guide following the
following thread on linux-scsi:

http://marc.theaimsgroup.com/?l=linux-scsi&m=107940832718154&w=2

and had inquired about its validaty in usage again in September of
last year:

http://marc.theaimsgroup.com/?l=linux-scsi&m=109580376921554&w=2

seems not all callers (properly?) prepare a request, still...

> and a bogus value here can trip up the checks to make sure that
> the number of segments will fit in the queue ring buffer, resulting in
> commands that are never completed.
> 

Yes, this is an unfortunate side-effect.  Not wanting to labor on the
reasoning behind its usage (the first marc referenced-link goes into
some details), the changes queued up in:

http://marc.theaimsgroup.com/?l=linux-scsi&m=110754501726445&w=2

negate any dependencies on nr_hw_segments.

> Fix up several issues with PCI DMA mapping and failure to check return
> values on the mappings.
> 

Yes, thanks for catching this.

> Make the check for space in the ring buffer happen after the DMA mapping
> is done since any checks done before the mapping has taken place are
> bogus.
> 

I'm hoping once the tree opens up after 2.6.11 is released to begin
making further additions to the qla2xxx driver with the experimentaly
patched driver as a base.

I'll queue-up your changes for my next set of patches.

Thanks again,
Andrew Vasquez
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to