Hi! >>>>> "eON" == ext Oliver Neukum writes: > Am Freitag, 22. Oktober 2010, 09:52:34 schrieb Yauheni Kaliuta: > > 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. Can I be sure, that after SetControlLineState(0,0) <stop polling> SetControlLineState(1,1) gadget always send a notification SerialState? As I described, I see in the spec a possibility, when it doesn't. Does anybody know such a gadget? But if we assume that, I'll send patches, which 1) reinit host side line state to 0 before enabling notification 2) make gadget to not to send anything after it get SetControlLineState(0,0). -- WBR, Yauheni Kaliuta -- 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