IB/rdmavt,hfi1,qib: Fix memory leak
authorJubin John <jubin.john@intel.com>
Wed, 20 Apr 2016 13:05:24 +0000 (06:05 -0700)
committerDoug Ledford <dledford@redhat.com>
Thu, 28 Apr 2016 20:32:27 +0000 (16:32 -0400)
commitea0e4ce3bcccef360e1aa69d17a210d1221ab80c
treebd953d1fb81e220892cb3421f811b4f68f4b10f4
parente88c9271d9f8db79d8104f7f7bd14cb8d88cc187
IB/rdmavt,hfi1,qib: Fix memory leak

rdi->ports has memory allocated in rvt_alloc_device(), but does not get
freed because the hfi1 and qib drivers drivers call ib_dealloc_device()
directly instead of going through rdmavt. Add a rvt_dealloc_device()
that frees rdi->ports and then calls ib_dealloc_device(). Switch hfi1
and qib drivers to calling rvt_dealloc_device() instead of
ib_dealloc_device() directly.

Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Reviewed-by: Brian Welty <brian.welty@intel.com>
Signed-off-by: Jubin John <jubin.john@intel.com>
Reviewed-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/qib/qib_init.c
drivers/infiniband/sw/rdmavt/vt.c
drivers/staging/rdma/hfi1/init.c
include/rdma/rdma_vt.h