Subject: Re: sis900: eth0: NULL pointer encountered in Rx ring, skipping

From: Eric Lemoine <[email-masked]>
Date: Wed, 19 Jan 2005 21:52:35 +0100

On Tue, 18 Jan 2005 11:21:39 +0100, Lennert Buytenhek
<[email-masked]> wrote:
> On Tue, Jan 18, 2005 at 11:13:58AM +0100, Lennert Buytenhek wrote:
> 
> > I can make one of my machines, which has an on-board sis900 NIC, lose
> > network connectivity within seconds by doing something like
> > "nc -l -p 6666 > /dev/null" and then blasting some data towards it.  When
> > this happens, syslog fills up with these messages:
> >
> >       eth0: NULL pointer encountered in Rx ring, skipping
> 
> Just before it starts spewing these it says:
> 
>         eth0: Memory squeeze,deferring packet.
> 
> So apparently it just doesn't deal with OOM very well.

There are dev_alloc_skb()'s failing due to memory shortage. I think
anyhow that the sis9000 driver doesnt handle "memory squeeze"
situations right. Why not throwing current rx packet away and reuse
ring entry instead of leaving holes (null skb's) in the ring. I would
suggest a patch to the sis900 driver around that attached.

Warning: patch compiling but untested - dont have hardware handy.  

-- 
Eric