On Fri, May 18, 2007 at 10:20:51AM -0400, Alan Stern wrote:
> > 1) kzalloc() is called, but memory is never freed
> > 
> >     Is this a memory leak?  I'm not sure, but the buffer is only
> >     a dummy buffer to hold return data that is never used,
> >     so I suspect a stack variable will suffice.
> 
> Are you aware that stack-based DMA buffers don't work on all systems?

I was not aware of that, thanks.  So kzalloc() needs to stay,
and the leak needs to be fixed.


> Apparently you don't understand how usb_driver_set_configuration()  
> works.  It doesn't set the configuration immediately; in fact the
> Set-Config doesn't happen until after your driver returns.

Thank you for the explanation.  If I understand correctly, the ssleep()
I added is really just delaying the actual set-config (if it actually happens).

Are most of these usb function calls queued like this?


> usb_reset_configuration() doesn't do a device reset; it does a 
> Set-Config.  Is that what you want?  Or do you want to call 
> usb_reset_device()?

I wanted reset_device.  If I call usb_reset_device(), and there is a
pending usb_set_configuration(), will it still happen in that order?

I'll work up a new patch.  Interestingly, I did test this, and it
worked, even with the wrong call.  It could have just been the
device I was testing with.  I once had a Pearl that definitely needed
a reset from userspace, but I don't have it to test with anymore.

Thanks,
- Chris


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to