diff options
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_init_chip.c | 1 | ||||
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_qp.c | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_init_chip.c b/drivers/infiniband/hw/ipath/ipath_init_chip.c index e9b5534f215a..37cd96e96e3e 100644 --- a/drivers/infiniband/hw/ipath/ipath_init_chip.c +++ b/drivers/infiniband/hw/ipath/ipath_init_chip.c | |||
@@ -115,6 +115,7 @@ static int create_port0_egr(struct ipath_devdata *dd) | |||
115 | "eager TID %u\n", e); | 115 | "eager TID %u\n", e); |
116 | while (e != 0) | 116 | while (e != 0) |
117 | dev_kfree_skb(skbs[--e]); | 117 | dev_kfree_skb(skbs[--e]); |
118 | vfree(skbs); | ||
118 | ret = -ENOMEM; | 119 | ret = -ENOMEM; |
119 | goto bail; | 120 | goto bail; |
120 | } | 121 | } |
diff --git a/drivers/infiniband/hw/ipath/ipath_qp.c b/drivers/infiniband/hw/ipath/ipath_qp.c index e6fc4c02823f..fd4d55bdee78 100644 --- a/drivers/infiniband/hw/ipath/ipath_qp.c +++ b/drivers/infiniband/hw/ipath/ipath_qp.c | |||
@@ -692,6 +692,7 @@ struct ib_qp *ipath_create_qp(struct ib_pd *ibpd, | |||
692 | case IB_QPT_GSI: | 692 | case IB_QPT_GSI: |
693 | qp = kmalloc(sizeof(*qp), GFP_KERNEL); | 693 | qp = kmalloc(sizeof(*qp), GFP_KERNEL); |
694 | if (!qp) { | 694 | if (!qp) { |
695 | vfree(swq); | ||
695 | ret = ERR_PTR(-ENOMEM); | 696 | ret = ERR_PTR(-ENOMEM); |
696 | goto bail; | 697 | goto bail; |
697 | } | 698 | } |
@@ -702,6 +703,7 @@ struct ib_qp *ipath_create_qp(struct ib_pd *ibpd, | |||
702 | qp->r_rq.wq = vmalloc(qp->r_rq.size * sz); | 703 | qp->r_rq.wq = vmalloc(qp->r_rq.size * sz); |
703 | if (!qp->r_rq.wq) { | 704 | if (!qp->r_rq.wq) { |
704 | kfree(qp); | 705 | kfree(qp); |
706 | vfree(swq); | ||
705 | ret = ERR_PTR(-ENOMEM); | 707 | ret = ERR_PTR(-ENOMEM); |
706 | goto bail; | 708 | goto bail; |
707 | } | 709 | } |