diff options
author | Klaus-D. Wacker <kdwacker@de.ibm.com> | 2008-08-21 17:10:25 +0200 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-08-27 05:17:53 -0400 |
commit | 9b3b9ab6a7a43851ccb4633149d01239f99f275f (patch) | |
tree | 80127259f3d535dc84eb7c221dd98a1c8276ada2 /drivers/s390 | |
parent | 261893d30b0ddb5587f9143df18a6efed39a7ed6 (diff) | |
download | blackbird-op-linux-9b3b9ab6a7a43851ccb4633149d01239f99f275f.tar.gz blackbird-op-linux-9b3b9ab6a7a43851ccb4633149d01239f99f275f.zip |
LCS recovery dumps when cable reconnect
LCS recovery dumps in irq routine when CCW address in
Subchannel Status Word (SCSW) is zero. This occurs
when recovery is driven after cable reconnect.
Signed-off-by: Klaus-D. Wacker <kdwacker@de.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/net/lcs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/s390/net/lcs.c b/drivers/s390/net/lcs.c index 6de28385b354..9bcfa04d863b 100644 --- a/drivers/s390/net/lcs.c +++ b/drivers/s390/net/lcs.c @@ -1412,7 +1412,8 @@ lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb) } /* How far in the ccw chain have we processed? */ if ((channel->state != LCS_CH_STATE_INIT) && - (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC)) { + (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) && + (irb->scsw.cmd.cpa != 0)) { index = (struct ccw1 *) __va((addr_t) irb->scsw.cmd.cpa) - channel->ccws; if ((irb->scsw.cmd.actl & SCSW_ACTL_SUSPENDED) || |