Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965705AbcJYQlK (ORCPT ); Tue, 25 Oct 2016 12:41:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56630 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936530AbcJYQlJ (ORCPT ); Tue, 25 Oct 2016 12:41:09 -0400 Date: Tue, 25 Oct 2016 19:41:07 +0300 From: "Michael S. Tsirkin" To: Aaron Conole Cc: netdev@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Jarod Wilson Subject: Re: [PATCH] virtio-net: Update the mtu code to match virtio spec Message-ID: <20161025194036-mutt-send-email-mst@kernel.org> References: <1477413335-17296-1-git-send-email-aconole@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1477413335-17296-1-git-send-email-aconole@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Tue, 25 Oct 2016 16:41:08 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1364 Lines: 43 On Tue, Oct 25, 2016 at 12:35:35PM -0400, Aaron Conole wrote: > From: Aaron Conole > > 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. > > Cc: "Michael S. Tsirkin" > Cc: Jarod Wilson > Signed-off-by: Aaron Conole Acked-by: Michael S. Tsirkin > --- > drivers/net/virtio_net.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > 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) > -- > 2.7.4