opnsense-src/sys/dev/cxgbe
Navdeep Parhar 60bf442ee2 cxgbe(4): Do not report link state change during interface detach.
This fixes a panic when multiple VIs are configured on an interface and
only the non-primary VI is up at the time of driver detach.  The problem
was that the driver would queue a link state change notification for an
interface about to be freed.

To reproduce the panic, add "hw.cxgbe.num_vis=2" to loader.conf and

 # kldload if_cxgbe
 # ifconfig vcc0 up
 # devctl detach t6nex0

  trap 0x9, rip = 0xffffffff8107db70, rsp = 0xfffffe0055263d60, rbp = 0xfffffe0055263dd0
  taskqueue_run_locked() at taskqueue_run_locked+0x2a0/frame 0xfffffe0055263dd0
  taskqueue_run() at taskqueue_run+0x72/frame 0xfffffe0055263df0
  taskqueue_swi_run() at taskqueue_swi_run+0x18/frame 0xfffffe0055263e10
  intr_event_execute_handlers() at intr_event_execute_handlers+0x249/frame 0xfffffe0055263e50
  ithread_execute_handlers() at ithread_execute_handlers+0x9e/frame 0xfffffe0055263e70

Reviewed by:	jhb
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D45864

(cherry picked from commit dc20d49aa939caea365cbdf0341b00de69253be4)
2024-07-16 23:40:13 -07:00
..
common cxgbe(4): Consolidate all mk_set_tcb_field_ulp in one place. 2024-07-16 23:39:43 -07:00
crypto cxgbe(4): Rename rx_c_chan to rx_chan. 2024-07-16 23:38:40 -07:00
cudbg sys: Remove $FreeBSD$: one-line bare tag 2023-08-16 11:55:17 -06:00
cxgbei sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
firmware cxgbe(4): Update firmwares to 1.27.5.0 2024-01-10 21:22:31 -08:00
iw_cxgbe sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
tom cxgbe(4): Consolidate all mk_set_tcb_field_ulp in one place. 2024-07-16 23:39:43 -07:00
adapter.h cxgbe(4): Rename rx_c_chan to rx_chan. 2024-07-16 23:38:40 -07:00
if_cc.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_ccv.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_cxl.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
if_cxlv.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
offload.h cxgbe(4): Reword the comment explaining the atid/cookie split. 2024-07-16 23:36:39 -07:00
osdep.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_clip.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_clip.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_filter.c cxgbe(4): Consolidate all mk_set_tcb_field_ulp in one place. 2024-07-16 23:39:43 -07:00
t4_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
t4_ioctl.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_iov.c cxgbe: handle vlan PF restrictions 2024-07-01 18:06:16 +02:00
t4_l2t.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_l2t.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_main.c cxgbe(4): Do not report link state change during interface detach. 2024-07-16 23:40:13 -07:00
t4_mp_ring.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_mp_ring.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_netmap.c cxgbe(4): Add support for netmap offsets. 2024-01-10 21:22:31 -08:00
t4_sched.c cxgbe(4): sc->port is indexed by port_id and not tx_chan. 2024-07-16 23:39:32 -07:00
t4_sge.c cxgbe(4): Allocate a taskqueue per port instead of per channel. 2024-07-16 23:37:25 -07:00
t4_smt.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
t4_smt.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
t4_tracer.c net: Remove unneeded NULL check for the allocated ifnet 2024-07-12 20:03:37 +08:00
t4_vf.c cxgbev(4): Pay attention to the VLAN configuration for the VF. 2024-07-01 18:08:17 +02:00