bnx2x_func_reset_port(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– bnx2x_func_reset_port(9) πŸ’–

okay so this one's from the Kernel API Manual, and it's the little function that handles resetting hardware at the port stage. short page, big responsibilities, let's get into it bestie 🫢


✨ NAME ✨

bnx2x_func_reset_port β€” reset HW at port stage. that's it, that's the vibe 🌸


✨ SYNOPSIS ✨

void bnx2x_func_reset_port (struct bnx2x *bp , const struct
       bnx2x_func_sp_drv_ops *drv );

✨ ARGUMENTS ✨

  • bp β€” device handle. this is your actual device bestie, the thing you're poking at πŸ’…
  • drv β€” ngl the page literally does not describe this one, so I'm not gonna invent something and lie to you 😭 it's the const struct bnx2x_func_sp_drv_ops * from the synopsis up there, that's all we know, fr fr.

✨ DESCRIPTION ✨

so what it does is reset HW at the FW_MSG_CODE_DRV_UNLOAD_PORT stage: it resets the FUNCTION-only HW blocks and the PORT-only HW blocks. both. slay πŸ”₯

!!!IMPORTANT!!! 🚨 you must call reset_port before reset_func. and I mean it, no cap. because the last thing reset_func does is pf_disable, which disables PGLUE_B, and once that's off it is literally impossible to do any DMAE transactions. like at all. game over bestie πŸ’€ so: reset_port first, reset_func after. periodt.

✨ SEE ALSO ✨

the kernel file where this lives, icon behavior:

  • ./drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c

and now the whole group chat, everybody's here πŸŽ€:


aaaaaaaaand that's the page!! ✨ source/version is ./drivers/net/ethernet/broadco... and the date on this bad boy is October 2026 β€” ty for coming to my ted talk, go reset your port before your func, ily, bye πŸ’œπŸ¦‹

πŸ“¦ where this page comes from