summaryrefslogtreecommitdiff
path: root/include/acpi
diff options
context:
space:
mode:
authorJames Smart <jsmart2021@gmail.com>2018-11-14 16:35:10 -0800
committerChristoph Hellwig <hch@lst.de>2018-11-15 11:37:55 +0100
commit4cff280a5fccf6513ed9e895bb3a4e7ad8b0cedc (patch)
treeb250b7a408e8ffb1a51346fca54301d76aaebf22 /include/acpi
parent8dc765d438f1e42b3e8227b3b09fad7d73f4ec9a (diff)
nvme-fc: resolve io failures during connect
If an io error occurs on an io issued while connecting, recovery of the io falls flat as the state checking ends up nooping the error handler. Create an err_work work item that is scheduled upon an io error while connecting. The work thread terminates all io on all queues and marks the queues as not connected. The termination of the io will return back to the callee, which will then back out of the connection attempt and will reschedule, if possible, the connection attempt. The changes: - in case there are several commands hitting the error handler, a state flag is kept so that the error work is only scheduled once, on the first error. The subsequent errors can be ignored. - The calling sequence to stop keep alive and terminate the queues and their io is lifted from the reset routine. Made a small service routine used by both reset and err_work. - During debugging, found that the teardown path can reference an uninitialized pointer, resulting in a NULL pointer oops. The aen_ops weren't initialized yet. Add validation on their initialization before calling the teardown routine. Signed-off-by: James Smart <jsmart2021@gmail.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'include/acpi')
0 files changed, 0 insertions, 0 deletions