[PATCH v2 0/4] staging: octeon: Improve initialization error handling

From: Prashant Rahul

Date: Thu Jul 02 2026 - 03:11:13 EST


Hi all,

The TX and RX initialization paths currently call panic() on some
initialization failures. Instead, these failures should be reported back
to the probe function so that it can unwind any resources acquired during
initialization and fail gracefully.

This series replaces those panic() calls with proper error logging, propagates
the errors to the probe function, and adds the necessary cleanup to avoid
leaving the driver in a partially initialized state. I have not tested
these changes as I do not own this hardware.

This is my first time working with drivers, so please let me know if I
have made any mistakes.

Thank you! :3

Signed-off-by: Prashant Rahul <prashantrahul23@xxxxxxxxx>
---
Changes in v2:
- ethernet.c: remove unnecessary curly braces around single line for-loop
- ethernet.c: dont mark cvm_oct_remove_device as inline
- ethernet.c: remove unnecessary call to cvmx_pko_disable as cvmx_pko_shutdown
already does that.
- cover: specify no testing

- Link to v1: https://lore.kernel.org/r/20260628-staging-driver-octeon-panic-v1-0-fe8c34989254@xxxxxxxxx

---
Prashant Rahul (4):
staging: octeon: factor out device removal into a helper
staging: octeon: Propagate rx initialization failures
staging: octeon: Propagate tx initialization failures
staging: octeon: handle rx/tx initialization failures in probe

drivers/staging/octeon/ethernet-rx.c | 18 ++++++----
drivers/staging/octeon/ethernet-rx.h | 2 +-
drivers/staging/octeon/ethernet-tx.c | 17 +++++-----
drivers/staging/octeon/ethernet-tx.h | 2 +-
drivers/staging/octeon/ethernet.c | 66 ++++++++++++++++++++++++++++--------
5 files changed, 74 insertions(+), 31 deletions(-)
---
base-commit: 4e5dfb7c84012007c3c7061126491bbc92d71bf1
change-id: 20260625-staging-driver-octeon-panic-2602ed8d5d67

Best regards,
--
Prashant Rahul <prashantrahul23@xxxxxxxxx>