From: Thomas Falcon <tlfal...@linux.vnet.ibm.com> Date: Wed, 23 May 2018 13:37:54 -0500
> Introduce additional transport event hardening to handle > events during device reset. In the driver's current state, > if a transport event is received during device reset, it can > cause the device to become unresponsive as invalid operations > are processed as the backing device context changes. After > a transport event, the device expects a request to begin the > initialization process. If the driver is still processing > a previously queued device reset in this state, it is likely > to fail as firmware will reject any commands other than the > one to initialize the client driver's Command-Response Queue. > > Instead of failing and becoming dormant, the driver will make > one more attempt to recover and continue operation. This is > achieved by setting a state flag, which if true will direct > the driver to clean up all allocated resources and perform > a hard reset in an attempt to bring the driver back to an > operational state. Series applied.