multiple interface test case
Roman Kagan
rkagan at mail.ru
Wed Apr 13 07:04:35 EDT 2005
On Wed, Apr 13, 2005 at 12:44:11PM +0200, Duncan Sands wrote:
> /* don't disconnect from disconnect(), or before dev_add() */
> if (!klist_node_attached(&dev->knode_driver) && !klist_node_attached(&dev->knode_bus)) {
> printk("usb_driver_release_interface: releasing\n");
> device_release_driver(dev);
> } else printk("usb_driver_release_interface: skipping\n");
>
> and here's what I see
>
> release_interfaces: interface 0
> usb_driver_release_interface: skipping <= somehow I failed to see this!
> release_interfaces: interface 1
> usb_driver_release_interface: skipping
> release_interfaces: interface 2
> usb_driver_release_interface: skipping
That is weird then: who has removed _all_ interfaces from the driver's
list? On the first disconnect(), the other two interfaces must still
remain on the list. Otherwise what does driver_detach() iterate over?
> No, we never call device_release_driver from
> usb_driver_release_interface.
Then -rc2-mm3 is even worse broken than I thought :) OK I'm downloading
it now, I'll try to look into it.
Roman.
More information about the Usbatm
mailing list