s390/qeth: utilize virtual MAC for Layer2 OSD devices
authorJulian Wiedmann <jwi@linux.ibm.com>
Thu, 8 Nov 2018 14:06:15 +0000 (15:06 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 9 Nov 2018 01:22:23 +0000 (17:22 -0800)
commitb144b99fff69a5bc0d34c8e168bedb88c68ca23d
tree31abc6fffd286165bbc55c7304ab9ceef242e4e0
parent04087d9a89bef97998c71c21e3ecfca0cc7c52f3
s390/qeth: utilize virtual MAC for Layer2 OSD devices

By default, READ MAC on a Layer2 OSD device returns the adapter's
burnt-in MAC address. Given the default scenario of many virtual devices
on the same adapter, qeth can't make any use of this address and
therefore skips the READ MAC call for this device type.

But in some configurations, the READ MAC command for a Layer2 OSD device
actually returns a pre-provisioned, virtual MAC address. So enable the
READ MAC code to detect this situation, and let the L2 subdriver
call READ MAC for OSD devices.

This also removes the QETH_LAYER2_MAC_READ flag, which protects L2
devices against calling READ MAC multiple times. Instead protect the
whole call to qeth_l2_request_initial_mac().

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/s390/net/qeth_core.h
drivers/s390/net/qeth_core_main.c
drivers/s390/net/qeth_core_mpc.h
drivers/s390/net/qeth_l2_main.c