mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
s390/cio: Purge based on the cdev's online status
Ensure that all devices currently offline are purged correctly. Previously, purging logic relied on the internal FSM state to determine whether a device was offline. However, devices with a target state of offline could be skipped if CIO internal processing was still ongoing during the purge operation. Update the purge decision logic to rely on the online variable in the cdev structure instead of the internal FSM state, providing a more reliable indication of actual device availability. Signed-off-by: Vineeth Vijayan <vneethv@linux.ibm.com> Reviewed-by: Peter Oberparleiter <oberpar@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
This commit is contained in:
parent
a59b9cb859
commit
58d50cad63
|
|
@ -1328,7 +1328,7 @@ static int purge_fn(struct subchannel *sch, void *data)
|
|||
|
||||
cdev = sch_get_cdev(sch);
|
||||
if (cdev) {
|
||||
if (cdev->private->state != DEV_STATE_OFFLINE)
|
||||
if (cdev->online)
|
||||
goto unlock;
|
||||
|
||||
if (atomic_cmpxchg(&cdev->private->onoff, 0, 1) != 0)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user