On Mon, Sep 10, 2007 at 05:11:23PM +0300, Boaz Harrosh wrote: > > In motivation to abstract scsi_cmnd members and insulate > drivers/transports from scsi_cmnd internals. The last > place left was the REQUEST_SENSE sequence when done > synchronous, by drivers. This probably isn't serious, but I noticed one thing (beyond what Alan's analysis noted)... I've always assumed that the scatterlist structs passed to an HCD were, themselves, allocated from DMA-able memory. That is, not just the transfer buffers themselves, but the struct scatterlist also. In this implementation, the struct scatterlist used for the single-element transfer of the request sense buffer is part of the struct scsi_eh_save_cmnd_info, which is allocated on the stack (for at least usb-storage). And, stack isn't DMA-able on all arches. It is not a problem for usb-storage, since the struct scatterlists are processed in code into a series of URBs, so nobody actually does DMA the scatterlist structures. However, I don't know enough about the other HCDs to be certain about them. Matt -- Matthew Dharm Home: mdharm-usb@xxxxxxxxxxxxxxxxxx Maintainer, Linux USB Mass Storage Driver Now payink attention, please. This is mouse. Click-click. Easy to use, da? Now you try... -- Pitr to Miranda User Friendly, 10/11/1998
Attachment:
pgpp5HB0XysiS.pgp
Description: PGP signature