Hi Alan,

On Mon, 4 Aug 2003, Alan Stern wrote:

> > Is there any other way to let the USB subsys retrieve the new interface
> > descr. after usb_reset_device ?
>
> No, unfortunately there isn't.  The whole usb_reset_device() approach is
> badly in need of updating.  There was a lengthy discussion about it some
> months ago, but no one has submitted any code.  See
>
> http://sourceforge.net/mailarchive/message.php?msg_id=5073658
>
> http://sourceforge.net/mailarchive/message.php?msg_id=5102348
>
> and
>
> http://sourceforge.net/mailarchive/message.php?msg_id=5076167

Thanks for the pointers - but I don't understand much of them.
They are about some future design - is there any _working_ way to use
usb_reset_device() right now in my case (DFU download, REMAP,
usb_reset_device)? I grep'd for it in the kernel source and looked at
scsi_glue.c, but couldn't figure out how it resolves the problem below.

I currently run in a a scheduler queue task (didn't dare to do it in
probe() as I have to wait for a second after REMAP):

struct my_device *dev = ...;
...
dev->udev->descriptor.idProduct++;
usb_driver_release_interface(dev->calling_driver,
        dev->interface);
usb_reset_device(dev->udev);

dev->interface = &dev->udev->actconfig->interface[0];
usb_driver_claim_interface(dev->calling_driver,
      dev->interface, dev);

which gives back the correct interface descriptors, but when I unplug the
device the driver's disconnect() is not called.
I guess the destroy_configuration() inside usb_reset_device() destroyed
the registration of the interfaces with the driver core.

The 2.4.x driver for my device is based on calling usb_scan_devices()
after usb_reset_device() which called the driver's probe() again.
usb_scan_devices() was removed in 2.5.x :-(

Would it help to call the above in the driver's probe()?

Regards,
J�rg.


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to