{
struct device *dev = interrupt->dev;
struct sdca_fdl_data *fdl_data = &interrupt->function->fdl_data;
- const struct firmware *firmware = NULL;
struct acpi_sw_file *swf = NULL, *tmp;
struct sdca_fdl_file *fdl_file;
char *disk_filename;
dev_dbg(dev, "FDL disk filename: %s\n", disk_filename);
+ const struct firmware *firmware __free(firmware) = NULL;
ret = firmware_request_nowarn(&firmware, disk_filename, dev);
kfree(disk_filename);
if (ret) {
if (!swf) {
dev_err(dev, "failed to locate SWF\n");
- ret = -ENOENT;
- goto error;
+ return -ENOENT;
}
dev_info(dev, "loading SWF: %x-%x-%x\n",
SDCA_CTL_XU_FDL_MESSAGEOFFSET, fdl_file->fdl_offset,
SDCA_CTL_XU_FDL_MESSAGELENGTH, swf->data,
swf->file_length - offsetof(struct acpi_sw_file, data));
-
-error:
- release_firmware(firmware);
return ret;
}