aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw
diff options
context:
space:
mode:
authorRoland Dreier <roland@purestorage.com>2012-04-16 14:32:17 -0400
committerRoland Dreier <roland@purestorage.com>2012-05-08 14:17:47 -0400
commitda4964387d997244b043dd812540bed851c45c9e (patch)
tree54b77bf1acbe9fb628a7ec52c0faa425a299531c /drivers/infiniband/hw
parentfe2caefcdf5869f308c102e3d64d40683bfad711 (diff)
RDMA/ocrdma: Fix warnings about uninitialized variables
First, fix drivers/infiniband/hw/ocrdma/ocrdma_verbs.c: In function 'ocrdma_alloc_pd': drivers/infiniband/hw/ocrdma/ocrdma_verbs.c:371:17: warning: 'dpp_page_addr' may be used uninitialized in this function [-Wuninitialized] drivers/infiniband/hw/ocrdma/ocrdma_verbs.c:337:6: note: 'dpp_page_addr' was declared here which seems that it may border on a bug (the call to ocrdma_del_mmap() might conceivably do bad things if pd->dpp_enabled is not set and dpp_page_addr ends up with just the wrong value). Also take care of: drivers/infiniband/hw/ocrdma/ocrdma_hw.c: In function 'ocrdma_init_hw': drivers/infiniband/hw/ocrdma/ocrdma_hw.c:2587:5: warning: 'status' may be used uninitialized in this function [-Wuninitialized] drivers/infiniband/hw/ocrdma/ocrdma_hw.c:2549:17: note: 'status' was declared here which is only real if num_eq == 0, which should be impossible. Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_hw.c2
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_verbs.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
index c53545f1baf6..025c4a9a3d5b 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_hw.c
@@ -2546,7 +2546,7 @@ static int ocrdma_create_mq_eq(struct ocrdma_dev *dev)
2546 2546
2547static int ocrdma_create_qp_eqs(struct ocrdma_dev *dev) 2547static int ocrdma_create_qp_eqs(struct ocrdma_dev *dev)
2548{ 2548{
2549 int num_eq, i, status; 2549 int num_eq, i, status = 0;
2550 int irq; 2550 int irq;
2551 unsigned long flags = 0; 2551 unsigned long flags = 0;
2552 2552
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
index 51fc9c7c0acf..e955f1f0848d 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_verbs.c
@@ -334,7 +334,7 @@ static int ocrdma_copy_pd_uresp(struct ocrdma_pd *pd,
334{ 334{
335 int status; 335 int status;
336 u64 db_page_addr; 336 u64 db_page_addr;
337 u64 dpp_page_addr; 337 u64 dpp_page_addr = 0;
338 u32 db_page_size; 338 u32 db_page_size;
339 struct ocrdma_alloc_pd_uresp rsp; 339 struct ocrdma_alloc_pd_uresp rsp;
340 struct ocrdma_ucontext *uctx = get_ocrdma_ucontext(ib_ctx); 340 struct ocrdma_ucontext *uctx = get_ocrdma_ucontext(ib_ctx);
@@ -368,7 +368,8 @@ static int ocrdma_copy_pd_uresp(struct ocrdma_pd *pd,
368 return 0; 368 return 0;
369 369
370ucopy_err: 370ucopy_err:
371 ocrdma_del_mmap(pd->uctx, dpp_page_addr, OCRDMA_DPP_PAGE_SIZE); 371 if (pd->dpp_enabled)
372 ocrdma_del_mmap(pd->uctx, dpp_page_addr, OCRDMA_DPP_PAGE_SIZE);
372dpp_map_err: 373dpp_map_err:
373 ocrdma_del_mmap(pd->uctx, db_page_addr, db_page_size); 374 ocrdma_del_mmap(pd->uctx, db_page_addr, db_page_size);
374 return status; 375 return status;