| From foo@baz Sun May 27 17:33:38 CEST 2018 |
| From: Sebastian Ott <sebott@linux.vnet.ibm.com> |
| Date: Mon, 12 Feb 2018 12:01:03 +0100 |
| Subject: s390/cio: clear timer when terminating driver I/O |
| |
| From: Sebastian Ott <sebott@linux.vnet.ibm.com> |
| |
| [ Upstream commit 410d5e13e7638bc146321671e223d56495fbf3c7 ] |
| |
| When we terminate driver I/O (because we need to stop using a certain |
| channel path) we also need to ensure that a timer (which may have been |
| set up using ccw_device_start_timeout) is cleared. |
| |
| Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> |
| Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> |
| Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/s390/cio/device_fsm.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/s390/cio/device_fsm.c |
| +++ b/drivers/s390/cio/device_fsm.c |
| @@ -923,6 +923,7 @@ void ccw_device_kill_io(struct ccw_devic |
| { |
| int ret; |
| |
| + ccw_device_set_timeout(cdev, 0); |
| cdev->private->iretry = 255; |
| cdev->private->async_kill_io_rc = -EIO; |
| ret = ccw_device_cancel_halt_clear(cdev); |