* [patch 2/17] s390: re-activated path detection.
@ 2005-12-09 15:23 Martin Schwidefsky
0 siblings, 0 replies; only message in thread
From: Martin Schwidefsky @ 2005-12-09 15:23 UTC (permalink / raw)
To: akpm, cohuck, linux-kernel
From: Cornelia Huck <cohuck@de.ibm.com>
[patch 2/17] s390: re-activated path detection.
If we receive path not operational indications (pnom in pmcw nonzero), we
switch off those paths. To catch them becoming available again, we have to
recalculate the lpm from the pmcw each time we start path verification.
Signed-off-by: Cornelia Huck <cohuck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
drivers/s390/cio/device_pgid.c | 15 +++++++++++++++
1 files changed, 15 insertions(+)
diff -urpN linux-2.6/drivers/s390/cio/device_pgid.c linux-2.6-patched/drivers/s390/cio/device_pgid.c
--- linux-2.6/drivers/s390/cio/device_pgid.c 2005-10-28 02:02:08.000000000 +0200
+++ linux-2.6-patched/drivers/s390/cio/device_pgid.c 2005-12-09 14:24:21.000000000 +0100
@@ -22,6 +22,7 @@
#include "cio_debug.h"
#include "css.h"
#include "device.h"
+#include "ioasm.h"
/*
* Start Sense Path Group ID helper function. Used in ccw_device_recog
@@ -364,8 +365,22 @@ ccw_device_verify_irq(struct ccw_device
void
ccw_device_verify_start(struct ccw_device *cdev)
{
+ struct subchannel *sch = to_subchannel(cdev->dev.parent);
+
cdev->private->flags.pgid_single = 0;
cdev->private->iretry = 5;
+ /*
+ * Update sch->lpm with current values to catch paths becoming
+ * available again.
+ */
+ if (stsch(sch->irq, &sch->schib)) {
+ ccw_device_verify_done(cdev, -ENODEV);
+ return;
+ }
+ sch->lpm = sch->schib.pmcw.pim &
+ sch->schib.pmcw.pam &
+ sch->schib.pmcw.pom &
+ sch->opm;
__ccw_device_verify_start(cdev);
}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-12-09 15:23 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-12-09 15:23 [patch 2/17] s390: re-activated path detection Martin Schwidefsky
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®