From: Nathan Fontenot <[email protected]>
Date: Wed, 11 Apr 2018 09:37:21 -0500
> There is a bug in handling the possible return codes from sending the
> login CRQ. The current code treats any non-success return value,
> minus failure to send the crq and a timeout waiting for a login response,
> as a need to re-send the login CRQ. This can put the drive in an
^^^^^
"driver"
> inifinite loop of trying to login when getting return values other
^^^^^^^^^
"infinite"
> that a partial success such as a return code of aborted. For these
> scenarios the login will not ever succeed at this point and the
> driver would need to be reset again.
>
> To resolve this loop trying to login is updated to only retry the
> login if the driver gets a return code of a partial success. Other
> return coes are treated as an error and the driver returns an error
^^^^
"codes"
> from ibmvnic_login().
>
> To avoid infinite looping in the partial success return cases, the
> number of retries is capped at the maximum number of supported
> queues. This value was chosen because the driver does a renegatiation
^^^^^^^^^^^^^
"renegotiation"
> of capabilities which sets the number of queus possible and allows
^^^^^
"queues"