On Tue, 2018-05-29 at 14:56 +0300, Leon Romanovsky wrote: > From: Leon Romanovsky <leonro@xxxxxxxxxxxx> > > Let's perform checks in-place instead of BUG_ONs. > > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx> > --- > drivers/infiniband/core/mad.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c > index 6a205224582d..c37079f86341 100644 > --- a/drivers/infiniband/core/mad.c > +++ b/drivers/infiniband/core/mad.c > @@ -1556,7 +1556,8 @@ static int add_oui_reg_req(struct ib_mad_reg_req *mad_reg_req, > mad_reg_req->oui, 3)) { > method = &(*vendor_table)->vendor_class[ > vclass]->method_table[i]; > - BUG_ON(!*method); > + if (!*method) > + goto error3; > goto check_in_use; > } > } > @@ -1566,10 +1567,12 @@ static int add_oui_reg_req(struct ib_mad_reg_req *mad_reg_req, > vclass]->oui[i])) { > method = &(*vendor_table)->vendor_class[ > vclass]->method_table[i]; > - BUG_ON(*method); > /* Allocate method table for this OUI */ > - if ((ret = allocate_method_table(method))) > - goto error3; > + if (*method) { ^ Shouldn't this be (!*method)? > + ret = allocate_method_table(method); > + if (ret) > + goto error3; > + } > memcpy((*vendor_table)->vendor_class[vclass]->oui[i], > mad_reg_req->oui, 3); > goto check_in_use; -- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD
Attachment:
signature.asc
Description: This is a digitally signed message part