s390/dasd: fix disconnected device with valid path mask
authorStefan Haberland <stefan.haberland@de.ibm.com>
Fri, 23 Oct 2015 10:10:51 +0000 (12:10 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 3 Nov 2015 13:40:47 +0000 (14:40 +0100)
commitccc0e7dc708ce1bd2e1c4a2b6a180ae7459374de
treeb8e471827acaa5bae09f31b55c82ecb28f6d324a
parent251afd69e3328653bae4a8ca09700971ca4000c5
s390/dasd: fix disconnected device with valid path mask

Path verification is either done via dasd_eckd_read_conf() which is
triggered during online processing and resume or via
do_path_verification_work() which is triggered after path events.
The dasd_eckd_read_conf() version added paths unconditionally and did
not check if the path mask was empty. This led to devices having the
disconnected stop flag set but a valid path mask. So they where not
working although they had paths validated successfully. After a resume
this state could even not be solved with additional paths added.

Fix by checking for an empty path mask in dasd_eckd_read_conf() and
clearing the device stop bits for a newly added channel path.

Reviewed-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Stefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/block/dasd_eckd.c