diff options
author | Steve Wise <swise@opengridcomputing.com> | 2014-03-21 11:10:30 -0400 |
---|---|---|
committer | Roland Dreier <roland@purestorage.com> | 2014-03-24 13:07:35 -0400 |
commit | dbb084cc5f52152f53b5fd22fa76b9bf69904594 (patch) | |
tree | 20928f5ac5faefb57b29d4cd0e7d0301ffa5e3a0 /drivers/infiniband/hw | |
parent | eda6d1d1b7932f90d55583f8f3835dd7d6b32543 (diff) |
RDMA/cxgb4: Don't leak skb in c4iw_uld_rx_handler()
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw')
-rw-r--r-- | drivers/infiniband/hw/cxgb4/device.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/cxgb4/device.c b/drivers/infiniband/hw/cxgb4/device.c index 4a033853312e..982f81586f90 100644 --- a/drivers/infiniband/hw/cxgb4/device.c +++ b/drivers/infiniband/hw/cxgb4/device.c | |||
@@ -897,11 +897,13 @@ static int c4iw_uld_rx_handler(void *handle, const __be64 *rsp, | |||
897 | } | 897 | } |
898 | 898 | ||
899 | opcode = *(u8 *)rsp; | 899 | opcode = *(u8 *)rsp; |
900 | if (c4iw_handlers[opcode]) | 900 | if (c4iw_handlers[opcode]) { |
901 | c4iw_handlers[opcode](dev, skb); | 901 | c4iw_handlers[opcode](dev, skb); |
902 | else | 902 | } else { |
903 | pr_info("%s no handler opcode 0x%x...\n", __func__, | 903 | pr_info("%s no handler opcode 0x%x...\n", __func__, |
904 | opcode); | 904 | opcode); |
905 | kfree_skb(skb); | ||
906 | } | ||
905 | 907 | ||
906 | return 0; | 908 | return 0; |
907 | nomem: | 909 | nomem: |