Re: [PATCH v2 1/5] USB: gadget: f_rndis: fix bitrate for SuperSpeed and above

From: Peter Chen
Date: Tue Dec 01 2020 - 03:49:31 EST


>
> From: Will McVicker <willmcvicker@xxxxxxxxxx>
>

Reviewed-by: Peter Chen <peter.chen@xxxxxxx>

Peter
> Align the SuperSpeed Plus bitrate for f_rndis to match f_ncm's ncm_bitrate
> defined by commit 1650113888fe ("usb: gadget: f_ncm: add SuperSpeed descriptors
> for CDC NCM").
>
> Cc: Felipe Balbi <balbi@xxxxxxxxxx>
> Cc: EJ Hsu <ejh@xxxxxxxxxx>
> Cc: Peter Chen <peter.chen@xxxxxxx>
> Cc: stable <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Will McVicker <willmcvicker@xxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
> drivers/usb/gadget/function/f_rndis.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/gadget/function/f_rndis.c b/drivers/usb/gadget/function/f_rndis.c
> index 9534c8ab62a8..0739b05a0ef7 100644
> --- a/drivers/usb/gadget/function/f_rndis.c
> +++ b/drivers/usb/gadget/function/f_rndis.c
> @@ -87,8 +87,10 @@ static inline struct f_rndis *func_to_rndis(struct usb_function *f)
> /* peak (theoretical) bulk transfer rate in bits-per-second */
> static unsigned int bitrate(struct usb_gadget *g)
> {
> + if (gadget_is_superspeed(g) && g->speed >= USB_SPEED_SUPER_PLUS)
> + return 4250000000U;
> if (gadget_is_superspeed(g) && g->speed == USB_SPEED_SUPER)
> - return 13 * 1024 * 8 * 1000 * 8;
> + return 3750000000U;
> else if (gadget_is_dualspeed(g) && g->speed == USB_SPEED_HIGH)
> return 13 * 512 * 8 * 1000 * 8;
> else
> --
> 2.29.2
>