forked from Minki/linux
[S390] cio: no path after machine check.
Devices enter no-path state after disabling a channel path via the SE even though another path has been reenabled at the SE. The devices are set into no-path state before triggering path verification even though other paths may have become available. To fix this trigger path verification before setting a device into no-path state. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
292888c81e
commit
3b88508a31
@ -238,8 +238,6 @@ s390_subchannel_remove_chpid(struct device *dev, void *data)
|
||||
/* Check for single path devices. */
|
||||
if (sch->schib.pmcw.pim == 0x80)
|
||||
goto out_unreg;
|
||||
if (sch->vpm == mask)
|
||||
goto out_unreg;
|
||||
|
||||
if ((sch->schib.scsw.actl & SCSW_ACTL_DEVACT) &&
|
||||
(sch->schib.scsw.actl & SCSW_ACTL_SCHACT) &&
|
||||
@ -258,6 +256,8 @@ s390_subchannel_remove_chpid(struct device *dev, void *data)
|
||||
/* trigger path verification. */
|
||||
if (sch->driver && sch->driver->verify)
|
||||
sch->driver->verify(&sch->dev);
|
||||
else if (sch->vpm == mask)
|
||||
goto out_unreg;
|
||||
out_unlock:
|
||||
spin_unlock_irq(&sch->lock);
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user