Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1842f2b1847155805f9cc8c834ef4272198b272b
Commit:     1842f2b1847155805f9cc8c834ef4272198b272b
Parent:     958974fb596ad037fb571cf2899f783764a83e1a
Author:     Cornelia Huck <[EMAIL PROTECTED]>
AuthorDate: Fri Oct 12 16:11:22 2007 +0200
Committer:  Martin Schwidefsky <[EMAIL PROTECTED]>
CommitDate: Fri Oct 12 16:13:01 2007 +0200

    [S390] cio: Disable channel measurements (cmf) on shutdown/reboot.
    
    Disable channel measurements for all ccw devices via the ccw bus's
    shutdown method. Clear residual cmf related information that may be
    in the schib when setting up a new subchannel.
    
    Signed-off-by: Cornelia Huck <[EMAIL PROTECTED]>
    Signed-off-by: Martin Schwidefsky <[EMAIL PROTECTED]>
---
 drivers/s390/cio/cio.c    |    5 +++++
 drivers/s390/cio/device.c |    2 ++
 2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c
index f2708d6..4690534 100644
--- a/drivers/s390/cio/cio.c
+++ b/drivers/s390/cio/cio.c
@@ -619,6 +619,11 @@ cio_validate_subchannel (struct subchannel *sch, struct 
subchannel_id schid)
        sch->schib.pmcw.ena = 0;
        if ((sch->lpm & (sch->lpm - 1)) != 0)
                sch->schib.pmcw.mp = 1; /* multipath mode */
+       /* clean up possible residual cmf stuff */
+       sch->schib.pmcw.mme = 0;
+       sch->schib.pmcw.mbfc = 0;
+       sch->schib.pmcw.mbi = 0;
+       sch->schib.mba = 0;
        return 0;
 out:
        if (!cio_is_console(schid))
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c
index 7fb271c..eea9b1d 100644
--- a/drivers/s390/cio/device.c
+++ b/drivers/s390/cio/device.c
@@ -21,6 +21,7 @@
 #include <asm/ccwdev.h>
 #include <asm/cio.h>
 #include <asm/param.h>         /* HZ */
+#include <asm/cmb.h>
 
 #include "cio.h"
 #include "cio_debug.h"
@@ -1440,6 +1441,7 @@ static void ccw_device_shutdown(struct device *dev)
        cdev = to_ccwdev(dev);
        if (cdev->drv && cdev->drv->shutdown)
                cdev->drv->shutdown(cdev);
+       disable_cmf(cdev);
 }
 
 struct bus_type ccw_bus_type = {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to