From 88bd9b4d5d79104f90bd43bb7f2929d73d7a23a6 Mon Sep 17 00:00:00 2001 From: Cornelia Huck Date: Fri, 12 Oct 2007 16:11:22 +0200 Subject: [PATCH] --- yaml --- r: 67612 b: refs/heads/master c: 1842f2b1847155805f9cc8c834ef4272198b272b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/s390/cio/cio.c | 5 +++++ trunk/drivers/s390/cio/device.c | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 06767d23428b..cdac79b3c270 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 958974fb596ad037fb571cf2899f783764a83e1a +refs/heads/master: 1842f2b1847155805f9cc8c834ef4272198b272b diff --git a/trunk/drivers/s390/cio/cio.c b/trunk/drivers/s390/cio/cio.c index f2708d65be5a..46905345159e 100644 --- a/trunk/drivers/s390/cio/cio.c +++ b/trunk/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/trunk/drivers/s390/cio/device.c b/trunk/drivers/s390/cio/device.c index 7fb271c60c27..eea9b1de0af7 100644 --- a/trunk/drivers/s390/cio/device.c +++ b/trunk/drivers/s390/cio/device.c @@ -21,6 +21,7 @@ #include #include #include /* HZ */ +#include #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 = {