s390/cio: fix ccw_device_start_timeout API
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Tue, 6 Feb 2018 13:59:43 +0000 (14:59 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 22 Feb 2018 09:09:22 +0000 (10:09 +0100)
commitf97a6b6c47d2f329a24f92cc0ca3c6df5727ba73
tree3529b1e31395d451cc5c6a6bcd58adb42c0fe9dd
parentdc24b7b49a53c7ee5502c877b133558acec0b3f8
s390/cio: fix ccw_device_start_timeout API

There are cases a device driver can't start IO because the device is
currently in use by cio. In this case the device driver is notified
when the device is usable again.

Using ccw_device_start_timeout we would set the timeout (and change
an existing timeout) before we test for internal usage. Worst case
this could lead to an unexpected timer deletion.

Fix this by setting the timeout after we test for internal usage.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/device_ops.c