git: 52609ccbf703 - stable/13 - qlnxe: Let ether_ioctl() handle SIOCSIFADDR ioctl
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 24 Feb 2026 10:45:11 UTC
The branch stable/13 has been updated by zlei:
URL: https://cgit.FreeBSD.org/src/commit/?id=52609ccbf7030f89133181ed5337f642b325f7af
commit 52609ccbf7030f89133181ed5337f642b325f7af
Author: Zhenlei Huang <zlei@FreeBSD.org>
AuthorDate: 2026-02-06 17:52:54 +0000
Commit: Zhenlei Huang <zlei@FreeBSD.org>
CommitDate: 2026-02-24 10:15:37 +0000
qlnxe: Let ether_ioctl() handle SIOCSIFADDR ioctl
Since the change [1], the init routine qlnx_init() works as intended.
Let ether_ioctl() handle SIOCSIFADDR to simplify the code.
Combined with the change [1], this shall be a better fix for PR 287445.
[1] c10e6bc0f007 qlnxe: Avoid reinitializing the interface when it is already initialized
PR: 287445
Reviewed by: kbowling
MFC after: 5 days
Differential Revision: https://reviews.freebsd.org/D54888
(cherry picked from commit 4012b63889e40bb877bc0e4c8da1792bce472c08)
(cherry picked from commit 0f383f74b7398161c12a290e50b060baf45d2800)
(cherry picked from commit 20ffe22fcfe13b48a8e993cbf565f9cd9229a4b3)
---
sys/dev/qlnx/qlnxe/qlnx_os.c | 19 -------------------
1 file changed, 19 deletions(-)
diff --git a/sys/dev/qlnx/qlnxe/qlnx_os.c b/sys/dev/qlnx/qlnxe/qlnx_os.c
index 8bb599065f0c..cce23f0f7ea1 100644
--- a/sys/dev/qlnx/qlnxe/qlnx_os.c
+++ b/sys/dev/qlnx/qlnxe/qlnx_os.c
@@ -2670,30 +2670,11 @@ qlnx_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
{
int ret = 0, mask;
struct ifreq *ifr = (struct ifreq *)data;
- struct ifaddr *ifa = (struct ifaddr *)data;
qlnx_host_t *ha;
ha = (qlnx_host_t *)ifp->if_softc;
switch (cmd) {
- case SIOCSIFADDR:
- QL_DPRINT4(ha, "SIOCSIFADDR (0x%lx)\n", cmd);
-
- if (ifa->ifa_addr->sa_family == AF_INET) {
- ifp->if_flags |= IFF_UP;
- QLNX_LOCK(ha);
- if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0)
- qlnx_init_locked(ha);
- QLNX_UNLOCK(ha);
- QL_DPRINT4(ha, "SIOCSIFADDR (0x%lx) ipv4 [0x%08x]\n",
- cmd, ntohl(IA_SIN(ifa)->sin_addr.s_addr));
-
- arp_ifinit(ifp, ifa);
- } else {
- ether_ioctl(ifp, cmd, data);
- }
- break;
-
case SIOCSIFMTU:
QL_DPRINT4(ha, "SIOCSIFMTU (0x%lx)\n", cmd);