summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulian Wiedmann <jwi@linux.ibm.com>2019-06-18 13:12:20 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-07-21 09:00:43 +0200
commit90c7a327a9448acc3c0dbaafe89061b18767ee6c (patch)
tree6531bc0324f9e7d66a38486e6d7bfdfe89e5d260
parentc26226c589f98630f9af4f904b4619336944651f (diff)
downloadlinux-stable-90c7a327a9448acc3c0dbaafe89061b18767ee6c.tar.gz
linux-stable-90c7a327a9448acc3c0dbaafe89061b18767ee6c.tar.bz2
linux-stable-90c7a327a9448acc3c0dbaafe89061b18767ee6c.zip
s390/qdio: don't touch the dsci in tiqdio_add_input_queues()
commit ac6639cd3db607d386616487902b4cc1850a7be5 upstream. Current code sets the dsci to 0x00000080. Which doesn't make any sense, as the indicator area is located in the _left-most_ byte. Worse: if the dsci is the _shared_ indicator, this potentially clears the indication of activity for a _different_ device. tiqdio_thinint_handler() will then have no reason to call that device's IRQ handler, and the device ends up stalling. Fixes: d0c9d4a89fff ("[S390] qdio: set correct bit in dsci") Cc: <stable@vger.kernel.org> Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/s390/cio/qdio_thinint.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/s390/cio/qdio_thinint.c b/drivers/s390/cio/qdio_thinint.c
index 07264bd9ad0b..d9763bbecbf9 100644
--- a/drivers/s390/cio/qdio_thinint.c
+++ b/drivers/s390/cio/qdio_thinint.c
@@ -79,7 +79,6 @@ void tiqdio_add_input_queues(struct qdio_irq *irq_ptr)
mutex_lock(&tiq_list_lock);
list_add_rcu(&irq_ptr->input_qs[0]->entry, &tiq_list);
mutex_unlock(&tiq_list_lock);
- xchg(irq_ptr->dsci, 1 << 7);
}
void tiqdio_remove_input_queues(struct qdio_irq *irq_ptr)