Am Donnerstag, 26. April 2012, 20:18:00 schrieb Bjørn Mork: > Oliver Neukum <oliver@xxxxxxxxxx> writes: > > Am Donnerstag, 26. April 2012, 18:30:39 schrieb Bjørn Mork: > > > >> So nothing from the wdm_disconnect() call. But that is expected, isn't > >> it? We don't disconnect from the device here. > > > > Now you confuse me. I thought the oops happens when the disconnect after > > a write. > > Eh, yes. Sorry for that confusion. The userspace application closes > the character device file, so we do call wdm_release. But the driver does > not disconnect from the USB device, so we do not call wdm_disconnect. > > So the events leading to the crash are > > open(file, RW + NONBLOCK) > write(file) > write(file) > close(file) > > where the two writes are colliding. Quite possibly with read's > interleaved here, but I don't think they are relevant for the result. OK, thanks, that cleans matters up. As you cannot get debug messages, could you change this line dev_dbg(&desc->intf->dev, "Tx URB has been submitted index=%d", req->wIndex); to an error, too? And also a printk into: wdm_out_callback() ? Regards Oliver -- 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