Open
Description
Right now, the expected synchronization when destructing a device, or more generally when releasing a device with the cancellation of all URBs in flight and the reset of that device is not effective. The reason is the (false) expectation and defensive programming in the DDE Linux emulation layer, where the release is requested. That function proves for the current acquisition of the device, which is never answered positively here anymore. Moreover, the Linux release function has to be called also when a release is requested explicitly. Right now, both releases are done right after the explicit call or destruction of a session, but not necessarily completely in sync.