• Thomas Falcon's avatar
    ibmvnic: Introduce active CRQ state · 5153698e
    Thomas Falcon authored
    Introduce an "active" state for a IBM vNIC Command-Response Queue. A CRQ
    is considered active once it has initialized or linked with its partner by
    sending an initialization request and getting a successful response back
    from the management partition.  Until this has happened, do not allow CRQ
    commands to be sent other than the initialization request.
    
    This change will avoid a protocol error in case of a device transport
    event occurring during a initialization. When the driver receives a
    transport event notification indicating that the backing hardware
    has changed and needs reinitialization, any further commands other
    than the initialization handshake with the VIOS management partition
    will result in an invalid state error. Instead of sending a command
    that will be returned with an error, print a warning and return an
    error that will be handled by the caller.
    Signed-off-by: default avatarThomas Falcon <tlfalcon@linux.vnet.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5153698e
ibmvnic.h 25.5 KB