s390/qdio: tear down thinint indicator after early error
authorJulian Wiedmann <jwi@linux.ibm.com>
Thu, 9 Apr 2020 07:55:05 +0000 (09:55 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 28 Apr 2020 11:49:47 +0000 (13:49 +0200)
qdio_establish() calls qdio_establish_thinint(), but later has an error
exit path that doesn't roll this call back. Fix it.

Fixes: 779e6e1c724d ("[S390] qdio: new qdio driver.")
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
drivers/s390/cio/qdio_main.c

index da5a111380201b5fcbfdf01adc43f9ab68435ba2..80cc811bd2e0e7324cf212d2982d306eafecae0e 100644 (file)
@@ -1363,6 +1363,7 @@ int qdio_establish(struct ccw_device *cdev,
        if (rc) {
                DBF_ERROR("%4x est IO ERR", irq_ptr->schid.sch_no);
                DBF_ERROR("rc:%4x", rc);
+               qdio_shutdown_thinint(irq_ptr);
                qdio_shutdown_irq(irq_ptr);
                mutex_unlock(&irq_ptr->setup_mutex);
                return rc;