s390/qdio: improve roll-back after error on ESTABLISH ccw
authorJulian Wiedmann <jwi@linux.ibm.com>
Mon, 31 May 2021 15:38:04 +0000 (18:38 +0300)
committerHeiko Carstens <hca@linux.ibm.com>
Tue, 27 Jul 2021 07:39:18 +0000 (09:39 +0200)
commitd06314e0ce20398a0505e42041155d550e70a918
tree512671eb562e3e6994b88f600fc3eef228691951
parent1c1dc8bda3a05c60877a6649775894db5343bdea
s390/qdio: improve roll-back after error on ESTABLISH ccw

If the ESTABLISH ccw fails (ie. the qdio_irq is set to
QDIO_IRQ_STATE_ERR), we don't need to call qdio_shutdown() for rolling
back our earlier actions. All the needed logic is already available in
qdio_establish()'s error chain, and using it means we don't have to
temporarily drop the setup_mutex either.

This makes qdio_shutdown() a purely external function, that should only
be called by the driver if an earlier qdio_establish() succeeded.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
drivers/s390/cio/qdio_main.c