* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.