All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] sk98lin hardware rx csum offload logic
@ 2005-02-16 19:38 Eric Brower
  0 siblings, 0 replies; only message in thread
From: Eric Brower @ 2005-02-16 19:38 UTC (permalink / raw)
  To: netdev, linux

[-- Attachment #1: Type: text/plain, Size: 702 bytes --]

The sk98lin driver drops received packets that have an invalid 
IP/UDP/TCP checksum-- it should be passing these packets up the stack by 
marking the skb's ip_summed to CHECKSUM_NONE rather than simply dropping 
them (ref. 
http://efault.net/npat/docs_and_postings/net_device-features/net_device-features.txt 
and other network driver implementations)

Attached is a patch against the latest BK 2.6 kernel.  This issue also 
applies to 2.4 and the latest version of the driver (8.13.1.3) on the 
SysKonnect site, though in that case a similar fix needs to be made to 
the sky2.c Yukon2 support.

I'm not on the netdev list, so if there is any further discussion please 
include me directly.

Thanks,
E

[-- Attachment #2: sk98lin_hwrxcsum.patch --]
[-- Type: text/plain, Size: 524 bytes --]

===== drivers/net/sk98lin/skge.c 1.54 vs edited =====
--- 1.54/drivers/net/sk98lin/skge.c	2004-11-03 14:31:05 -08:00
+++ edited/drivers/net/sk98lin/skge.c	2005-02-16 09:14:02 -08:00
@@ -2254,8 +2254,8 @@
 							/* HW Checksum error */
 							SK_DBG_MSG(NULL, SK_DBGMOD_DRV,
 							SK_DBGCAT_DRV_RX_PROGRESS,
-							("skge: CRC error. Frame dropped!\n"));
-							goto rx_failed;
+							("skge: CRC error.\n"));
+							pMsg->ip_summed = CHECKSUM_NONE;
 						} else {
 								pMsg->ip_summed =
 								CHECKSUM_NONE;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-02-16 19:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-16 19:38 [PATCH] sk98lin hardware rx csum offload logic Eric Brower

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.