On Fri, Sep 20, 2019 at 03:17:26PM +0200, David Heinzelmann wrote: > Hi, > > sorry for the wrong patch format. No problem, that's normal. But please do not top-post on linux mailing lists. > I am trying to detect a change. At the moment I think the change could be ignored if a > port connection-change occurs and the port status has again the 'PORT_CONNECTION' bit set. > > I have a fx3 device which does a re-enumeration after a firmware download. This is working > as expected and I am seeing a 'remove event' and a 'add event' monitoring via udevadm. But > if I connect multiple devices at the same time via an usb hub I am sometimes not receiving > a 'remove event' and 'add event' for a single device. Sounds like a broken hub :) > I think the problem could be that when a device disconnects and the port connection-change > occurs and before the 'PORT_CONNECTION' bit is checked the device could already be > reconnected and the 'PORT_CONNECTION' bit is set. Therefore I think it is not correct to > resuscitate the exisiting device. Does your patch actually fix the issue? When a fx3 device downloads firmware and re-enumerates, it should come back as a totally different device, which will fail this check, right? So I don't see how this fixes the issues with your devices. Unless all of the devices reset themselves at the same time and the hub doesn't like that and can't notice that it happened? If you use a different hub, does that work properly? thanks, greg k-h