android_kernel_samsung_a7y1.../drivers/s390
Stefan Haberland ff3ceb78dd s390/dasd: fix endless loop after read unit address configuration
commit 41995342b40c418a47603e1321256d2c4a2ed0fb upstream.

After getting a storage server event that causes the DASD device driver
to update its unit address configuration during a device shutdown there is
the possibility of an endless loop in the device driver.

In the system log there will be ongoing DASD error messages with RC: -19.

The reason is that the loop starting the ruac request only terminates when
the retry counter is decreased to 0. But in the sleep_on function there are
early exit paths that do not decrease the retry counter.

Prevent an endless loop by handling those cases separately.

Remove the unnecessary do..while loop since the sleep_on function takes
care of retries by itself.

Fixes: 8e09f21574ea ("[S390] dasd: add hyper PAV support to DASD device driver, part 1")
Cc: stable@vger.kernel.org # 2.6.25+
Signed-off-by: Stefan Haberland <sth@linux.ibm.com>
Reviewed-by: Jan Hoeppner <hoeppner@linux.ibm.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-04-06 20:27:42 +02:00
..
block s390/dasd: fix endless loop after read unit address configuration 2020-04-06 20:27:42 +02:00
char s390/3270: fix lockdep false positive on view->lock 2020-04-06 16:43:33 +02:00
cio s390/qdio: handle PENDING state for QEBSM devices 2020-04-06 19:54:45 +02:00
crypto A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
net s390/qeth: fix VLAN attribute in bridge_hostnotify udev event 2020-04-06 19:16:38 +02:00
scsi scsi: zfcp: fix GCC compiler warning emitted with -Wmaybe-uninitialized 2020-04-06 20:27:03 +02:00
virtio A750FXXU4CTBC 2020-03-27 21:51:54 +05:30
Makefile A750FXXU4CTBC 2020-03-27 21:51:54 +05:30