[PATCH v7 34/46] virtio_net: disable mac write for virtio 1.0

Subsystems: networking drivers, the rest, virtio net driver

STALE4299d

Revision v7 of 8 in this series.

2 messages, 2 authors, 2014-12-01 · open the first message on its own page

[PATCH v7 34/46] virtio_net: disable mac write for virtio 1.0

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2014-11-30 15:12:29

The spec states that mac in config space is only driver-writable in the
legacy case.  Fence writing it in virtnet_set_mac_address() in the
virtio 1.0 case.

Suggested-by: Cornelia Huck <redacted>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 drivers/net/virtio_net.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index c6a72d3..9ab3c50 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -1030,7 +1030,8 @@ static int virtnet_set_mac_address(struct net_device *dev, void *p)
 				 "Failed to set mac address by vq command.\n");
 			return -EINVAL;
 		}
-	} else if (virtio_has_feature(vdev, VIRTIO_NET_F_MAC)) {
+	} else if (virtio_has_feature(vdev, VIRTIO_NET_F_MAC) &&
+		   !virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) {
 		unsigned int i;
 
 		/* Naturally, this has an atomicity problem. */
-- 
MST

Re: [PATCH v7 34/46] virtio_net: disable mac write for virtio 1.0

From: Cornelia Huck <hidden>
Date: 2014-12-01 11:41:56

On Sun, 30 Nov 2014 17:12:04 +0200
"Michael S. Tsirkin" [off-list ref] wrote:
The spec states that mac in config space is only driver-writable in the
legacy case.  Fence writing it in virtnet_set_mac_address() in the
virtio 1.0 case.

Suggested-by: Cornelia Huck <redacted>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 drivers/net/virtio_net.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Reviewed-by: Cornelia Huck <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help