Skip to content

Commit 98102ae

Browse files
Linyu Yuangregkh
authored andcommitted
usb: gadget: use working speed to calcaulate network bitrate and qlen
Take ecm_bitrate() as example, it will be called after gadget device link speed negotiation, consider code if (gadget_is_superspeed(g) && g->speed == USB_SPEED_SUPER), if a gadget device link speed is USB_SPEED_SUPER, gadget_is_superspeed(g) must be true, or not it is a wrong configuration of gadget max support speed. Remove gadget_is_superspeed(g) checking should be safe, and remove other similar operation in ncm, rndis, u_ether. Signed-off-by: Linyu Yuan <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 0c2dfb3 commit 98102ae

File tree

4 files changed

+10
-11
lines changed

4 files changed

+10
-11
lines changed

drivers/usb/gadget/function/f_ecm.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ static inline struct f_ecm *func_to_ecm(struct usb_function *f)
6868
/* peak (theoretical) bulk transfer rate in bits-per-second */
6969
static inline unsigned ecm_bitrate(struct usb_gadget *g)
7070
{
71-
if (gadget_is_superspeed(g) && g->speed == USB_SPEED_SUPER)
71+
if (g->speed == USB_SPEED_SUPER)
7272
return 13 * 1024 * 8 * 1000 * 8;
73-
else if (gadget_is_dualspeed(g) && g->speed == USB_SPEED_HIGH)
73+
else if (g->speed == USB_SPEED_HIGH)
7474
return 13 * 512 * 8 * 1000 * 8;
7575
else
7676
return 19 * 64 * 1 * 1000 * 8;

drivers/usb/gadget/function/f_ncm.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,11 @@ static inline unsigned ncm_bitrate(struct usb_gadget *g)
8585
{
8686
if (!g)
8787
return 0;
88-
else if (gadget_is_superspeed(g) && g->speed >= USB_SPEED_SUPER_PLUS)
88+
else if (g->speed >= USB_SPEED_SUPER_PLUS)
8989
return 4250000000U;
90-
else if (gadget_is_superspeed(g) && g->speed == USB_SPEED_SUPER)
90+
else if (g->speed == USB_SPEED_SUPER)
9191
return 3750000000U;
92-
else if (gadget_is_dualspeed(g) && g->speed == USB_SPEED_HIGH)
92+
else if (g->speed == USB_SPEED_HIGH)
9393
return 13 * 512 * 8 * 1000 * 8;
9494
else
9595
return 19 * 64 * 1 * 1000 * 8;

drivers/usb/gadget/function/f_rndis.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,11 @@ static inline struct f_rndis *func_to_rndis(struct usb_function *f)
8787
/* peak (theoretical) bulk transfer rate in bits-per-second */
8888
static unsigned int bitrate(struct usb_gadget *g)
8989
{
90-
if (gadget_is_superspeed(g) && g->speed >= USB_SPEED_SUPER_PLUS)
90+
if (g->speed >= USB_SPEED_SUPER_PLUS)
9191
return 4250000000U;
92-
if (gadget_is_superspeed(g) && g->speed == USB_SPEED_SUPER)
92+
if (g->speed == USB_SPEED_SUPER)
9393
return 3750000000U;
94-
else if (gadget_is_dualspeed(g) && g->speed == USB_SPEED_HIGH)
94+
else if (g->speed == USB_SPEED_HIGH)
9595
return 13 * 512 * 8 * 1000 * 8;
9696
else
9797
return 19 * 64 * 1 * 1000 * 8;

drivers/usb/gadget/function/u_ether.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,10 @@ struct eth_dev {
9393

9494
#define DEFAULT_QLEN 2 /* double buffering by default */
9595

96-
/* for dual-speed hardware, use deeper queues at high/super speed */
96+
/* use deeper queues at high/super speed */
9797
static inline int qlen(struct usb_gadget *gadget, unsigned qmult)
9898
{
99-
if (gadget_is_dualspeed(gadget) && (gadget->speed == USB_SPEED_HIGH ||
100-
gadget->speed >= USB_SPEED_SUPER))
99+
if (gadget->speed == USB_SPEED_HIGH || gadget->speed >= USB_SPEED_SUPER)
101100
return qmult * DEFAULT_QLEN;
102101
else
103102
return DEFAULT_QLEN;

0 commit comments

Comments
 (0)