diff options
Diffstat (limited to 'drivers/net/mhi/net.c')
-rw-r--r-- | drivers/net/mhi/net.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/mhi/net.c b/drivers/net/mhi/net.c index f59960876083..5ec7a29f668d 100644 --- a/drivers/net/mhi/net.c +++ b/drivers/net/mhi/net.c @@ -265,10 +265,12 @@ static void mhi_net_rx_refill_work(struct work_struct *work) rx_refill.work); struct net_device *ndev = mhi_netdev->ndev; struct mhi_device *mdev = mhi_netdev->mdev; - int size = READ_ONCE(ndev->mtu); struct sk_buff *skb; + unsigned int size; int err; + size = mhi_netdev->mru ? mhi_netdev->mru : READ_ONCE(ndev->mtu); + while (!mhi_queue_is_full(mdev, DMA_FROM_DEVICE)) { skb = netdev_alloc_skb(ndev, size); if (unlikely(!skb)) |