aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/net/lcs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/net/lcs.c')
-rw-r--r--drivers/s390/net/lcs.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c
index f8dfd70a89d9..5e46415d3e13 100644
--- a/drivers/s390/net/lcs.c
+++ b/drivers/s390/net/lcs.c
@@ -2130,8 +2130,12 @@ lcs_new_device(struct ccwgroup_device *ccwgdev)
2130 card->write.ccwdev = ccwgdev->cdev[1]; 2130 card->write.ccwdev = ccwgdev->cdev[1];
2131 2131
2132 recover_state = card->state; 2132 recover_state = card->state;
2133 ccw_device_set_online(card->read.ccwdev); 2133 rc = ccw_device_set_online(card->read.ccwdev);
2134 ccw_device_set_online(card->write.ccwdev); 2134 if (rc)
2135 goto out_err;
2136 rc = ccw_device_set_online(card->write.ccwdev);
2137 if (rc)
2138 goto out_werr;
2135 2139
2136 LCS_DBF_TEXT(3, setup, "lcsnewdv"); 2140 LCS_DBF_TEXT(3, setup, "lcsnewdv");
2137 2141
@@ -2210,8 +2214,10 @@ netdev_out:
2210 return 0; 2214 return 0;
2211out: 2215out:
2212 2216
2213 ccw_device_set_offline(card->read.ccwdev);
2214 ccw_device_set_offline(card->write.ccwdev); 2217 ccw_device_set_offline(card->write.ccwdev);
2218out_werr:
2219 ccw_device_set_offline(card->read.ccwdev);
2220out_err:
2215 return -ENODEV; 2221 return -ENODEV;
2216} 2222}
2217 2223