Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Jan 2001 19:27:28 -0200
From:      Sergio de Souza Prallon <prallon@tmp.com.br>
To:        Thomas Moestl <tmoestl@gmx.net>
Cc:        freebsd-isdn@freebsd.org
Subject:   Re: [PATCH] isppp with uncompressed VJ packets broken in -CURRENT
Message-ID:  <20010113192727.A3058@tmp.com.br>
In-Reply-To: <20010113205331.A2143@crow.dom2ip.de>; from tmoestl@gmx.net on Sat, Jan 13, 2001 at 08:53:31PM %2B0100
References:  <20010113205331.A2143@crow.dom2ip.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jan 13, 2001 at 08:53:31PM +0100, Thomas Moestl wrote:

I believe it's my fault. The commit was part of my driver for the Tiger
ASICs. The previous version (before the commit had a mistake that caused
data corruption with my driver (itjc) and possibly others. The problem is
present in my original diffs to 0.96 also, so I obviously made a mistake
with the editor. Sorry for the inconvenience.

--
Prallon


> Hi,
> 
> it seems that a commit to i4b/drivers/i4b_ispppsubr.c on 2000-01-12 has 
> broken the handling of uncompressed VJ packets. The attached diff should 
> hopefully fix that.
> >From what I can tell, the second call to sl_uncompress_tcp_core needs
> the TYPE_UNCOMPRESSED_TCP flag (as it was before the commit). 
> Additionally, sl_uncompress_core may return 0 if the packet was 
> uncompressed previously, so this is no error condition. 
> The first call (not visible in the diff) is IMHO correct as it is, 
> because the 0 return value should not happen.
> The second call should always return 0, so I check explicitely for 
> it (other cases are not handled anyway).
> 
> Could someone please review/comment/commit this?
> 
> 	- thomas

> *** sys/i4b/driver/i4b_ispppsubr.c.orig	Sat Jan 13 12:30:20 2001
> --- sys/i4b/driver/i4b_ispppsubr.c	Sat Jan 13 20:08:11 2001
> ***************
> *** 580,587 ****
>   				int hlen, vjlen;
>   
>   				if ((vjlen = sl_uncompress_tcp_core(m->m_data,
> ! 				   m->m_len, m->m_len, TYPE_COMPRESSED_TCP,
> ! 				   &sp->pp_comp, &iphdr, &hlen)) <= 0)
>   					goto drop;
>   
>   				schednetisr (NETISR_IP);
> --- 580,587 ----
>   				int hlen, vjlen;
>   
>   				if ((vjlen = sl_uncompress_tcp_core(m->m_data,
> ! 				   m->m_len, m->m_len, TYPE_UNCOMPRESSED_TCP,
> ! 				   &sp->pp_comp, &iphdr, &hlen)) != 0)
>   					goto drop;
>   
>   				schednetisr (NETISR_IP);



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isdn" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010113192727.A3058>