summaryrefslogtreecommitdiffstats
path: root/net/bluetooth
diff options
context:
space:
mode:
authorGustavo Padovan <gustavo.padovan@collabora.co.uk>2012-12-22 04:22:53 +0100
committerJohan Hedberg <johan.hedberg@intel.com>2014-03-07 19:09:41 +0100
commit0753c182ef11e27f8f3dea2dc9ca4bcf40019eb5 (patch)
tree46344bf69ff8d78cda46013792c22d1f4e7f1f62 /net/bluetooth
parentBluetooth: Fix endianess issue in the ath3k driver (diff)
downloadlinux-0753c182ef11e27f8f3dea2dc9ca4bcf40019eb5.tar.xz
linux-0753c182ef11e27f8f3dea2dc9ca4bcf40019eb5.zip
Bluetooth: Fix skb allocation check for A2MP
vtable's method alloc_skb() needs to return a ERR_PTR in case of err and not a NULL. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'net/bluetooth')
-rw-r--r--net/bluetooth/a2mp.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/net/bluetooth/a2mp.c b/net/bluetooth/a2mp.c
index f986b9968bdb..d6bb096ba0f1 100644
--- a/net/bluetooth/a2mp.c
+++ b/net/bluetooth/a2mp.c
@@ -695,7 +695,13 @@ static void a2mp_chan_state_change_cb(struct l2cap_chan *chan, int state,
static struct sk_buff *a2mp_chan_alloc_skb_cb(struct l2cap_chan *chan,
unsigned long len, int nb)
{
- return bt_skb_alloc(len, GFP_KERNEL);
+ struct sk_buff *skb;
+
+ skb = bt_skb_alloc(len, GFP_KERNEL);
+ if (!skb)
+ return ERR_PTR(-ENOMEM);
+
+ return skb;
}
static struct l2cap_ops a2mp_chan_ops = {