IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
[linux-2.6-block.git] / drivers / bluetooth / bcm203x.c
index 3e7a067cc0871dafce5f0427f2690c383983a2c3..67cdda43f22990fbdd0e5a9a3b4727fb350876ba 100644 (file)
@@ -22,7 +22,6 @@
  *
  */
 
-#include <linux/config.h>
 #include <linux/module.h>
 
 #include <linux/kernel.h>
@@ -83,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;
@@ -235,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);