Skip to contentSkip to conversation

sk98lin hardware rx csum offload logic

PATCH New Eric Brower 1 participant 1 message Feb 16, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 sk98lin hardware rx csum offload logic

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

===== drivers/net/sk98lin/skge.c 1.54 vs edited =====

drivers/net/sk98lin/skge.c +2 -2
@@ -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;