Hi Felipe, I'm using a usb composite gadget (g_serial) and it initially has a sysfs attribute "suspended" which is zero. When I physically unplug the usb cable, the "suspend" callback is called and the "suspended" attribute becomes 1. However, when I plug the gadget back in, the "reset" callback does not set suspended back to 0. The "resume" callback is never called. This is on a 4.9 kernel. Is this a bug in composite.c, where it ought to reset the "suspended" flag in its reset callback? Or is it a bug in my usb controller (dwc2) in that "resume" never gets called (actually I had to hack it to make it even call the gadget "reset" callback)? -- Frank