diff options
-rw-r--r-- | net/bluetooth/mgmt.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c index f827fd908380..ace872615c06 100644 --- a/net/bluetooth/mgmt.c +++ b/net/bluetooth/mgmt.c | |||
@@ -111,8 +111,10 @@ static int read_index_list(struct sock *sk) | |||
111 | 111 | ||
112 | body_len = sizeof(*ev) + sizeof(*rp) + (2 * count); | 112 | body_len = sizeof(*ev) + sizeof(*rp) + (2 * count); |
113 | skb = alloc_skb(sizeof(*hdr) + body_len, GFP_ATOMIC); | 113 | skb = alloc_skb(sizeof(*hdr) + body_len, GFP_ATOMIC); |
114 | if (!skb) | 114 | if (!skb) { |
115 | read_unlock(&hci_dev_list_lock); | ||
115 | return -ENOMEM; | 116 | return -ENOMEM; |
117 | } | ||
116 | 118 | ||
117 | hdr = (void *) skb_put(skb, sizeof(*hdr)); | 119 | hdr = (void *) skb_put(skb, sizeof(*hdr)); |
118 | hdr->opcode = cpu_to_le16(MGMT_EV_CMD_COMPLETE); | 120 | hdr->opcode = cpu_to_le16(MGMT_EV_CMD_COMPLETE); |