On Thu, 15 Jan 2004, Stavros Markou wrote: > First of all, I want to thank you and Alan for your help. Second for the > drivers I am developing and In order to be independent from a kernel 's > usb_reset_device (since it doesn't work for the moment and the users of > the driver don't want to mess with the kernel too much) I 've put a > small portion of > kernel usb code inside a file called kernel_usb_reset.c that I attach it > to this mail. Inside this file I 've made some changes to > usb_physical_reset_device (__usb_reset_device) and I 've included some > functions in order to complete succesfully the reset of the device. > Inside the kernel, usb_physical_reset_device stops when it puts down the > usb0_address_sem and leaves the system hanging. All seems to be fine > after my reset_device the card as network device is fully functional . > When I try to hot_unplug the device, and I believe usb_disconnect > function is called then, I get a NULL pointer reference that leaves the > system > with pending urbs etc.
I took a quick look at your file. Making reset_device() call destroy_configuration() and get_configuration() like you do is very unsafe. No wonder you're getting kernel panics! This entire part of the USB subsystem is under active development at the moment. Any changes you make will most likely be superseded in the near future. Although you may not like it, my best advice for now is just to wait until the updates are written. Here's an alternate approach you could try. Create a userspace driver that uses libfs or usbfs to take care of the DFU and device reset. Once that's done, load your kernel driver and let it carry on. Alan Stern ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel