From 5ff281cffc31fe401fcc3b6ccb86f7a901b5f5b9 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Wed, 26 Oct 2011 11:22:46 +0200 Subject: [PATCH] --- yaml --- r: 277719 b: refs/heads/master c: 7f103a0d23d2778b86cea407c1992522d41ead81 h: refs/heads/master i: 277717: 8889df2b75c6f92b3f906afc5588613194aff03c 277715: 4214dec7d3808f137f1be52a31cac1289a481e4d 277711: 34d315914c0eddef6c739138ab52d5ad65c5fe13 v: v3 --- [refs] | 2 +- trunk/drivers/bluetooth/bfusb.c | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index bda4cbb31f63..dec768f9bb0d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: deceb024f1083d7eecaba7f2ee65d57f31f91bd5 +refs/heads/master: 7f103a0d23d2778b86cea407c1992522d41ead81 diff --git a/trunk/drivers/bluetooth/bfusb.c b/trunk/drivers/bluetooth/bfusb.c index 6580d5057d26..a936763b8c3d 100644 --- a/trunk/drivers/bluetooth/bfusb.c +++ b/trunk/drivers/bluetooth/bfusb.c @@ -568,22 +568,23 @@ static int bfusb_load_firmware(struct bfusb_data *data, BT_INFO("BlueFRITZ! USB loading firmware"); + buf = kmalloc(BFUSB_MAX_BLOCK_SIZE + 3, GFP_KERNEL); + if (!buf) { + BT_ERR("Can't allocate memory chunk for firmware"); + return -ENOMEM; + } + pipe = usb_sndctrlpipe(data->udev, 0); if (usb_control_msg(data->udev, pipe, USB_REQ_SET_CONFIGURATION, 0, 1, 0, NULL, 0, USB_CTRL_SET_TIMEOUT) < 0) { BT_ERR("Can't change to loading configuration"); + kfree(buf); return -EBUSY; } data->udev->toggle[0] = data->udev->toggle[1] = 0; - buf = kmalloc(BFUSB_MAX_BLOCK_SIZE + 3, GFP_ATOMIC); - if (!buf) { - BT_ERR("Can't allocate memory chunk for firmware"); - return -ENOMEM; - } - pipe = usb_sndbulkpipe(data->udev, data->bulk_out_ep); while (count) {