Subject: Re: [PATCH] pcnet32.c: modify RX ring size through module parameter

From: Don Fry <[email-masked]>
Date: Mon, 15 May 2006 08:54:54 -0700

I have several problems with this patch.  First, it assumes you only have
one device or you want all devices to operate with the same receive ring
size.  (use module_param_array like full_duplex or options).

Second, the mininum number of descriptors should be 4 not 2, or the
loopback test will look past the end of the receive ring looking for
status to change, and then try and pick up an skb pointer past the end of
the array and try to dereference it.

Either fix the loopback test to work with the minimum number of tx and rx
descriptors instead of the hard coded 4, or make the minimum rx ring
size be 4.  numbuffs = min(4 , min(lp->tx_ring_size, lp->rx_ring_size));

Another nit is the description says it is the "RX Ring Buffer Size" which
might be misunderstood as the size of the receive buffer, not the size of
the receive descriptor ring.  ("RX Ring Size" would be better).

Lastly, the patch also will not apply against pcnet32.c in mainline
2.6.17-rc4 due to whitespace changes.

On Mon, May 15, 2006 at 11:32:14AM +0800, Wen Hsin Chang wrote:
> This patch is created from pcnet32.c v1.32. it will allow users to 
> specify RX ring size upon module
> insertion via module parameter 'rx_log_size'. This is needed in some 
> cases where too small the rx ring
> size will cause RX errors upon remote installation via pcnet32 NIC card.
> 
> Signed-off-by: Wen Hsin Chang <[email-masked]>

-- 
Don Fry
[email-masked]