On Sat, 15 Nov 2003, Guennadi Liakhovetski wrote:
> several first commands seem to complete fine, but then I get an Oops,
> because dma_map_page is called with direction == DMA_NONE. Below is
Ok, I found where the data_direction is set to DMA_NONE, but I still don't
understand why, and how this is supposed to work. So, in
sd_revalidate_disk() sr_data_direction is initialised by
scsi_allocate_request() to DMA_BIDIRECTIONAL:
sreq->sr_data_direction = DMA_BIDIRECTIONAL;
, but already in sd_spinup_disk() it is reset to DMA_NONE:
SRpnt->sr_data_direction = DMA_NONE;
I haven't found yet how sr_data_direction gets copied to sc_data_direction
(so far it only looks like struct scsi_cmnd is just overlayd on struct
scsi_request, but I may be wrong there... Or is it really so?
Thanks
Guennadi
---
Guennadi Liakhovetski
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
|