]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commit
s390/qdio: clear intparm during shutdown
authorJulian Wiedmann <jwi@linux.vnet.ibm.com>
Thu, 9 May 2019 15:36:00 +0000 (17:36 +0200)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 15 May 2019 12:46:29 +0000 (14:46 +0200)
commitd5891c74dcac18257b8c94d9addbe835873a46cc
tree5c3e996d939355c1ee88699273d5f2caaddd906e
parent6fd1ae945728e161138effd8095e864d595b9f03
s390/qdio: clear intparm during shutdown

BugLink: https://bugs.launchpad.net/bugs/1828394
During shutdown, qdio returns its ccw device back to control by the
upper-layer driver. But there is a remote chance that by the time where the
IRQ handler gets switched back, the interrupt for the preceding
ccw_device_{clear,halt} hasn't been presented yet.
Upper-layer drivers would then need to handle this IRQ - and since the IO
is issued with an intparm, it could very well be confused with whatever
intparm mechanism the driver uses itself (eg intparm == request address).

So when switching over the IRQ handler, also clear the intparm and have
upper-layer drivers deal with any such delayed interrupt as if it was
unsolicited.

Suggested-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Julian Wiedmann <jwi@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
(cherry picked from commit 89286320a236d245834075fa13adb0bdd827ecaa)
Signed-off-by: Frank Heimes <frank.heimes@canonical.com>
Acked-by: Connor Kuehl <connor.kuehl@canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
drivers/s390/cio/qdio_main.c