From: Aaron Conole Date: Tue, 25 Oct 2016 20:12:12 +0000 (-0400) Subject: virtio-net: Update the mtu code to match virtio spec X-Git-Tag: v5.15~12359^2~396 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=93a205ee98a4881e8bf608e65562c19d45930a93;p=platform%2Fkernel%2Flinux-starfive.git virtio-net: Update the mtu code to match virtio spec The virtio committee recently ratified a change, VIRTIO-152, which defines the mtu field to be 'max' MTU, not simply desired MTU. This commit brings the virtio-net device in compliance with VIRTIO-152. Additionally, drop the max_mtu branch - it cannot be taken since the u16 returned by virtio_cread16 will never exceed the initial value of max_mtu. Signed-off-by: Aaron Conole Acked-by: "Michael S. Tsirkin" Acked-by: Jarod Wilson Signed-off-by: David S. Miller --- diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 720809f..2cafd12 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -1870,10 +1870,12 @@ static int virtnet_probe(struct virtio_device *vdev) mtu = virtio_cread16(vdev, offsetof(struct virtio_net_config, mtu)); - if (mtu < dev->min_mtu || mtu > dev->max_mtu) + if (mtu < dev->min_mtu) { __virtio_clear_bit(vdev, VIRTIO_NET_F_MTU); - else + } else { dev->mtu = mtu; + dev->max_mtu = mtu; + } } if (vi->any_header_sg)