#define FIRMWARE_MAX_LEN 0x2000
 
-static int firmwareUpload(struct comedi_device *dev,
-                         const u8 *firmwareBinary, int sizeFirmware)
+static int usbduxfast_upload_firmware(struct comedi_device *dev,
+                                     const struct firmware *fw)
 {
-       uint8_t *fwBuf;
+       uint8_t *buf;
        int ret;
 
-       if (!firmwareBinary)
+       if (!fw->data)
                return 0;
 
-       if (sizeFirmware > FIRMWARE_MAX_LEN) {
+       if (fw->size > FIRMWARE_MAX_LEN) {
                dev_err(dev->class_dev, "firmware binary too large for FX2\n");
                return -ENOMEM;
        }
 
        /* we generate a local buffer for the firmware */
-       fwBuf = kmemdup(firmwareBinary, sizeFirmware, GFP_KERNEL);
-       if (!fwBuf) {
-               dev_err(dev->class_dev, "mem alloc for firmware failed\n");
+       buf = kmemdup(fw->data, fw->size, GFP_KERNEL);
+       if (!buf)
                return -ENOMEM;
-       }
 
        ret = usbduxfastsub_stop(dev);
        if (ret < 0) {
                dev_err(dev->class_dev, "can not stop firmware\n");
-               kfree(fwBuf);
-               return ret;
+               goto done;
        }
 
-       ret = usbduxfastsub_upload(dev, fwBuf, 0, sizeFirmware);
+       ret = usbduxfastsub_upload(dev, buf, 0, fw->size);
        if (ret < 0) {
                dev_err(dev->class_dev, "firmware upload failed\n");
-               kfree(fwBuf);
-               return ret;
+               goto done;
        }
        ret = usbduxfastsub_start(dev);
-       if (ret < 0) {
+       if (ret < 0)
                dev_err(dev->class_dev, "can not start firmware\n");
-               kfree(fwBuf);
-               return ret;
-       }
-       kfree(fwBuf);
-       return 0;
+
+done:
+       kfree(buf);
+       return ret;
 }
 
 static int usbduxfast_attach_common(struct comedi_device *dev)
        if (ret)
                return ret;
 
-       ret = firmwareUpload(dev, fw->data, fw->size);
+       ret = usbduxfast_upload_firmware(dev, fw);
        release_firmware(fw);
 
        return ret;