On Sat, 8 Sep 2012, Hans de Goede wrote: > Apps which deal with devices which also have a kernel driver, need to do > the following: > 1) Check which driver is attached, so as to not detach the wrong driver > (ie detaching usbfs while another instance of the app is using the device) > 2) Detach the kernel driver > 3) Claim the interface > > Where moving from one step to the next for both 1-2 and 2-3 consists of > a (small) race window. So currently such apps are racy and people just live > with it. > > This patch adds a new ioctl which makes it possible for apps to do this > in a race free manner. For flexibility apps can choose to: > 1) Specify the driver to disconnect > 2) Specify to disconnect any driver except for the one named by the app > 3) Disconnect any driver > > Note that if there is no driver attached, the ioctl will just act like the > regular claim-interface ioctl, this is by design, as returning an error for > this condition would open a new bag of race-conditions. > > Changes in v2: > -Fix indentation of if blocks where the condition spans multiple lines > > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html