On Fri, Feb 19, 2021 at 02:45:54PM +0100, Christian König wrote:
Well as far as I can see this is a relative clear NAK.
When a device can't do DMA and has no DMA mask then why it is requesting an sg-table in the first place?
This may not be important for your discussion, but I'd like to give an answer to the question -- at least, for the case of USB.
A USB device cannot do DMA and has no DMA mask. Nevertheless, if you want to send large amounts of bulk data to/from a USB device then using an SG table is often a good way to do it. The reason is simple: All communication with a USB device has to go through a USB host controller, and many (though not all) host controllers _can_ do DMA and _do_ have a DMA mask.
The USB mass-storage and uas drivers in particular make heavy use of this mechanism.
Alan Stern