Re: [RFC] Change bcdUSB in older kernels to return 0x0310 for SuperSpeed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/12/2016 12:18 AM, Bjørn Mork wrote:
> John Youn <John.Youn@xxxxxxxxxxxx> writes:
> 
>> Hi,
>>
>> I would like to port the following commit from 4.6 to older kernels.
>>
>> 1a85329171094951956a37acc8abb7e51c1e742e ("usb: gadget: composite:
>> Return bcdUSB 0x0310")
>>
>> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=1a85329171094951956a37acc8abb7e51c1e742e
> 
> You are of course free to do that.  Why do you need it to be in
> everybody else's stable kernels?
> 
> Ref the current discussion on "security fixes only" stable kernels. It
> seems some people think that the current stable rules already allow too
> much potentionally harmful stuff.  Allowing new features like this isn't
> going to help there...
> 
>> There is a some concern that revving the bcdUSB to 0x0310 will cause
>> problems for SuperSpeed devices based on older kernels that don't
>> otherwise have any USB 3.1 specific code.
>>
>> On the device side I don't think there will be any problems because
>> there aren't really any checks against bcdUSB. We just set it to
>> 0x0300 (0x0310 for kernel 4.6+) based on if the gadget tells us it
>> supports SuperSpeed or higher.
>>
>> And I don't think there should be any problems for a host connecting
>> to these devices since any SuperSpeed capable host should know about
>> bcdUSB = 0x03XX. And I don't think the USB spec defines any different
>> functionality based solely on 0x0300 vs 0x0310.
> 
> Luckily I'm not the one to decide this, but I believe
> Documentation/stable_kernel_rules.txt require a lot more than that.
> Could you relate this to "fixing a bug" somehow?

It only relates to fixing a failure in the CV.

> 
>> The reason for this backport is that the USB CV tool now checks this
>> and ostensibly USB IF certification will require this for "new"
>> devices. So if you are basing a new device on a kernel older than 4.6,
>> it will not pass CV.
> 
> That sounds like a feature to me ;)

Ok thanks, good points.

Not everyone will want this in their existing, previously-certified
products. This could bring other problems for those devices, like
having to recertify.

I think there is a valid argument for having it there as well since
everyone certifying a device needs it. It could be considered a
failure in that it's been a requirement since USB 3.1. And I feel like
it could be backported to a few most recent kernel versions without
issue. Say, 4.4, which is too recent to have any Enhanced SuperSpeed
devices certified on it which doesn't also have to conform to USB 3.1.

But yeah, I don't think it should be backported to much older kernels
and I'm ok if it's only in 4.6 onwards.

Regards,
John

--
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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux