Эх сурвалжийг харах

[PATCH] skge: don't allow transmit ring to be too small

The driver will get stuck (permanent transmit timeout), if the transmit
ring size is set too small.  It needs to have enough ring elements to
hold one maximum size transmit.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Stephen Hemminger 19 жил өмнө
parent
commit
a06631cbdc

+ 1 - 1
drivers/net/skge.c

@@ -401,7 +401,7 @@ static int skge_set_ring_param(struct net_device *dev,
 	int err;
 	int err;
 
 
 	if (p->rx_pending == 0 || p->rx_pending > MAX_RX_RING_SIZE ||
 	if (p->rx_pending == 0 || p->rx_pending > MAX_RX_RING_SIZE ||
-	    p->tx_pending == 0 || p->tx_pending > MAX_TX_RING_SIZE)
+	    p->tx_pending < MAX_SKB_FRAGS+1 || p->tx_pending > MAX_TX_RING_SIZE)
 		return -EINVAL;
 		return -EINVAL;
 
 
 	skge->rx_ring.count = p->rx_pending;
 	skge->rx_ring.count = p->rx_pending;