Commit 2470b648 authored by Cornelia Huck's avatar Cornelia Huck Committed by Martin Schwidefsky

[S390] cio: Call cancel_halt_clear even when actl == 0.

The subchannel may just be status pending, even with actl == 0. We
must go through the cancel_halt_clear procedure to put the subchannel
into a defined state.
Signed-off-by: default avatarCornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 7c8427c3
...@@ -144,8 +144,8 @@ ccw_device_cancel_halt_clear(struct ccw_device *cdev) ...@@ -144,8 +144,8 @@ ccw_device_cancel_halt_clear(struct ccw_device *cdev)
ret = stsch(sch->schid, &sch->schib); ret = stsch(sch->schid, &sch->schib);
if (ret || !sch->schib.pmcw.dnv) if (ret || !sch->schib.pmcw.dnv)
return -ENODEV; return -ENODEV;
if (!sch->schib.pmcw.ena || sch->schib.scsw.actl == 0) if (!sch->schib.pmcw.ena)
/* Not operational or no activity -> done. */ /* Not operational -> done. */
return 0; return 0;
/* Stage 1: cancel io. */ /* Stage 1: cancel io. */
if (!(sch->schib.scsw.actl & SCSW_ACTL_HALT_PEND) && if (!(sch->schib.scsw.actl & SCSW_ACTL_HALT_PEND) &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment