IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
[linux-2.6-block.git] / drivers / bluetooth / bcm203x.c
index 6f67141f4de0fbcc3b0d5461fb0a7766b7e627ff..67cdda43f22990fbdd0e5a9a3b4727fb350876ba 100644 (file)
@@ -82,7 +82,7 @@ struct bcm203x_data {
        unsigned int            fw_sent;
 };
 
-static void bcm203x_complete(struct urb *urb, struct pt_regs *regs)
+static void bcm203x_complete(struct urb *urb)
 {
        struct bcm203x_data *data = urb->context;
        struct usb_device *udev = urb->dev;
@@ -234,6 +234,7 @@ static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id
        data->fw_data = kmalloc(firmware->size, GFP_KERNEL);
        if (!data->fw_data) {
                BT_ERR("Can't allocate memory for firmware image");
+               release_firmware(firmware);
                usb_free_urb(data->urb);
                kfree(data->buffer);
                kfree(data);