Netdev List
 help / color / mirror / Atom feed
* s2io: driver still in use - please reconsider removal
@ 2026-06-23 11:21 Michael Pratte
  0 siblings, 0 replies; only message in thread
From: Michael Pratte @ 2026-06-23 11:21 UTC (permalink / raw)
  To: Jakub Kicinski, Paolo Abeni
  Cc: Eric Dumazet, Ethan Nelson-Moore, Andrew Lunn, Simon Horman,
	David S . Miller, netdev

Hi,

Commit aba0138eb7d7 ("net: ethernet: neterion: s2io: remove unused
driver") removed s2io in v7.0 as "highly unlikely to still be used."
It is still in use here: an Exar Xframe-II (PCI 17d5:5832) in a
Supermicro X5DA8.

Bringing it up, I found that no TCP can be transmitted on these
adapters since v4.2. I bisected it to 51466a7545b7 ("tcp: fill
shinfo->gso_type at last moment"): since that commit tcp_transmit_skb()
sets skb_shinfo(skb)->gso_type unconditionally, non-GSO TCP frames now
reach s2io_xmit() with gso_type=SKB_GSO_TCPV4 but gso_size=0. The driver
arms the hardware LSO engine off gso_type alone and programs MSS=0,
which the Xframe-II rejects (LSO6_ABORT), dropping every TCP frame
before the MAC. UDP and ICMP are unaffected.

The fix is one line - only arm LSO for skbs that are really GSO:

-	if (offload_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6)) {
+	if ((offload_type & (SKB_GSO_TCPV4 | SKB_GSO_TCPV6)) && skb_is_gso(skb)) {

I have submitted that patch to stable@ for the 6.6.y and 6.12.y trees
that still carry the driver. Given it is evidently still in use, would
you consider reverting the removal?

Thanks,
Michael Pratte

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

only message in thread, other threads:[~2026-06-23 11:21 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-23 11:21 s2io: driver still in use - please reconsider removal Michael Pratte

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox