On Sun, Feb 2, 2014 at 1:35 AM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > On Sat, Feb 01, 2014 at 11:16:24AM -0800, Dan Williams wrote: >> On Sat, Feb 1, 2014 at 10:44 AM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: >> > On Fri, 31 Jan 2014, Dan Williams wrote: >> > >> >> Toggling port power currently leads to three unintended disconnect >> >> scenarios that are addressed by this rework of port power recovery and >> >> usb device resume: >> >> >> >> 1/ Superspeed devices downgrade to their hispeed connection: fix this by >> >> preventing superspeed poweroff until the peer port is suspended. >> >> This depends on the ability to identify peer ports (patches 1-4), and >> >> then patch 5 implements the policy. >> >> >> >> 2/ khubd prematurely disconnects ports that are in the process of >> >> being resumed or reset. khubd now ignores ports in the >> >> pm-runtime-suspended state (patch 9) and holds a lock to synchronize the port >> >> status changes of usb_port_{suspend|resume} (patch 11). >> >> >> >> 3/ Superspeed devices fail to reconnect: Seen during repeated toggles of >> >> the port power state. Fixed by forcing a full recovery cycle of the >> >> usb_device before allowing the next suspend / khubd run (patch 12). >> >> Also, for devices that live lock on reconnect the port runtime resume >> >> path now has the capability to force a reset-resume to be a >> >> warm-reset-resume (patch 13). >> > >> > I haven't gone through all this in any detail. But a couple of things >> > stand out immediately, matters of style. >> > >> > Although the USB stack still has plenty of old code with multiline >> > comments looking this this: >> > >> > /* blah blah blah >> > * blah blah blah >> > */ >> > >> > the accepted style is that all new code should appear like this: >> > >> > /* >> > * blah blah blah >> > * blah blah blah >> > */ >> >> Ah, the eternal debate. No worries. >> >> > Also, the style for indentation througout most of the USB stack is that >> > continuation lines are indented by two tab stops beyond the first line >> > of the statement. They are not aligned with opening parentheses of >> > function calls or anything like that. >> >> Unfortunate that what goes for net/, or drivers/md/ doesn't go for >> drivers/usb/... sounds like checkpatch needs subsystem specific style >> rules to avoid this thrash. >> >> If it's just the style I'll put those changes on a git branch and >> spare the list if you're ok doing a pull... otherwise I'll hold off >> until you have a chance to take a closer look. > > I don't do git pulls except from a very few number of people, so you > will have to make these into "real" patches eventually if you want them > to be accepted. Ok, that's the plan once Alan let's me know if v5 needs more than just the style changes. Until then the git tree is just a convenience for review. -- Dan -- 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