On Mon, Feb 24, 2020 at 02:49:53AM -0800, Selvin Xavier wrote: > Add more flags for better granularity in in device init/uninit path > > Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxx> > drivers/infiniband/hw/bnxt_re/bnxt_re.h | 16 +++++++++---- > drivers/infiniband/hw/bnxt_re/main.c | 41 ++++++++++++++++----------------- > 2 files changed, 31 insertions(+), 26 deletions(-) > > diff --git a/drivers/infiniband/hw/bnxt_re/bnxt_re.h b/drivers/infiniband/hw/bnxt_re/bnxt_re.h > index c736e82..0babc66 100644 > +++ b/drivers/infiniband/hw/bnxt_re/bnxt_re.h > @@ -135,11 +135,17 @@ struct bnxt_re_dev { > #define BNXT_RE_FLAG_IBDEV_REGISTERED 1 > #define BNXT_RE_FLAG_GOT_MSIX 2 > #define BNXT_RE_FLAG_HAVE_L2_REF 3 > -#define BNXT_RE_FLAG_RCFW_CHANNEL_EN 4 > -#define BNXT_RE_FLAG_QOS_WORK_REG 5 > -#define BNXT_RE_FLAG_RESOURCES_ALLOCATED 7 > -#define BNXT_RE_FLAG_RESOURCES_INITIALIZED 8 > -#define BNXT_RE_FLAG_ISSUE_ROCE_STATS 29 > +#define BNXT_RE_FLAG_ALLOC_RCFW 4 > +#define BNXT_RE_FLAG_NET_RING_ALLOC 5 > +#define BNXT_RE_FLAG_RCFW_CHANNEL_EN 6 > +#define BNXT_RE_FLAG_ALLOC_CTX 7 > +#define BNXT_RE_FLAG_STATS_CTX_ALLOC 8 > +#define BNXT_RE_FLAG_STATS_CTX2_ALLOC 9 > +#define BNXT_RE_FLAG_RCFW_CHANNEL_INIT 10 > +#define BNXT_RE_FLAG_QOS_WORK_REG 11 > +#define BNXT_RE_FLAG_RESOURCES_ALLOCATED 12 > +#define BNXT_RE_FLAG_RESOURCES_INITIALIZED 13 > +#define BNXT_RE_FLAG_ISSUE_ROCE_STATS 29 The error unwind is better than adding these endless flags. It is hard to understand the flow with all this needless conditional, really if you want to change this I'd delete the test_bit scheme and stick to the normal goto error unwind. Jason