[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-atm
Subject:    Re: Signalling bug
From:       "Andrew Lunn" <asl () comp ! lancs ! ac ! uk>
Date:       1999-01-25 16:19:24
[Download RAW message or body]

> Following up my own message...
> 
> I'm a bit puzzled by the usage of sock->ep_ref in sigd/ uni.c and kernel.c.
> There is a comment in proto.h that ep_ref == -1 implies a p-t-p link and
> this
> is the default value for the field. Is 0x7FFF a valid value for an end ref?
> 
> The high (16th) bit is the Endpoint Reference Flag. There are several tests
> like "ep_ref >= 0" which is equivalent to "Endpoint Reference Flag == 0"
> where the intention may possibly have been "ep_ref != -1"?
> 
> I'll check the diffs between 0.51 and 52 and see what changed.

Basically the use of end point needs a re-write. The root of the
problem is a unsigned/sign clash. 0.51 did not invert the End point
reference flag when sending the ep back. 0.52 tried to fix this, but
broke it even more so that now it does not send an ep at all. 

The code needs re-writting so that <= -1 end points don't mean "no end
point". It would be better if there was a flag to say if there was/was
not an end point and the code could then toggle the end point flag
when it sent back the end point reference.

Unfortunatly i don't have the time at the moment to do this.

	Andrew

----------------------------------------------------------------------
Dr Andrew Lunn			Tel: +44 (0)1524 65201 x3156
Computing Department		Fax: +44 (0)1524 593608
Lancaster University	        Mobile: +44 (0)966 172036 
Lancaster			Email: A.Lunn@lancaster.ac.uk	
LA1 4YR
England
----------------------------------------------------------------------

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic