Re: s390 lcs incorrect test

From: Frank Pavlic
Date: Thu Apr 27 2006 - 00:55:02 EST


I agree , it's really weird ...

Thank you Greg for the patch ...


Mit freundlichen Grüssen / Best regards
Frank Pavlic

Linux for eServer Development
Schoenaicher Str. 220, 71032 Boeblingen
Phone: ext. +49-(0)7031/16-2463, int. *120-2463
mailto: pavlic@xxxxxxxxxx






Greg Smith <gsmith@xxxxxxxxx>
27.04.2006 02:05

To
linux-kernel@xxxxxxxxxxxxxxx
cc
mschwid2@xxxxxxxxxxxxxxxxxxxxxxx, Frank Pavlic/Germany/IBM@IBMDE
Subject
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:

--- lcs.c.orig 2006-04-24 16:20:24.000000000 -0400
+++ lcs.c 2006-04-26 19:56:45.000000000 -0400
@@ -1354,7 +1354,7 @@
index = (struct ccw1 *) __va((addr_t)
irb->scsw.cpa)
- channel->ccws;
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... */
index = (index - 1) &
(LCS_NUM_BUFFS - 1);
while (channel->io_idx != index) {

The `if' statement is always true since SCHN_STAT_PCI is defined as
0x80. Don't know if this has anything to do with our LCS problems but
thought I would pass it on.

Greg Smith




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/