43f78b380f
rte_intr_callback_unregister() can fail if the handler happens to
be active at the time of the call. Add logic to retry a reasonable
number of times to help ensure that the callback is unregistered
on uninit.
Fixes: 7bc8e9a227
("net/bnxt: support async link notification")
Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
27 lines
627 B
C
27 lines
627 B
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2014-2018 Broadcom
|
|
* All rights reserved.
|
|
*/
|
|
|
|
#ifndef _BNXT_IRQ_H_
|
|
#define _BNXT_IRQ_H_
|
|
|
|
#define BNXT_MISC_VEC_ID RTE_INTR_VEC_ZERO_OFFSET
|
|
#define BNXT_RX_VEC_START RTE_INTR_VEC_RXTX_OFFSET
|
|
|
|
struct bnxt_irq {
|
|
rte_intr_callback_fn handler;
|
|
unsigned int vector;
|
|
uint8_t requested;
|
|
char name[RTE_ETH_NAME_MAX_LEN + 2];
|
|
};
|
|
|
|
struct bnxt;
|
|
int bnxt_free_int(struct bnxt *bp);
|
|
void bnxt_disable_int(struct bnxt *bp);
|
|
void bnxt_enable_int(struct bnxt *bp);
|
|
int bnxt_setup_int(struct bnxt *bp);
|
|
int bnxt_request_int(struct bnxt *bp);
|
|
|
|
#endif
|