Commit 698d0707 authored by Greg Smith's avatar Greg Smith Committed by Linus Torvalds

[PATCH] s390: lcs incorrect test

While debugging why our LCS emulator is having some problems I noticed the
following weirdness in drivers/s390/net/lcs.c routine lcs_irq.  The `if'
statement is always true since SCHN_STAT_PCI is defined as 0x80.

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent ac924c60
...@@ -1348,7 +1348,7 @@ lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb) ...@@ -1348,7 +1348,7 @@ lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb)
index = (struct ccw1 *) __va((addr_t) irb->scsw.cpa) index = (struct ccw1 *) __va((addr_t) irb->scsw.cpa)
- channel->ccws; - channel->ccws;
if ((irb->scsw.actl & SCSW_ACTL_SUSPENDED) || if ((irb->scsw.actl & SCSW_ACTL_SUSPENDED) ||
(irb->scsw.cstat | SCHN_STAT_PCI)) (irb->scsw.cstat & SCHN_STAT_PCI))
/* Bloody io subsystem tells us lies about cpa... */ /* Bloody io subsystem tells us lies about cpa... */
index = (index - 1) & (LCS_NUM_BUFFS - 1); index = (index - 1) & (LCS_NUM_BUFFS - 1);
while (channel->io_idx != index) { while (channel->io_idx != index) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment