git: c18860339d50 - main - qlnxe: Fix advertising the IFCAP_LINKSTATE capability

From: Zhenlei Huang <zlei_at_FreeBSD.org>
Date: Tue, 22 Jul 2025 04:11:48 UTC
The branch main has been updated by zlei:

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

commit c18860339d5051dea99cb5cee7e322ffa5dd2a81
Author:     Zhenlei Huang <zlei@FreeBSD.org>
AuthorDate: 2025-07-22 04:11:02 +0000
Commit:     Zhenlei Huang <zlei@FreeBSD.org>
CommitDate: 2025-07-22 04:11:02 +0000

    qlnxe: Fix advertising the IFCAP_LINKSTATE capability
    
    The following up advertising of IFCAP_HWCSUM capability unconditionally
    overwrite IFCAP_LINKSTATE.
    
    Reviewed by:    kbowling
    MFC after:      3 days
    Differential Revision:  https://reviews.freebsd.org/D51450
---
 sys/dev/qlnx/qlnxe/qlnx_os.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/sys/dev/qlnx/qlnxe/qlnx_os.c b/sys/dev/qlnx/qlnxe/qlnx_os.c
index 9d23d5df1d2b..60e807d55e01 100644
--- a/sys/dev/qlnx/qlnxe/qlnx_os.c
+++ b/sys/dev/qlnx/qlnxe/qlnx_os.c
@@ -2308,8 +2308,6 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha)
         else if (device_id == QLOGIC_PCI_DEVICE_ID_1644)
 		if_setbaudrate(ifp, IF_Gbps(100));
 
-        if_setcapabilities(ifp, IFCAP_LINKSTATE);
-
         if_setinitfn(ifp, qlnx_init);
         if_setsoftc(ifp, ha);
         if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST);
@@ -2343,7 +2341,6 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha)
 
 	if_setcapabilities(ifp, IFCAP_HWCSUM);
 	if_setcapabilitiesbit(ifp, IFCAP_JUMBO_MTU, 0);
-
 	if_setcapabilitiesbit(ifp, IFCAP_VLAN_MTU, 0);
 	if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWTAGGING, 0);
 	if_setcapabilitiesbit(ifp, IFCAP_VLAN_HWFILTER, 0);
@@ -2352,6 +2349,7 @@ qlnx_init_ifnet(device_t dev, qlnx_host_t *ha)
 	if_setcapabilitiesbit(ifp, IFCAP_TSO4, 0);
 	if_setcapabilitiesbit(ifp, IFCAP_TSO6, 0);
 	if_setcapabilitiesbit(ifp, IFCAP_LRO, 0);
+	if_setcapabilitiesbit(ifp, IFCAP_LINKSTATE, 0);
 
 	if_sethwtsomax(ifp,  QLNX_MAX_TSO_FRAME_SIZE -
 				(ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN));