diff options
author | 2017-11-03 02:39:04 +0530 | |
---|---|---|
committer | 2017-11-13 15:01:25 -0500 | |
commit | 063fb5bd1a01937094f40169a20e4aa5ca030db1 (patch) | |
tree | f3c67b7127e268e6c367f75166eab4f9ff56fece | |
parent | bnxt_re: fix a crash in qp error event processing (diff) | |
download | linux-063fb5bd1a01937094f40169a20e4aa5ca030db1.tar.gz linux-063fb5bd1a01937094f40169a20e4aa5ca030db1.tar.bz2 linux-063fb5bd1a01937094f40169a20e4aa5ca030db1.zip |
bnxt_re: changing the ip address shouldn't affect new connections
While adding a new gid, the driver currently does not return the context
back to the stack. A subsequent del_gid() (e.g, when ip address is changed)
doesn't find the right context in the driver and it ends up dropping that
request. This results in the HW caching a stale gid entry and traffic fails
because of that. Fix by returning the proper context in bnxt_re_add_gid().
Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r-- | drivers/infiniband/hw/bnxt_re/ib_verbs.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c index 39e49d0e8467..adc42d7ff4f8 100644 --- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c +++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c @@ -394,6 +394,7 @@ int bnxt_re_add_gid(struct ib_device *ibdev, u8 port_num, ctx->idx = tbl_idx; ctx->refcnt = 1; ctx_tbl[tbl_idx] = ctx; + *context = ctx; return rc; } |