On Wed, 19 Nov 2003, Jens Axboe wrote:

> The queue already has such a restriction embedded, see bio_map_user()
> and queue_dma_alignment().

Searching through the 2.6 kernel source gave some interesting results.

queue_dma_alignment() does nothing but set the dma_alignment field of the
request queue structure.  The _only_ place this field is used is in
fs/bio.c by __bio_map_user(), called from bio_map_user().  In turn, the
_only_ place bio_map_user() is called is from drivers/block/scsi_ioctl.c,
and that's only for a certain specific type of SCSI ioctl.  It's not on
any main code path, and it wouldn't get invoked by anything using the st
or sg drivers.  In fact, it looks like scsi_ioctl.c:scsi_cmd_ioctl() is
only called from within the sd driver.

So something needs to be fixed up.  Is there some spot in the block layer 
that's supposed to be checking dma alignments but isn't doing so?

Alan Stern



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to