From: Amos Kong <ak...@redhat.com> Currenly mac is programmed byte by byte. This means that we have an intermediate step where mac is wrong.
Third patch introduced a new vq control command to set mac address, it's atomic. V2: check return of sending command, delay eth_mac_addr() V3: restore software address when fail to set hardware address V4: split eth_mac_addr, fix error handle Amos Kong (2): move virtnet_send_command() above virtnet_set_mac_address() virtio-net: introduce a new control to set macaddr Stefan Hajnoczi (1): net: split eth_mac_addr for better error handling drivers/net/virtio_net.c | 110 ++++++++++++++++++++++------------------ include/linux/etherdevice.h | 2 + include/uapi/linux/virtio_net.h | 8 ++- net/ethernet/eth.c | 43 +++++++++++++--- 4 files changed, 107 insertions(+), 56 deletions(-) -- 1.7.11.7