Am Freitag, 22. Oktober 2010, 09:52:34 schrieb Yauheni Kaliuta: Hello, > I see some possibilities: > > 1) What I proposed: host keep polling. Most correct, but pointless bus > traffic. Yes. > 2) Since DTE (host) should check DSR only after DTR is set, gadget should > skip any notification after host removes DTR. When DTR is set, it sends the > notification. My nokia n82 behaves that way. From one side it looks like a > violation of the spec, on the bus there are 2 notifications about the same, > but according to the spec, the notification should be send only if there is > a change in the line state. But well, internally there was a change, just > there was no notification sent. > > Problem here is with the current linux host driver, which remembers the > state of previous session, it (host) may start to send data before DSR and > DCD actually set on the gadget side. So, the race again. I am afraid we cannot depend on any particular behavior on the gadget side. > 3) host side doesn't rely on the previous state, reset it and expects a > notification after it sets DTR. Looks reasonable, but if there is no change > on the gadget side (it may keep application running, carrier ..., why > not?), then host never receive the notification. It seems to me that the driver is buggy in as far as it depends on any state kept over a period of not polling the device. It may have undergone reset_resume() for example. 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