public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* s390 lcs incorrect test
@ 2006-04-27  0:05 Greg Smith
  2006-04-27  4:34 ` Frank Pavlic
  0 siblings, 1 reply; 3+ messages in thread
From: Greg Smith @ 2006-04-27  0:05 UTC (permalink / raw)
  To: linux-kernel; +Cc: schwidefsky, pavlic

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



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: s390 lcs incorrect test
  2006-04-27  0:05 s390 lcs incorrect test Greg Smith
@ 2006-04-27  4:34 ` Frank Pavlic
  2006-04-28  5:12   ` Greg Smith
  0 siblings, 1 reply; 3+ messages in thread
From: Frank Pavlic @ 2006-04-27  4:34 UTC (permalink / raw)
  To: Greg Smith; +Cc: linux-kernel, mschwid2

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@de.ibm.com






Greg Smith <gsmith@nc.rr.com> 
27.04.2006 02:05

To
linux-kernel@vger.kernel.org
cc
mschwid2@de.ltcfwd.linux.ibm.com, 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





^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: s390 lcs incorrect test
  2006-04-27  4:34 ` Frank Pavlic
@ 2006-04-28  5:12   ` Greg Smith
  0 siblings, 0 replies; 3+ messages in thread
From: Greg Smith @ 2006-04-28  5:12 UTC (permalink / raw)
  To: Frank Pavlic; +Cc: linux-kernel, mschwid2

I have discovered today our bug regarding lcs emulation and everything
seems to work fine even with the incorrect test.  Which leads me to
think that the lcs code has been crafted to withstand the incorrect
test.  Meaning that correcting the test may have implications.

Greg Smith

On Thu, 2006-04-27 at 06:34 +0200, Frank Pavlic wrote:
> I agree , it's really weird ...
> 
> Thank you Greg for the patch ...



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-04-28  5:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-27  0:05 s390 lcs incorrect test Greg Smith
2006-04-27  4:34 ` Frank Pavlic
2006-04-28  5:12   ` Greg Smith

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox