Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 343396
b: refs/heads/master
c: 55d3a85
h: refs/heads/master
v: v3
  • Loading branch information
Stefan Haberland authored and Martin Schwidefsky committed Nov 30, 2012
1 parent 393a4da commit 69457a5
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 683c3dcef439f969b2c7fd09b60144cb4e2155a5
refs/heads/master: 55d3a85cd2fa3274a6dfa0901a3be342b433bfa0
16 changes: 7 additions & 9 deletions trunk/drivers/s390/block/dasd_eckd.c
Original file line number Diff line number Diff line change
Expand Up @@ -1026,7 +1026,7 @@ static int dasd_eckd_read_conf(struct dasd_device *device)
{
void *conf_data;
int conf_len, conf_data_saved;
int rc;
int rc, path_err;
__u8 lpm, opm;
struct dasd_eckd_private *private, path_private;
struct dasd_path *path_data;
Expand All @@ -1037,6 +1037,7 @@ static int dasd_eckd_read_conf(struct dasd_device *device)
path_data = &device->path_data;
opm = ccw_device_get_path_mask(device->cdev);
conf_data_saved = 0;
path_err = 0;
/* get configuration data per operational path */
for (lpm = 0x80; lpm; lpm>>= 1) {
if (!(lpm & opm))
Expand Down Expand Up @@ -1122,7 +1123,8 @@ static int dasd_eckd_read_conf(struct dasd_device *device)
"the same device, path %02X leads to "
"device %s instead of %s\n", lpm,
print_path_uid, print_device_uid);
return -EINVAL;
path_err = -EINVAL;
continue;
}

path_private.conf_data = NULL;
Expand All @@ -1142,7 +1144,7 @@ static int dasd_eckd_read_conf(struct dasd_device *device)
kfree(conf_data);
}

return 0;
return path_err;
}

static int verify_fcx_max_data(struct dasd_device *device, __u8 lpm)
Expand Down Expand Up @@ -4159,9 +4161,7 @@ static int dasd_eckd_restore_device(struct dasd_device *device)
private = (struct dasd_eckd_private *) device->private;

/* Read Configuration Data */
rc = dasd_eckd_read_conf(device);
if (rc)
goto out_err;
dasd_eckd_read_conf(device);

dasd_eckd_get_uid(device, &temp_uid);
/* Generate device unique id */
Expand All @@ -4181,9 +4181,7 @@ static int dasd_eckd_restore_device(struct dasd_device *device)
dasd_eckd_validate_server(device, DASD_CQR_FLAGS_FAILFAST);

/* RE-Read Configuration Data */
rc = dasd_eckd_read_conf(device);
if (rc)
goto out_err;
dasd_eckd_read_conf(device);

/* Read Feature Codes */
dasd_eckd_read_features(device);
Expand Down

0 comments on commit 69457a5

Please sign in to comment.