aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/cio')
-rw-r--r--drivers/s390/cio/chp.c7
-rw-r--r--drivers/s390/cio/cio.c3
-rw-r--r--drivers/s390/cio/cmf.c9
-rw-r--r--drivers/s390/cio/device.c18
4 files changed, 11 insertions, 26 deletions
diff --git a/drivers/s390/cio/chp.c b/drivers/s390/cio/chp.c
index d58dc9f15b7..db00b059173 100644
--- a/drivers/s390/cio/chp.c
+++ b/drivers/s390/cio/chp.c
@@ -123,11 +123,8 @@ static int s390_vary_chpid(struct chp_id chpid, int on)
123 CIO_TRACE_EVENT(2, dbf_text); 123 CIO_TRACE_EVENT(2, dbf_text);
124 124
125 status = chp_get_status(chpid); 125 status = chp_get_status(chpid);
126 if (!on && !status) { 126 if (!on && !status)
127 printk(KERN_ERR "cio: chpid %x.%02x is already offline\n", 127 return 0;
128 chpid.cssid, chpid.id);
129 return -EINVAL;
130 }
131 128
132 set_chp_logically_online(chpid, on); 129 set_chp_logically_online(chpid, on);
133 chsc_chp_vary(chpid, on); 130 chsc_chp_vary(chpid, on);
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c
index 6ebf1b50736..33bff8fec7d 100644
--- a/drivers/s390/cio/cio.c
+++ b/drivers/s390/cio/cio.c
@@ -74,7 +74,6 @@ out_unregister:
74 debug_unregister(cio_debug_trace_id); 74 debug_unregister(cio_debug_trace_id);
75 if (cio_debug_crw_id) 75 if (cio_debug_crw_id)
76 debug_unregister(cio_debug_crw_id); 76 debug_unregister(cio_debug_crw_id);
77 printk(KERN_WARNING"cio: could not initialize debugging\n");
78 return -1; 77 return -1;
79} 78}
80 79
@@ -755,7 +754,6 @@ cio_get_console_sch_no(void)
755 /* unlike in 2.4, we cannot autoprobe here, since 754 /* unlike in 2.4, we cannot autoprobe here, since
756 * the channel subsystem is not fully initialized. 755 * the channel subsystem is not fully initialized.
757 * With some luck, the HWC console can take over */ 756 * With some luck, the HWC console can take over */
758 printk(KERN_WARNING "cio: No ccw console found!\n");
759 return -1; 757 return -1;
760 } 758 }
761 return console_irq; 759 return console_irq;
@@ -772,6 +770,7 @@ cio_probe_console(void)
772 sch_no = cio_get_console_sch_no(); 770 sch_no = cio_get_console_sch_no();
773 if (sch_no == -1) { 771 if (sch_no == -1) {
774 console_subchannel_in_use = 0; 772 console_subchannel_in_use = 0;
773 printk(KERN_WARNING "cio: No ccw console found!\n");
775 return ERR_PTR(-ENODEV); 774 return ERR_PTR(-ENODEV);
776 } 775 }
777 memset(&console_subchannel, 0, sizeof(struct subchannel)); 776 memset(&console_subchannel, 0, sizeof(struct subchannel));
diff --git a/drivers/s390/cio/cmf.c b/drivers/s390/cio/cmf.c
index 77523131a05..a90b28c0be5 100644
--- a/drivers/s390/cio/cmf.c
+++ b/drivers/s390/cio/cmf.c
@@ -612,9 +612,6 @@ static int alloc_cmb(struct ccw_device *cdev)
612 free_pages((unsigned long)mem, get_order(size)); 612 free_pages((unsigned long)mem, get_order(size));
613 } else if (!mem) { 613 } else if (!mem) {
614 /* no luck */ 614 /* no luck */
615 printk(KERN_WARNING "cio: failed to allocate area "
616 "for measuring %d subchannels\n",
617 cmb_area.num_channels);
618 ret = -ENOMEM; 615 ret = -ENOMEM;
619 goto out; 616 goto out;
620 } else { 617 } else {
@@ -1230,13 +1227,9 @@ static ssize_t cmb_enable_store(struct device *dev,
1230 switch (val) { 1227 switch (val) {
1231 case 0: 1228 case 0:
1232 ret = disable_cmf(cdev); 1229 ret = disable_cmf(cdev);
1233 if (ret)
1234 dev_info(&cdev->dev, "disable_cmf failed (%d)\n", ret);
1235 break; 1230 break;
1236 case 1: 1231 case 1:
1237 ret = enable_cmf(cdev); 1232 ret = enable_cmf(cdev);
1238 if (ret && ret != -EBUSY)
1239 dev_info(&cdev->dev, "enable_cmf failed (%d)\n", ret);
1240 break; 1233 break;
1241 } 1234 }
1242 1235
@@ -1364,8 +1357,6 @@ static int __init init_cmf(void)
1364 cmbops = &cmbops_extended; 1357 cmbops = &cmbops_extended;
1365 break; 1358 break;
1366 default: 1359 default:
1367 printk(KERN_ERR "cio: Invalid format %d for channel "
1368 "measurement facility\n", format);
1369 return 1; 1360 return 1;
1370 } 1361 }
1371 1362
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c
index c904cb84d75..e818d0c54c0 100644
--- a/drivers/s390/cio/device.c
+++ b/drivers/s390/cio/device.c
@@ -493,25 +493,22 @@ static int online_store_recog_and_online(struct ccw_device *cdev)
493 ccw_device_set_online(cdev); 493 ccw_device_set_online(cdev);
494 return 0; 494 return 0;
495} 495}
496static void online_store_handle_online(struct ccw_device *cdev, int force) 496static int online_store_handle_online(struct ccw_device *cdev, int force)
497{ 497{
498 int ret; 498 int ret;
499 499
500 ret = online_store_recog_and_online(cdev); 500 ret = online_store_recog_and_online(cdev);
501 if (ret) 501 if (ret)
502 return; 502 return ret;
503 if (force && cdev->private->state == DEV_STATE_BOXED) { 503 if (force && cdev->private->state == DEV_STATE_BOXED) {
504 ret = ccw_device_stlck(cdev); 504 ret = ccw_device_stlck(cdev);
505 if (ret) { 505 if (ret)
506 dev_warn(&cdev->dev, 506 return ret;
507 "ccw_device_stlck returned %d!\n", ret);
508 return;
509 }
510 if (cdev->id.cu_type == 0) 507 if (cdev->id.cu_type == 0)
511 cdev->private->state = DEV_STATE_NOT_OPER; 508 cdev->private->state = DEV_STATE_NOT_OPER;
512 online_store_recog_and_online(cdev); 509 online_store_recog_and_online(cdev);
513 } 510 }
514 511 return 0;
515} 512}
516 513
517static ssize_t online_store (struct device *dev, struct device_attribute *attr, 514static ssize_t online_store (struct device *dev, struct device_attribute *attr,
@@ -544,8 +541,9 @@ static ssize_t online_store (struct device *dev, struct device_attribute *attr,
544 ret = count; 541 ret = count;
545 break; 542 break;
546 case 1: 543 case 1:
547 online_store_handle_online(cdev, force); 544 ret = online_store_handle_online(cdev, force);
548 ret = count; 545 if (!ret)
546 ret = count;
549 break; 547 break;
550 default: 548 default:
551 ret = -EINVAL; 549 ret = -EINVAL;