The branch main has been updated by kbowling:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=38588749af45d738e6f548f15beb415c46ba8658

commit 38588749af45d738e6f548f15beb415c46ba8658
Author:     Kevin Bowling <kbowl...@freebsd.org>
AuthorDate: 2023-07-29 01:14:29 +0000
Commit:     Kevin Bowling <kbowl...@freebsd.org>
CommitDate: 2023-07-29 01:17:35 +0000

    e1000: HWCSUM excemption fixes
    
    Also disable IPV6 checksum offload.
    
    Spell hw->mac.type < e1000_82543 as e1000_82542.  Confusingly, chips
    like 82540 and 82541 come later and do not have these issues.  There
    is no functional change here, as the enum was defined in such a way
    it worked correctly.  But this reads literally.
    
    MFC after:      1 week
---
 sys/dev/e1000/if_em.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c
index 32d8c3282e33..1f6100cff293 100644
--- a/sys/dev/e1000/if_em.c
+++ b/sys/dev/e1000/if_em.c
@@ -949,9 +949,10 @@ em_if_attach_pre(if_ctx_t ctx)
                    CSUM_IP6_TCP | CSUM_IP6_UDP;
 
                /* "PCI/PCI-X SDM 4.0" page 33 (b) - FDX requirement on these 
chips */
-               if (hw->mac.type < e1000_82543 || hw->mac.type == e1000_82547 ||
+               if (hw->mac.type == e1000_82542 || hw->mac.type == e1000_82547 
||
                    hw->mac.type == e1000_82547_rev_2)
-                       scctx->isc_capenable &= 
~(IFCAP_HWCSUM|IFCAP_VLAN_HWCSUM);
+                       scctx->isc_capenable &= ~(IFCAP_HWCSUM | 
IFCAP_VLAN_HWCSUM |
+                           IFCAP_HWCSUM_IPV6);
                /* 82541ER doesn't do HW tagging */
                if (hw->device_id == E1000_DEV_ID_82541ER || hw->device_id == 
E1000_DEV_ID_82541ER_LOM)
                        scctx->isc_capenable &= ~IFCAP_VLAN_HWTAGGING;

Reply via email to