netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] skge: bad checksums on big-endian platforms
@ 2006-05-15 23:30 Stephen Hemminger
  2006-05-15 23:32 ` [PATCH 2/2] skge: don't allow transmit ring to be too small Stephen Hemminger
  0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2006-05-15 23:30 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: netdev

Skge driver always causes  bad checksums on big-endian.
The checksum in the receive control block was being swapped
when it doesn't need to be.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>

--- skge-2.6.orig/drivers/net/skge.c
+++ skge-2.6/drivers/net/skge.c
@@ -2717,8 +2717,7 @@ static int skge_poll(struct net_device *
 		if (control & BMU_OWN)
 			break;
 
-		skb = skge_rx_get(skge, e, control, rd->status,
-				  le16_to_cpu(rd->csum2));
+		skb = skge_rx_get(skge, e, control, rd->status, rd->csum2);
 		if (likely(skb)) {
 			dev->last_rx = jiffies;
 			netif_receive_skb(skb);

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH 2/2] skge: don't allow transmit ring to be too small
  2006-05-15 23:30 [PATCH 1/2] skge: bad checksums on big-endian platforms Stephen Hemminger
@ 2006-05-15 23:32 ` Stephen Hemminger
  0 siblings, 0 replies; 2+ messages in thread
From: Stephen Hemminger @ 2006-05-15 23:32 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: netdev

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>


--- skge-2.6.orig/drivers/net/skge.c
+++ skge-2.6/drivers/net/skge.c
@@ -402,7 +402,7 @@ static int skge_set_ring_param(struct ne
 	int err;
 
 	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;
 
 	skge->rx_ring.count = p->rx_pending;

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-05-15 23:32 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-15 23:30 [PATCH 1/2] skge: bad checksums on big-endian platforms Stephen Hemminger
2006-05-15 23:32 ` [PATCH 2/2] skge: don't allow transmit ring to be too small Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).