On Wed, Apr 07, 2010 at 05:35:51PM +0200, Daniel Mack wrote:
On Wed, Apr 07, 2010 at 08:31:54AM -0700, Greg KH wrote:
On Wed, Apr 07, 2010 at 05:11:25PM +0200, Daniel Mack wrote:
I vote for a clean solution, a fixup of existing implementations and a clear note about how to allocate buffers for USB drivers. I believe faulty allocations of this kind can explain quite a lot of problems on x86_64 machines.
Yeah, I really don't want to have to change every driver in different ways just depending on if someone thinks it is going to need to run on this wierd hardware.
Alan, any objection to just using usb_buffer_alloc() for every driver? Or is that too much overhead?
FWIW, most drivers I've seen in the past hours use a wild mix of kmalloc(), kzalloc(), kcalloc() and usb_buffer_alloc(). That should really be unified.
Yes, if it is necessary that we have to handle this type of crappy hardware, then it all needs to be unified. Or at least unified into 2 types of calls, one that needs the bounce buffer fun (what usb_buffer_alloc() does today), and one that doesn't (usb_kzalloc() perhaps?)
thanks,
greg k-h