[S390] cio: change confusing message in cmf.
authorCornelia Huck <cornelia.huck@de.ibm.com>
Wed, 22 Aug 2007 11:51:37 +0000 (13:51 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Wed, 22 Aug 2007 11:51:47 +0000 (13:51 +0200)
cmf currently prints a message that more than 4096 channels are not
allowed in basic mode - however, this can only be enforced if cmf was
a module (which is no longer possible). It makes much more sense to
not check the specified number of channels and just print a message if
the block for basic mode could not be allocated (which may happen for
any number of specified channels).

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/cmf.c

index 02fd00b..34a7969 100644 (file)
@@ -594,6 +594,9 @@ alloc_cmb (struct ccw_device *cdev)
                        free_pages((unsigned long)mem, get_order(size));
                } else if (!mem) {
                        /* no luck */
+                       printk(KERN_WARNING "cio: failed to allocate area "
+                              "for measuring %d subchannels\n",
+                              cmb_area.num_channels);
                        ret = -ENOMEM;
                        goto out;
                } else {
@@ -1279,13 +1282,6 @@ init_cmf(void)
        case CMF_BASIC:
                format_string = "basic";
                cmbops = &cmbops_basic;
-               if (cmb_area.num_channels > 4096 || cmb_area.num_channels < 1) {
-                       printk(KERN_ERR "cio: Basic channel measurement "
-                              "facility can only use 1 to 4096 devices\n"
-                              KERN_ERR "when the cmf driver is built"
-                              " as a loadable module\n");
-                       return 1;
-               }
                break;
        case CMF_EXTENDED:
                format_string = "extended";