aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/cio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/cio/cio.c')
-rw-r--r--drivers/s390/cio/cio.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c
index 21af446c1f2d..bab729202f49 100644
--- a/drivers/s390/cio/cio.c
+++ b/drivers/s390/cio/cio.c
@@ -954,6 +954,7 @@ static void css_reset(void)
954{ 954{
955 int i, ret; 955 int i, ret;
956 unsigned long long timeout; 956 unsigned long long timeout;
957 struct chp_id chpid;
957 958
958 /* Reset subchannels. */ 959 /* Reset subchannels. */
959 for_each_subchannel(__shutdown_subchannel_easy, NULL); 960 for_each_subchannel(__shutdown_subchannel_easy, NULL);
@@ -963,8 +964,10 @@ static void css_reset(void)
963 __ctl_set_bit(14, 28); 964 __ctl_set_bit(14, 28);
964 /* Temporarily reenable machine checks. */ 965 /* Temporarily reenable machine checks. */
965 local_mcck_enable(); 966 local_mcck_enable();
967 chp_id_init(&chpid);
966 for (i = 0; i <= __MAX_CHPID; i++) { 968 for (i = 0; i <= __MAX_CHPID; i++) {
967 ret = rchp(i); 969 chpid.id = i;
970 ret = rchp(chpid);
968 if ((ret == 0) || (ret == 2)) 971 if ((ret == 0) || (ret == 2))
969 /* 972 /*
970 * rchp either succeeded, or another rchp is already 973 * rchp either succeeded, or another rchp is already