This patch series adds support for FW async event handling in the bnxt_re driver. V1->V2: 1. Rebased on top of the latest "for-next" tree. 2. Split Patch#1 into 2 - one for Ethernet driver changes and another one for RDMA driver changes. 3. Addressed Leon's comments on Patch#1 and Patch #3. V1: https://lore.kernel.org/linux-rdma/1725363051-19268-1-git-send-email-selvin.xavier@xxxxxxxxxxxx/T/#t Patch #1: 1. Removed BNXT_EN_FLAG_ULP_STOPPED state check from bnxt_ulp_async_events(). The ulp_ops are protected by RCU. This means that during bnxt_unregister_dev(), Ethernet driver set the ulp_ops pointer to NULL and do RCU sync before return to the RDMA driver. So ulp_ops and the pointers in ulp_ops are always valid or NULL when the Ethernet driver references ulp_ops. ULP_STOPPED is a state and should be unrelated to async events. It should not affect whether async events should or should not be passed to the RDMA driver. 2. Changed Author of Ethernet driver changes to Michael Chan. 3. Removed unnecessary export of function bnxt_ulp_async_events. Patch #3: 1. Removed unnecessary flush_workqueue() before destroy_workqueue() 2. Removed unnecessary NULL assignment after free. 3. Changed to use "ibdev_xxx" and reduce level of couple of logs to debug. Please review and apply. Regards, Kalesh Kalesh AP (3): RDMA/bnxt_re: Add Async event handling support RDMA/bnxt_re: Query firmware defaults of CC params during probe RDMA/bnxt_re: Add support to handle DCB_CONFIG_CHANGE event Michael Chan (1): bnxt_en: Add ULP call to notify async events drivers/infiniband/hw/bnxt_re/bnxt_re.h | 3 + drivers/infiniband/hw/bnxt_re/main.c | 156 ++++++++++++++++++ drivers/infiniband/hw/bnxt_re/qplib_fp.h | 1 + drivers/infiniband/hw/bnxt_re/qplib_sp.c | 113 +++++++++++++ drivers/infiniband/hw/bnxt_re/qplib_sp.h | 3 + drivers/net/ethernet/broadcom/bnxt/bnxt.c | 1 + drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 28 ++++ drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 2 + 8 files changed, 307 insertions(+) -- 2.43.5