multiple interface test case

Roman Kagan rkagan at mail.ru
Wed Apr 13 12:19:52 EDT 2005


On Wed, Apr 13, 2005 at 06:11:05PM +0200, Duncan Sands wrote:
> > This makes -mm3 behave similar to vanilla kernel (and is obviously
> > correct :).  However, my patch for -mm doesn't seem to fix it, I must
> > have got this stack popping with klists wrong...
> 
> it now deadlocks when trying to take the semaphore in
> device_release_driver.

Is it because the refcounted klist_del() in device_release_driver()
doesn't actually delete the device from the list until the
driver_detach() advances to the next entry, so that
device_release_driver() is re-entered for the disconnect()-ed interface?

These klists are real fun to deal with :(  I don't seem to have an idea
on how to handle that...

Well, at least omitting the disconnect()-ed interface explicitly in
disconnect() should work.  I'll try to check that...

Roman.



More information about the Usbatm mailing list