On Wed, Aug 19, 2020 at 6:56 AM Lorenzo Colitti <lorenzo@xxxxxxxxxx> wrote: > > On Wed, Aug 19, 2020 at 6:39 AM Maciej Żenczykowski > <zenczykowski@xxxxxxxxx> wrote: > > > - if (gadget_is_superspeed(g) && g->speed == USB_SPEED_SUPER) > > > - return 13 * 1024 * 8 * 1000 * 8; > > > + if (gadget_is_superspeed(g) && g->speed >= USB_SPEED_SUPER) > > > + return 4000000000; > > Will respin to change this to 4000000000U to address the warning > reported by the kernel test robot. > > > Do you know what this actually affects besides the display? > > My cursory investigation shows it gets printed to kernel log and sent > > over some sort of ncm notification to the other side... > > Yes, it's sent in the ConnectionSpeedChange notifications which are > intended to inform the host about how fast the link is. For a direct > connection over a USB cable this does not make much sense, but for, > say, a Gigabit Ethernet dongle that uses NCM, you'd probably want to > inform the host of whether the connection is 10, 100, or 1000M. This > is not what the code does now, obviously. > > > Is it better to underestimate or overestimate? > > (ie. would it be better to report 3.5 gbps for super and max out at > > 4.2 gbps for super plus instead?) > > I don't think it matters much. I'm happy to put 3860000000 for > SuperSpeed and 4200000000 for SuperSpeed Plus, or whatever else we > think makes sense. The speed is theoretical anyway. I suppose > reporting different speeds might be useful to debug whether the > connection is using 5G or >= 10G. > > Felipe, any opinions? Oh reporting diff speeds to make it more obvious what happened and whether SS+ is in use... that does seem like a win.