sk98lin hardware rx csum offload logic
Subsystems (2)
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 ;