diff options
Diffstat (limited to 'drivers/usb/gadget/function/u_ether.c')
| -rw-r--r-- | drivers/usb/gadget/function/u_ether.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c index 9c8c9ed1dc9e..fe1811650dbc 100644 --- a/drivers/usb/gadget/function/u_ether.c +++ b/drivers/usb/gadget/function/u_ether.c @@ -590,8 +590,9 @@ static netdev_tx_t eth_start_xmit(struct sk_buff *skb,  	/* throttle high/super speed IRQ rate back slightly */  	if (gadget_is_dualspeed(dev->gadget)) -		req->no_interrupt = (dev->gadget->speed == USB_SPEED_HIGH || -				     dev->gadget->speed == USB_SPEED_SUPER) +		req->no_interrupt = (((dev->gadget->speed == USB_SPEED_HIGH || +				       dev->gadget->speed == USB_SPEED_SUPER)) && +					!list_empty(&dev->tx_reqs))  			? ((atomic_read(&dev->tx_qlen) % dev->qmult) != 0)  			: 0;  |