• Felix Manlunas's avatar
    liquidio: fix VF incorrectly indicating that it successfully set its VLAN · 0c264588
    Felix Manlunas authored
    For security reasons, NIC firmware does not allow VF to set its VLAN if PF
    set it already.  Firmware allows VF to set its VLAN if PF did not set it.
    After the VF instructs the firmware to set the VLAN, VF always indicates
    (via return 0) that the operation is successful--even for the times when it
    isn't.
    
    Put in a mechanism for the VF's set VLAN function to receive the firmware
    response code, then make that function return -EPERM if the firmware
    forbids the operation.
    
    Make that mechanism available for other functions that may, in the future,
    be interested in receiving the response code from the firmware.  That
    mechanism involves adding new fields to struct octnic_ctrl_pkt, so make all
    users of struct octnic_ctrl_pkt initialize the struct to zero before using
    it; otherwise, the mechanism might act on uninitialized garbage.
    Signed-off-by: default avatarFelix Manlunas <felix.manlunas@cavium.com>
    Signed-off-by: default avatarDerek Chickles <derek.chickles@cavium.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0c264588
octeon_nic.c 5.62 KB