2012-12-09 17:13:28 +00:00
|
|
|
From: Ben Hutchings <ben@decadent.org.uk>
|
|
|
|
Subject: firmware: Remove redundant log messages from drivers
|
|
|
|
Date: Sun, 09 Dec 2012 16:40:31 +0000
|
2013-07-01 01:12:30 +00:00
|
|
|
Forwarded: no
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
Now that firmware_class logs every success and failure consistently,
|
|
|
|
many other log messages can be removed from drivers.
|
|
|
|
|
|
|
|
This will probably need to be split up into multiple patches prior to
|
|
|
|
upstream submission.
|
|
|
|
|
|
|
|
--- a/arch/arm/mach-netx/xc.c
|
|
|
|
+++ b/arch/arm/mach-netx/xc.c
|
|
|
|
@@ -127,10 +127,8 @@ int xc_request_firmware(struct xc *x)
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, name, x->dev);
|
|
|
|
|
|
|
|
- if (ret < 0) {
|
|
|
|
- dev_err(x->dev, "request_firmware failed\n");
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
head = (struct fw_header *)fw->data;
|
|
|
|
if (head->magic != 0x4e657458) {
|
|
|
|
--- a/arch/cris/arch-v32/drivers/iop_fw_load.c
|
|
|
|
+++ b/arch/cris/arch-v32/drivers/iop_fw_load.c
|
|
|
|
@@ -74,12 +74,7 @@ int iop_fw_load_spu(const unsigned char
|
|
|
|
fw_name,
|
|
|
|
&iop_spu_device[spu_inst]);
|
|
|
|
if (retval != 0)
|
|
|
|
- {
|
|
|
|
- printk(KERN_ERR
|
|
|
|
- "iop_load_spu: Failed to load firmware \"%s\"\n",
|
|
|
|
- fw_name);
|
|
|
|
return retval;
|
|
|
|
- }
|
|
|
|
data = (u32 *) fw_entry->data;
|
|
|
|
|
|
|
|
/* acquire ownership of memory controller */
|
|
|
|
@@ -137,12 +132,7 @@ int iop_fw_load_mpu(unsigned char *fw_na
|
|
|
|
/* get firmware */
|
|
|
|
retval = request_firmware(&fw_entry, fw_name, &iop_mpu_device);
|
|
|
|
if (retval != 0)
|
|
|
|
- {
|
|
|
|
- printk(KERN_ERR
|
|
|
|
- "iop_load_spu: Failed to load firmware \"%s\"\n",
|
|
|
|
- fw_name);
|
|
|
|
return retval;
|
|
|
|
- }
|
|
|
|
data = (u32 *) fw_entry->data;
|
|
|
|
|
|
|
|
/* disable MPU */
|
2014-03-06 02:36:41 +00:00
|
|
|
--- a/arch/x86/kernel/cpu/microcode/amd.c
|
|
|
|
+++ b/arch/x86/kernel/cpu/microcode/amd.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -734,10 +734,8 @@ static enum ucode_state request_microcod
|
2012-12-09 17:13:28 +00:00
|
|
|
if (c->x86 >= 0x15)
|
|
|
|
snprintf(fw_name, sizeof(fw_name), "amd-ucode/microcode_amd_fam%.2xh.bin", c->x86);
|
|
|
|
|
2014-03-06 02:36:41 +00:00
|
|
|
- if (request_firmware_direct(&fw, (const char *)fw_name, device)) {
|
2013-12-02 04:39:02 +00:00
|
|
|
- pr_debug("failed to load file %s\n", fw_name);
|
2014-03-06 02:36:41 +00:00
|
|
|
+ if (request_firmware_direct(&fw, (const char *)fw_name, device))
|
2012-12-09 17:13:28 +00:00
|
|
|
goto out;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ret = UCODE_ERROR;
|
|
|
|
if (*(u32 *)fw->data != UCODE_MAGIC) {
|
|
|
|
--- a/drivers/atm/ambassador.c
|
|
|
|
+++ b/drivers/atm/ambassador.c
|
2013-02-19 06:36:33 +00:00
|
|
|
@@ -1929,10 +1929,8 @@ static int ucode_init(loader_block *lb,
|
2012-12-09 17:13:28 +00:00
|
|
|
int res;
|
|
|
|
|
|
|
|
res = request_ihex_firmware(&fw, "atmsar11.fw", &dev->pci_dev->dev);
|
|
|
|
- if (res) {
|
|
|
|
- PRINTK (KERN_ERR, "Cannot load microcode data");
|
|
|
|
+ if (res)
|
|
|
|
return res;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* First record contains just the start address */
|
|
|
|
rec = (const struct ihex_binrec *)fw->data;
|
|
|
|
--- a/drivers/atm/fore200e.c
|
|
|
|
+++ b/drivers/atm/fore200e.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -2506,10 +2506,9 @@ static int fore200e_load_and_start_fw(st
|
2012-12-09 17:13:28 +00:00
|
|
|
return err;
|
|
|
|
|
|
|
|
sprintf(buf, "%s%s", fore200e->bus->proc_name, FW_EXT);
|
|
|
|
- if ((err = request_firmware(&firmware, buf, device)) < 0) {
|
|
|
|
- printk(FORE200E "problem loading firmware image %s\n", fore200e->bus->model_name);
|
|
|
|
+ err = request_firmware(&firmware, buf, device);
|
|
|
|
+ if (err)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
|
2016-10-28 23:36:56 +00:00
|
|
|
fw_data = (const __le32 *)firmware->data;
|
2012-12-09 17:13:28 +00:00
|
|
|
fw_size = firmware->size / sizeof(u32);
|
|
|
|
--- a/drivers/bluetooth/ath3k.c
|
|
|
|
+++ b/drivers/bluetooth/ath3k.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -424,10 +424,8 @@ static int ath3k_load_patch(struct usb_d
|
2014-09-13 06:23:27 +00:00
|
|
|
le32_to_cpu(fw_version.rom_version));
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
ret = request_firmware(&firmware, filename, &udev->dev);
|
|
|
|
- if (ret < 0) {
|
|
|
|
- BT_ERR("Patch file not found %s", filename);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
2014-09-13 06:23:27 +00:00
|
|
|
pt_rom_version = get_unaligned_le32(firmware->data +
|
|
|
|
firmware->size - 8);
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -487,10 +485,8 @@ static int ath3k_load_syscfg(struct usb_
|
2014-05-02 01:45:17 +00:00
|
|
|
le32_to_cpu(fw_version.rom_version), clk_value, ".dfu");
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
ret = request_firmware(&firmware, filename, &udev->dev);
|
|
|
|
- if (ret < 0) {
|
|
|
|
- BT_ERR("Configuration file not found %s", filename);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ret = ath3k_load_fwfile(udev, firmware);
|
|
|
|
release_firmware(firmware);
|
|
|
|
--- a/drivers/bluetooth/bcm203x.c
|
|
|
|
+++ b/drivers/bluetooth/bcm203x.c
|
2016-10-28 23:36:56 +00:00
|
|
|
@@ -189,7 +189,6 @@ static int bcm203x_probe(struct usb_inte
|
|
|
|
return -ENOMEM;
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
if (request_firmware(&firmware, "BCM2033-MD.hex", &udev->dev) < 0) {
|
|
|
|
- BT_ERR("Mini driver request failed");
|
|
|
|
usb_free_urb(data->urb);
|
|
|
|
return -EIO;
|
2012-12-16 15:20:29 +00:00
|
|
|
}
|
2016-10-28 23:36:56 +00:00
|
|
|
@@ -214,7 +213,6 @@ static int bcm203x_probe(struct usb_inte
|
2012-12-09 17:13:28 +00:00
|
|
|
release_firmware(firmware);
|
|
|
|
|
|
|
|
if (request_firmware(&firmware, "BCM2033-FW.bin", &udev->dev) < 0) {
|
|
|
|
- BT_ERR("Firmware request failed");
|
|
|
|
usb_free_urb(data->urb);
|
|
|
|
kfree(data->buffer);
|
2012-12-16 15:20:29 +00:00
|
|
|
return -EIO;
|
2012-12-09 17:13:28 +00:00
|
|
|
--- a/drivers/bluetooth/bfusb.c
|
|
|
|
+++ b/drivers/bluetooth/bfusb.c
|
2016-02-15 16:36:21 +00:00
|
|
|
@@ -652,10 +652,8 @@ static int bfusb_probe(struct usb_interf
|
2012-12-09 17:13:28 +00:00
|
|
|
skb_queue_head_init(&data->pending_q);
|
|
|
|
skb_queue_head_init(&data->completed_q);
|
|
|
|
|
|
|
|
- if (request_firmware(&firmware, "bfubase.frm", &udev->dev) < 0) {
|
|
|
|
- BT_ERR("Firmware request failed");
|
|
|
|
+ if (request_firmware(&firmware, "bfubase.frm", &udev->dev))
|
2012-12-16 15:20:29 +00:00
|
|
|
goto done;
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
|
|
|
|
|
|
|
BT_DBG("firmware data %p size %zu", firmware->data, firmware->size);
|
|
|
|
|
|
|
|
--- a/drivers/bluetooth/bt3c_cs.c
|
|
|
|
+++ b/drivers/bluetooth/bt3c_cs.c
|
2016-02-15 16:36:21 +00:00
|
|
|
@@ -566,10 +566,8 @@ static int bt3c_open(struct bt3c_info *i
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
/* Load firmware */
|
|
|
|
err = request_firmware(&firmware, "BT3CPCC.bin", &info->p_dev->dev);
|
|
|
|
- if (err < 0) {
|
|
|
|
- BT_ERR("Firmware request failed");
|
|
|
|
+ if (err)
|
|
|
|
goto error;
|
|
|
|
- }
|
|
|
|
|
|
|
|
err = bt3c_load_firmware(info, firmware->data, firmware->size);
|
|
|
|
|
|
|
|
--- a/drivers/bluetooth/btmrvl_sdio.c
|
|
|
|
+++ b/drivers/bluetooth/btmrvl_sdio.c
|
2016-06-09 00:55:39 +00:00
|
|
|
@@ -452,8 +452,6 @@ static int btmrvl_sdio_download_helper(s
|
2012-12-09 17:13:28 +00:00
|
|
|
ret = request_firmware(&fw_helper, card->helper,
|
|
|
|
&card->func->dev);
|
|
|
|
if ((ret < 0) || !fw_helper) {
|
|
|
|
- BT_ERR("request_firmware(helper) failed, error code = %d",
|
|
|
|
- ret);
|
|
|
|
ret = -ENOENT;
|
|
|
|
goto done;
|
|
|
|
}
|
2016-06-09 00:55:39 +00:00
|
|
|
@@ -552,8 +550,6 @@ static int btmrvl_sdio_download_fw_w_hel
|
2012-12-09 17:13:28 +00:00
|
|
|
ret = request_firmware(&fw_firmware, card->firmware,
|
|
|
|
&card->func->dev);
|
|
|
|
if ((ret < 0) || !fw_firmware) {
|
|
|
|
- BT_ERR("request_firmware(firmware) failed, error code = %d",
|
|
|
|
- ret);
|
|
|
|
ret = -ENOENT;
|
|
|
|
goto done;
|
|
|
|
}
|
|
|
|
--- a/drivers/char/dsp56k.c
|
|
|
|
+++ b/drivers/char/dsp56k.c
|
|
|
|
@@ -140,11 +140,8 @@ static int dsp56k_upload(u_char __user *
|
|
|
|
}
|
|
|
|
err = request_firmware(&fw, fw_name, &pdev->dev);
|
|
|
|
platform_device_unregister(pdev);
|
|
|
|
- if (err) {
|
|
|
|
- printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
|
|
|
|
- fw_name, err);
|
|
|
|
+ if (err)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
if (fw->size % 3) {
|
|
|
|
printk(KERN_ERR "Bogus length %d in image \"%s\"\n",
|
|
|
|
fw->size, fw_name);
|
|
|
|
--- a/drivers/dma/imx-sdma.c
|
|
|
|
+++ b/drivers/dma/imx-sdma.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -1438,11 +1438,8 @@ static void sdma_load_firmware(const str
|
2012-12-09 17:13:28 +00:00
|
|
|
const struct sdma_script_start_addrs *addr;
|
|
|
|
unsigned short *ram_code;
|
|
|
|
|
|
|
|
- if (!fw) {
|
2015-02-08 19:05:12 +00:00
|
|
|
- dev_info(sdma->dev, "external firmware not found, using ROM firmware\n");
|
|
|
|
- /* In this case we just use the ROM firmware. */
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (!fw)
|
|
|
|
return;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (fw->size < sizeof(*header))
|
|
|
|
goto err_firmware;
|
|
|
|
--- a/drivers/gpu/drm/mga/mga_warp.c
|
|
|
|
+++ b/drivers/gpu/drm/mga/mga_warp.c
|
2012-12-16 15:20:29 +00:00
|
|
|
@@ -79,11 +79,8 @@ int mga_warp_install_microcode(drm_mga_p
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
rc = request_ihex_firmware(&fw, firmware_name, &pdev->dev);
|
|
|
|
platform_device_unregister(pdev);
|
|
|
|
- if (rc) {
|
|
|
|
- DRM_ERROR("mga: Failed to load microcode \"%s\"\n",
|
|
|
|
- firmware_name);
|
|
|
|
+ if (rc)
|
|
|
|
return rc;
|
|
|
|
- }
|
|
|
|
|
|
|
|
size = 0;
|
|
|
|
where = 0;
|
2015-04-13 02:02:26 +00:00
|
|
|
--- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
|
|
|
|
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1821,10 +1821,8 @@ gf100_gr_ctor_fw_legacy(struct gf100_gr
|
2017-01-09 21:06:30 +00:00
|
|
|
if (ret) {
|
|
|
|
snprintf(f, sizeof(f), "nouveau/%s", fwname);
|
|
|
|
ret = request_firmware(&fw, f, device->dev);
|
|
|
|
- if (ret) {
|
|
|
|
- nvkm_error(subdev, "failed to load %s\n", fwname);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
}
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
fuc->size = fw->size;
|
|
|
|
--- a/drivers/gpu/drm/r128/r128_cce.c
|
|
|
|
+++ b/drivers/gpu/drm/r128/r128_cce.c
|
2012-12-16 15:20:29 +00:00
|
|
|
@@ -154,11 +154,8 @@ static int r128_cce_load_microcode(drm_r
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
rc = request_firmware(&fw, FIRMWARE_NAME, &pdev->dev);
|
|
|
|
platform_device_unregister(pdev);
|
|
|
|
- if (rc) {
|
|
|
|
- printk(KERN_ERR "r128_cce: Failed to load firmware \"%s\"\n",
|
|
|
|
- FIRMWARE_NAME);
|
|
|
|
+ if (rc)
|
|
|
|
return rc;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (fw->size != 256 * 8) {
|
|
|
|
printk(KERN_ERR
|
|
|
|
--- a/drivers/gpu/drm/radeon/ni.c
|
|
|
|
+++ b/drivers/gpu/drm/radeon/ni.c
|
2015-08-04 01:30:23 +00:00
|
|
|
@@ -837,10 +837,6 @@ int ni_init_microcode(struct radeon_devi
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2013-07-22 04:06:03 +00:00
|
|
|
out:
|
2012-12-09 17:13:28 +00:00
|
|
|
if (err) {
|
|
|
|
- if (err != -EINVAL)
|
|
|
|
- printk(KERN_ERR
|
|
|
|
- "ni_cp: Failed to load firmware \"%s\"\n",
|
|
|
|
- fw_name);
|
|
|
|
release_firmware(rdev->pfp_fw);
|
|
|
|
rdev->pfp_fw = NULL;
|
|
|
|
release_firmware(rdev->me_fw);
|
|
|
|
--- a/drivers/gpu/drm/radeon/r100.c
|
|
|
|
+++ b/drivers/gpu/drm/radeon/r100.c
|
2016-06-09 00:55:39 +00:00
|
|
|
@@ -1041,10 +1041,7 @@ static int r100_cp_init_microcode(struct
|
2013-07-22 04:06:03 +00:00
|
|
|
}
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2013-07-22 04:06:03 +00:00
|
|
|
err = request_firmware(&rdev->me_fw, fw_name, rdev->dev);
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (err) {
|
|
|
|
- printk(KERN_ERR "radeon_cp: Failed to load firmware \"%s\"\n",
|
|
|
|
- fw_name);
|
|
|
|
- } else if (rdev->me_fw->size % 8) {
|
|
|
|
+ if (err == 0 && rdev->me_fw->size % 8) {
|
|
|
|
printk(KERN_ERR
|
|
|
|
"radeon_cp: Bogus length %zu in firmware \"%s\"\n",
|
|
|
|
rdev->me_fw->size, fw_name);
|
|
|
|
--- a/drivers/gpu/drm/radeon/r600.c
|
|
|
|
+++ b/drivers/gpu/drm/radeon/r600.c
|
2016-06-09 00:55:39 +00:00
|
|
|
@@ -2599,10 +2599,6 @@ int r600_init_microcode(struct radeon_de
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2013-07-22 04:06:03 +00:00
|
|
|
out:
|
2012-12-09 17:13:28 +00:00
|
|
|
if (err) {
|
|
|
|
- if (err != -EINVAL)
|
|
|
|
- printk(KERN_ERR
|
|
|
|
- "r600_cp: Failed to load firmware \"%s\"\n",
|
|
|
|
- fw_name);
|
|
|
|
release_firmware(rdev->pfp_fw);
|
|
|
|
rdev->pfp_fw = NULL;
|
|
|
|
release_firmware(rdev->me_fw);
|
|
|
|
--- a/drivers/infiniband/hw/qib/qib_sd7220.c
|
|
|
|
+++ b/drivers/infiniband/hw/qib/qib_sd7220.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -406,10 +406,8 @@ int qib_sd7220_init(struct qib_devdata *
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, SD7220_FW_NAME, &dd->pcidev->dev);
|
|
|
|
- if (ret) {
|
|
|
|
- qib_dev_err(dd, "Failed to load IB SERDES image\n");
|
|
|
|
+ if (ret)
|
|
|
|
goto done;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* Substitute our deduced value for was_reset */
|
|
|
|
ret = qib_ibsd_ucode_loaded(dd->pport, fw);
|
|
|
|
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
|
|
|
|
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
|
2016-10-28 23:36:56 +00:00
|
|
|
@@ -2714,10 +2714,8 @@ static int mxt_load_fw(struct device *de
|
2012-12-09 17:13:28 +00:00
|
|
|
int ret;
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, fn, dev);
|
|
|
|
- if (ret) {
|
|
|
|
- dev_err(dev, "Unable to open firmware %s\n", fn);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
2014-07-13 15:28:53 +00:00
|
|
|
/* Check for incorrect enc file */
|
|
|
|
ret = mxt_check_firmware_format(dev, fw);
|
2012-12-09 17:13:28 +00:00
|
|
|
--- a/drivers/isdn/hardware/mISDN/speedfax.c
|
|
|
|
+++ b/drivers/isdn/hardware/mISDN/speedfax.c
|
2012-12-10 04:06:21 +00:00
|
|
|
@@ -392,11 +392,8 @@ setup_instance(struct sfax_hw *card)
|
2012-12-09 17:13:28 +00:00
|
|
|
card->isar.owner = THIS_MODULE;
|
|
|
|
|
|
|
|
err = request_firmware(&firmware, "isdn/ISAR.BIN", &card->pdev->dev);
|
|
|
|
- if (err < 0) {
|
|
|
|
- pr_info("%s: firmware request failed %d\n",
|
|
|
|
- card->name, err);
|
|
|
|
+ if (err)
|
|
|
|
goto error_fw;
|
|
|
|
- }
|
|
|
|
if (debug & DEBUG_HW)
|
|
|
|
pr_notice("%s: got firmware %zu bytes\n",
|
2012-12-10 04:06:21 +00:00
|
|
|
card->name, firmware->size);
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/tuners/tuner-xc2028.c
|
|
|
|
+++ b/drivers/media/tuners/tuner-xc2028.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -1370,7 +1370,6 @@ static void load_firmware_cb(const struc
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2012-12-10 04:06:21 +00:00
|
|
|
tuner_dbg("request_firmware_nowait(): %s\n", fw ? "OK" : "error");
|
|
|
|
if (!fw) {
|
|
|
|
- tuner_err("Could not load firmware %s.\n", priv->fname);
|
|
|
|
priv->state = XC2028_NODEV;
|
|
|
|
return;
|
|
|
|
}
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/usb/dvb-usb/dib0700_devices.c
|
|
|
|
+++ b/drivers/media/usb/dvb-usb/dib0700_devices.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -2410,12 +2410,9 @@ static int stk9090m_frontend_attach(stru
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
dib9000_i2c_enumeration(&adap->dev->i2c_adap, 1, 0x10, 0x80);
|
|
|
|
|
|
|
|
- if (request_firmware(&state->frontend_firmware, "dib9090.fw", &adap->dev->udev->dev)) {
|
|
|
|
- deb_info("%s: Upload failed. (file not found?)\n", __func__);
|
|
|
|
+ if (request_firmware(&state->frontend_firmware, "dib9090.fw", &adap->dev->udev->dev))
|
|
|
|
return -ENODEV;
|
|
|
|
- } else {
|
2017-04-19 09:30:57 +00:00
|
|
|
- deb_info("%s: firmware read %zu bytes.\n", __func__, state->frontend_firmware->size);
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
2017-04-19 09:30:57 +00:00
|
|
|
+ deb_info("%s: firmware read %zu bytes.\n", __func__, state->frontend_firmware->size);
|
2012-12-09 17:13:28 +00:00
|
|
|
stk9090m_config.microcode_B_fe_size = state->frontend_firmware->size;
|
|
|
|
stk9090m_config.microcode_B_fe_buffer = state->frontend_firmware->data;
|
|
|
|
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -2476,12 +2473,9 @@ static int nim9090md_frontend_attach(str
|
2012-12-09 17:13:28 +00:00
|
|
|
msleep(20);
|
|
|
|
dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1);
|
|
|
|
|
|
|
|
- if (request_firmware(&state->frontend_firmware, "dib9090.fw", &adap->dev->udev->dev)) {
|
|
|
|
- deb_info("%s: Upload failed. (file not found?)\n", __func__);
|
|
|
|
+ if (request_firmware(&state->frontend_firmware, "dib9090.fw", &adap->dev->udev->dev))
|
|
|
|
return -EIO;
|
|
|
|
- } else {
|
2017-04-19 09:30:57 +00:00
|
|
|
- deb_info("%s: firmware read %zu bytes.\n", __func__, state->frontend_firmware->size);
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
2017-04-19 09:30:57 +00:00
|
|
|
+ deb_info("%s: firmware read %zu bytes.\n", __func__, state->frontend_firmware->size);
|
2012-12-09 17:13:28 +00:00
|
|
|
nim9090md_config[0].microcode_B_fe_size = state->frontend_firmware->size;
|
|
|
|
nim9090md_config[0].microcode_B_fe_buffer = state->frontend_firmware->data;
|
|
|
|
nim9090md_config[1].microcode_B_fe_size = state->frontend_firmware->size;
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
|
|
|
|
+++ b/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -88,13 +88,9 @@ int dvb_usb_download_firmware(struct usb
|
2012-12-09 17:13:28 +00:00
|
|
|
int ret;
|
|
|
|
const struct firmware *fw = NULL;
|
|
|
|
|
|
|
|
- if ((ret = request_firmware(&fw, props->firmware, &udev->dev)) != 0) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- err("did not find the firmware file. (%s) Please see linux/Documentation/dvb/ for more details on firmware-problems. (%d)",
|
2012-12-09 17:13:28 +00:00
|
|
|
- props->firmware,ret);
|
|
|
|
+ ret = request_firmware(&fw, props->firmware, &udev->dev);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- info("downloading firmware from file '%s'",props->firmware);
|
|
|
|
|
|
|
|
switch (props->usb_ctrl) {
|
|
|
|
case CYPRESS_AN2135:
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/usb/dvb-usb/gp8psk.c
|
|
|
|
+++ b/drivers/media/usb/dvb-usb/gp8psk.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -134,19 +134,14 @@ static int gp8psk_load_bcm4500fw(struct
|
2012-12-09 17:13:28 +00:00
|
|
|
const u8 *ptr;
|
|
|
|
u8 *buf;
|
|
|
|
if ((ret = request_firmware(&fw, bcm4500_firmware,
|
|
|
|
- &d->udev->dev)) != 0) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- err("did not find the bcm4500 firmware file. (%s) Please see linux/Documentation/dvb/ for more details on firmware-problems. (%d)",
|
2012-12-09 17:13:28 +00:00
|
|
|
- bcm4500_firmware,ret);
|
|
|
|
+ &d->udev->dev)) != 0)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ret = -EINVAL;
|
|
|
|
|
|
|
|
if (gp8psk_usb_out_op(d, LOAD_BCM4500,1,0,NULL, 0))
|
|
|
|
goto out_rel_fw;
|
|
|
|
|
|
|
|
- info("downloading bcm4500 firmware from file '%s'",bcm4500_firmware);
|
|
|
|
-
|
|
|
|
ptr = fw->data;
|
|
|
|
buf = kmalloc(64, GFP_KERNEL | GFP_DMA);
|
|
|
|
if (!buf) {
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/usb/dvb-usb/opera1.c
|
|
|
|
+++ b/drivers/media/usb/dvb-usb/opera1.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -453,8 +453,6 @@ static int opera1_xilinx_load_firmware(s
|
2012-12-09 17:13:28 +00:00
|
|
|
info("start downloading fpga firmware %s",filename);
|
|
|
|
|
|
|
|
if ((ret = request_firmware(&fw, filename, &dev->dev)) != 0) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- err("did not find the firmware file. (%s) Please see linux/Documentation/dvb/ for more details on firmware-problems.",
|
2012-12-09 17:13:28 +00:00
|
|
|
- filename);
|
|
|
|
return ret;
|
|
|
|
} else {
|
|
|
|
p = kmalloc(fw->size, GFP_KERNEL);
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/af9013.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/af9013.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1376,16 +1376,8 @@ static int af9013_download_firmware(stru
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
/* request the firmware, this will block and timeout */
|
|
|
|
ret = request_firmware(&fw, fw_file, state->i2c->dev.parent);
|
|
|
|
- if (ret) {
|
2012-12-16 15:20:29 +00:00
|
|
|
- dev_info(&state->i2c->dev, "%s: did not find the firmware " \
|
|
|
|
- "file. (%s) Please see linux/Documentation/dvb/ for " \
|
|
|
|
- "more details on firmware-problems. (%d)\n",
|
|
|
|
- KBUILD_MODNAME, fw_file, ret);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
2012-12-10 04:06:21 +00:00
|
|
|
goto err;
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
|
|
|
-
|
2012-12-16 15:20:29 +00:00
|
|
|
- dev_info(&state->i2c->dev, "%s: downloading firmware from file '%s'\n",
|
|
|
|
- KBUILD_MODNAME, fw_file);
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
/* calc checksum */
|
|
|
|
for (i = 0; i < fw->size; i++)
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/bcm3510.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/bcm3510.c
|
2013-12-21 18:20:34 +00:00
|
|
|
@@ -635,10 +635,9 @@ static int bcm3510_download_firmware(str
|
2012-12-09 17:13:28 +00:00
|
|
|
int ret,i;
|
|
|
|
|
|
|
|
deb_info("requesting firmware\n");
|
|
|
|
- if ((ret = st->config->request_firmware(fe, &fw, BCM3510_DEFAULT_FIRMWARE)) < 0) {
|
|
|
|
- err("could not load firmware (%s): %d",BCM3510_DEFAULT_FIRMWARE,ret);
|
|
|
|
+ ret = st->config->request_firmware(fe, &fw, BCM3510_DEFAULT_FIRMWARE);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
2014-12-09 03:06:08 +00:00
|
|
|
deb_info("got firmware: %zu\n", fw->size);
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
b = fw->data;
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/cx24116.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/cx24116.c
|
2015-08-04 01:30:23 +00:00
|
|
|
@@ -495,13 +495,8 @@ static int cx24116_firmware_ondemand(str
|
2012-12-09 17:13:28 +00:00
|
|
|
__func__, CX24116_DEFAULT_FIRMWARE);
|
|
|
|
ret = request_firmware(&fw, CX24116_DEFAULT_FIRMWARE,
|
|
|
|
state->i2c->dev.parent);
|
|
|
|
- printk(KERN_INFO "%s: Waiting for firmware upload(2)...\n",
|
|
|
|
- __func__);
|
|
|
|
- if (ret) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- printk(KERN_ERR "%s: No firmware uploaded (timeout or file not found?)\n",
|
|
|
|
- __func__);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* Make sure we don't recurse back through here
|
|
|
|
* during loading */
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/drxd_hard.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/drxd_hard.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -901,10 +901,8 @@ static int load_firmware(struct drxd_sta
|
2012-12-09 17:13:28 +00:00
|
|
|
{
|
|
|
|
const struct firmware *fw;
|
|
|
|
|
|
|
|
- if (request_firmware(&fw, fw_name, state->dev) < 0) {
|
|
|
|
- printk(KERN_ERR "drxd: firmware load failure [%s]\n", fw_name);
|
|
|
|
+ if (request_firmware(&fw, fw_name, state->dev))
|
|
|
|
return -EIO;
|
|
|
|
- }
|
|
|
|
|
2012-12-10 04:06:21 +00:00
|
|
|
state->microcode = kmemdup(fw->data, fw->size, GFP_KERNEL);
|
2012-12-09 17:13:28 +00:00
|
|
|
if (state->microcode == NULL) {
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/drxk_hard.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/drxk_hard.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -6280,10 +6280,6 @@ static void load_firmware_cb(const struc
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2012-12-10 04:06:21 +00:00
|
|
|
dprintk(1, ": %s\n", fw ? "firmware loaded" : "firmware not loaded");
|
|
|
|
if (!fw) {
|
2013-07-22 04:06:03 +00:00
|
|
|
- pr_err("Could not load firmware file %s.\n",
|
2012-12-10 04:06:21 +00:00
|
|
|
- state->microcode_name);
|
2013-07-22 04:06:03 +00:00
|
|
|
- pr_info("Copy %s to your hotplug directory!\n",
|
2012-12-10 04:06:21 +00:00
|
|
|
- state->microcode_name);
|
|
|
|
state->microcode_name = NULL;
|
|
|
|
|
|
|
|
/*
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/ds3000.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/ds3000.c
|
2013-05-06 21:53:29 +00:00
|
|
|
@@ -362,12 +362,8 @@ static int ds3000_firmware_ondemand(stru
|
2012-12-09 17:13:28 +00:00
|
|
|
DS3000_DEFAULT_FIRMWARE);
|
|
|
|
ret = request_firmware(&fw, DS3000_DEFAULT_FIRMWARE,
|
|
|
|
state->i2c->dev.parent);
|
|
|
|
- printk(KERN_INFO "%s: Waiting for firmware upload(2)...\n", __func__);
|
|
|
|
- if (ret) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- printk(KERN_ERR "%s: No firmware uploaded (timeout or file not found?)\n",
|
|
|
|
- __func__);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
2013-02-19 06:36:33 +00:00
|
|
|
ret = ds3000_load_firmware(fe, fw);
|
|
|
|
if (ret)
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/nxt200x.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/nxt200x.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -886,12 +886,8 @@ static int nxt2002_init(struct dvb_front
|
2012-12-16 15:20:29 +00:00
|
|
|
__func__, NXT2002_DEFAULT_FIRMWARE);
|
2012-12-09 17:13:28 +00:00
|
|
|
ret = request_firmware(&fw, NXT2002_DEFAULT_FIRMWARE,
|
|
|
|
state->i2c->dev.parent);
|
2012-12-16 15:20:29 +00:00
|
|
|
- pr_debug("%s: Waiting for firmware upload(2)...\n", __func__);
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (ret) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- pr_err("%s: No firmware uploaded (timeout or file not found?)\n",
|
|
|
|
- __func__);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ret = nxt2002_load_firmware(fe, fw);
|
|
|
|
release_firmware(fw);
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -953,12 +949,8 @@ static int nxt2004_init(struct dvb_front
|
2012-12-16 15:20:29 +00:00
|
|
|
__func__, NXT2004_DEFAULT_FIRMWARE);
|
2012-12-09 17:13:28 +00:00
|
|
|
ret = request_firmware(&fw, NXT2004_DEFAULT_FIRMWARE,
|
|
|
|
state->i2c->dev.parent);
|
2012-12-16 15:20:29 +00:00
|
|
|
- pr_debug("%s: Waiting for firmware upload(2)...\n", __func__);
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (ret) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- pr_err("%s: No firmware uploaded (timeout or file not found?)\n",
|
|
|
|
- __func__);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ret = nxt2004_load_firmware(fe, fw);
|
|
|
|
release_firmware(fw);
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/or51132.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/or51132.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -337,10 +337,8 @@ static int or51132_set_parameters(struct
|
2012-12-09 17:13:28 +00:00
|
|
|
printk("or51132: Waiting for firmware upload(%s)...\n",
|
|
|
|
fwname);
|
|
|
|
ret = request_firmware(&fw, fwname, state->i2c->dev.parent);
|
|
|
|
- if (ret) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- printk(KERN_WARNING "or51132: No firmware uploaded(timeout or file not found?)\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
ret = or51132_load_firmware(fe, fw);
|
|
|
|
release_firmware(fw);
|
|
|
|
if (ret) {
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/or51211.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/or51211.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -371,11 +371,8 @@ static int or51211_init(struct dvb_front
|
2013-05-06 21:53:29 +00:00
|
|
|
OR51211_DEFAULT_FIRMWARE);
|
2012-12-09 17:13:28 +00:00
|
|
|
ret = config->request_firmware(fe, &fw,
|
|
|
|
OR51211_DEFAULT_FIRMWARE);
|
2013-05-06 21:53:29 +00:00
|
|
|
- pr_info("Got Hotplug firmware\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (ret) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- pr_warn("No firmware uploaded (timeout or file not found?)\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ret = or51211_load_firmware(fe, fw);
|
|
|
|
release_firmware(fw);
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/sp8870.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/sp8870.c
|
2012-12-09 17:13:28 +00:00
|
|
|
@@ -315,10 +315,8 @@ static int sp8870_init (struct dvb_front
|
|
|
|
|
|
|
|
/* request the firmware, this will block until someone uploads it */
|
|
|
|
printk("sp8870: waiting for firmware upload (%s)...\n", SP8870_DEFAULT_FIRMWARE);
|
|
|
|
- if (state->config->request_firmware(fe, &fw, SP8870_DEFAULT_FIRMWARE)) {
|
|
|
|
- printk("sp8870: no firmware upload (timeout or file not found?)\n");
|
|
|
|
+ if (state->config->request_firmware(fe, &fw, SP8870_DEFAULT_FIRMWARE))
|
|
|
|
return -EIO;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (sp8870_firmware_upload(state, fw)) {
|
|
|
|
printk("sp8870: writing firmware to device failed\n");
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/sp887x.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/sp887x.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -526,10 +526,8 @@ static int sp887x_init(struct dvb_fronte
|
2012-12-09 17:13:28 +00:00
|
|
|
/* request the firmware, this will block until someone uploads it */
|
|
|
|
printk("sp887x: waiting for firmware upload (%s)...\n", SP887X_DEFAULT_FIRMWARE);
|
|
|
|
ret = state->config->request_firmware(fe, &fw, SP887X_DEFAULT_FIRMWARE);
|
|
|
|
- if (ret) {
|
|
|
|
- printk("sp887x: no firmware upload (timeout or file not found?)\n");
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ret = sp887x_initial_setup(fe, fw);
|
|
|
|
release_firmware(fw);
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/tda10048.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/tda10048.c
|
2012-12-10 04:06:21 +00:00
|
|
|
@@ -495,8 +495,6 @@ static int tda10048_firmware_upload(stru
|
2012-12-09 17:13:28 +00:00
|
|
|
ret = request_firmware(&fw, TDA10048_DEFAULT_FIRMWARE,
|
|
|
|
state->i2c->dev.parent);
|
|
|
|
if (ret) {
|
|
|
|
- printk(KERN_ERR "%s: Upload failed. (file not found?)\n",
|
|
|
|
- __func__);
|
|
|
|
return -EIO;
|
|
|
|
} else {
|
2017-04-19 09:30:57 +00:00
|
|
|
printk(KERN_INFO "%s: firmware read %zu bytes.\n",
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/tda1004x.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/tda1004x.c
|
|
|
|
@@ -401,10 +401,8 @@ static int tda10045_fwupload(struct dvb_
|
2012-12-09 17:13:28 +00:00
|
|
|
/* request the firmware, this will block until someone uploads it */
|
|
|
|
printk(KERN_INFO "tda1004x: waiting for firmware upload (%s)...\n", TDA10045_DEFAULT_FIRMWARE);
|
|
|
|
ret = state->config->request_firmware(fe, &fw, TDA10045_DEFAULT_FIRMWARE);
|
|
|
|
- if (ret) {
|
|
|
|
- printk(KERN_ERR "tda1004x: no firmware upload (timeout or file not found?)\n");
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* reset chip */
|
|
|
|
tda1004x_write_mask(state, TDA1004X_CONFC4, 0x10, 0);
|
2012-12-16 15:20:29 +00:00
|
|
|
@@ -545,7 +543,6 @@ static int tda10046_fwupload(struct dvb_
|
2012-12-09 17:13:28 +00:00
|
|
|
/* remain compatible to old bug: try to load with tda10045 image name */
|
|
|
|
ret = state->config->request_firmware(fe, &fw, TDA10045_DEFAULT_FIRMWARE);
|
|
|
|
if (ret) {
|
|
|
|
- printk(KERN_ERR "tda1004x: no firmware upload (timeout or file not found?)\n");
|
|
|
|
return ret;
|
|
|
|
} else {
|
|
|
|
printk(KERN_INFO "tda1004x: please rename the firmware file to %s\n",
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/dvb-frontends/tda10071.c
|
|
|
|
+++ b/drivers/media/dvb-frontends/tda10071.c
|
2015-09-26 16:23:14 +00:00
|
|
|
@@ -850,12 +850,8 @@ static int tda10071_init(struct dvb_fron
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
/* request the firmware, this will block and timeout */
|
2015-09-26 16:23:14 +00:00
|
|
|
ret = request_firmware(&fw, fw_file, &client->dev);
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (ret) {
|
2015-09-26 16:23:14 +00:00
|
|
|
- dev_err(&client->dev,
|
|
|
|
- "did not find the firmware file. (%s) Please see linux/Documentation/dvb/ for more details on firmware-problems. (%d)\n",
|
|
|
|
- fw_file, ret);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
goto error;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* init */
|
|
|
|
for (i = 0; i < ARRAY_SIZE(tab2); i++) {
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/ngene/ngene-core.c
|
|
|
|
+++ b/drivers/media/pci/ngene/ngene-core.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1256,13 +1256,8 @@ static int ngene_load_firm(struct ngene
|
2012-12-09 17:13:28 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
- if (request_firmware(&fw, fw_name, &dev->pci_dev->dev) < 0) {
|
|
|
|
- printk(KERN_ERR DEVICE_NAME
|
|
|
|
- ": Could not load firmware file %s.\n", fw_name);
|
|
|
|
- printk(KERN_INFO DEVICE_NAME
|
|
|
|
- ": Copy %s to your hotplug directory!\n", fw_name);
|
|
|
|
+ if (request_firmware(&fw, fw_name, &dev->pci_dev->dev))
|
|
|
|
return -1;
|
|
|
|
- }
|
|
|
|
if (size == 0)
|
|
|
|
size = fw->size;
|
|
|
|
if (size != fw->size) {
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1270,8 +1265,6 @@ static int ngene_load_firm(struct ngene
|
2012-12-09 17:13:28 +00:00
|
|
|
": Firmware %s has invalid size!", fw_name);
|
|
|
|
err = -1;
|
|
|
|
} else {
|
|
|
|
- printk(KERN_INFO DEVICE_NAME
|
|
|
|
- ": Loading firmware file %s.\n", fw_name);
|
|
|
|
ngene_fw = (u8 *) fw->data;
|
|
|
|
err = ngene_command_load_firmware(dev, ngene_fw, size);
|
|
|
|
}
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/common/siano/smscoreapi.c
|
|
|
|
+++ b/drivers/media/common/siano/smscoreapi.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1158,10 +1158,8 @@ static int smscore_load_firmware_from_fi
|
2012-12-09 17:13:28 +00:00
|
|
|
return -EINVAL;
|
|
|
|
|
2013-06-02 18:14:09 +00:00
|
|
|
rc = request_firmware(&fw, fw_filename, coredev->device);
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (rc < 0) {
|
2015-05-11 16:39:41 +00:00
|
|
|
- pr_err("failed to open firmware file '%s'\n", fw_filename);
|
2016-04-14 13:59:13 +00:00
|
|
|
+ if (rc < 0)
|
2012-12-09 17:13:28 +00:00
|
|
|
return rc;
|
|
|
|
- }
|
2015-05-11 16:39:41 +00:00
|
|
|
pr_debug("read fw %s, buffer size=0x%zx\n", fw_filename, fw->size);
|
2016-04-14 13:59:13 +00:00
|
|
|
fw_buf = kmalloc(ALIGN(fw->size + sizeof(struct sms_firmware),
|
|
|
|
SMS_ALLOC_ALIGNMENT), GFP_KERNEL | GFP_DMA);
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/ttpci/av7110.c
|
|
|
|
+++ b/drivers/media/pci/ttpci/av7110.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1510,13 +1510,8 @@ static int get_firmware(struct av7110* a
|
2012-12-09 17:13:28 +00:00
|
|
|
/* request the av7110 firmware, this will block until someone uploads it */
|
|
|
|
ret = request_firmware(&fw, "dvb-ttpci-01.fw", &av7110->dev->pci->dev);
|
|
|
|
if (ret) {
|
|
|
|
- if (ret == -ENOENT) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- printk(KERN_ERR "dvb-ttpci: could not load firmware, file not found: dvb-ttpci-01.fw\n");
|
|
|
|
- printk(KERN_ERR "dvb-ttpci: usually this should be in /usr/lib/hotplug/firmware or /lib/firmware\n");
|
|
|
|
- printk(KERN_ERR "dvb-ttpci: and can be downloaded from https://linuxtv.org/download/dvb/firmware/\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
- } else
|
2017-01-24 19:25:08 +00:00
|
|
|
- printk(KERN_ERR "dvb-ttpci: cannot request firmware (error %i)\n",
|
|
|
|
- ret);
|
|
|
|
+ if (ret == -ENOENT)
|
|
|
|
+ printk(KERN_ERR "dvb-ttpci: firmware can be downloaded from https://linuxtv.org/download/dvb/firmware/\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
return -EINVAL;
|
|
|
|
}
|
|
|
|
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/ttpci/av7110_hw.c
|
|
|
|
+++ b/drivers/media/pci/ttpci/av7110_hw.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -247,11 +247,8 @@ int av7110_bootarm(struct av7110 *av7110
|
2012-12-09 17:13:28 +00:00
|
|
|
//saa7146_setgpio(dev, 3, SAA7146_GPIO_INPUT);
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, fw_name, &dev->pci->dev);
|
|
|
|
- if (ret) {
|
|
|
|
- printk(KERN_ERR "dvb-ttpci: Failed to load firmware \"%s\"\n",
|
|
|
|
- fw_name);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
mwdebi(av7110, DEBISWAB, DPRAM_BASE, fw->data, fw->size);
|
|
|
|
release_firmware(fw);
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
|
|
|
|
+++ b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
|
2012-12-09 17:13:28 +00:00
|
|
|
@@ -296,10 +296,8 @@ static int ttusb_boot_dsp(struct ttusb *
|
|
|
|
|
|
|
|
err = request_firmware(&fw, "ttusb-budget/dspbootcode.bin",
|
|
|
|
&ttusb->dev->dev);
|
|
|
|
- if (err) {
|
|
|
|
- printk(KERN_ERR "ttusb-budget: failed to request firmware\n");
|
|
|
|
+ if (err)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* BootBlock */
|
|
|
|
b[0] = 0xaa;
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/usb/ttusb-dec/ttusb_dec.c
|
|
|
|
+++ b/drivers/media/usb/ttusb-dec/ttusb_dec.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1344,11 +1344,8 @@ static int ttusb_dec_boot_dsp(struct ttu
|
2012-12-09 17:13:28 +00:00
|
|
|
dprintk("%s\n", __func__);
|
|
|
|
|
2013-12-21 18:20:34 +00:00
|
|
|
result = request_firmware(&fw_entry, dec->firmware_name, &dec->udev->dev);
|
|
|
|
- if (result) {
|
2012-12-09 17:13:28 +00:00
|
|
|
- printk(KERN_ERR "%s: Firmware (%s) unavailable.\n",
|
|
|
|
- __func__, dec->firmware_name);
|
2013-12-21 18:20:34 +00:00
|
|
|
+ if (result)
|
|
|
|
return result;
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
|
|
|
|
|
|
|
firmware = fw_entry->data;
|
|
|
|
firmware_size = fw_entry->size;
|
|
|
|
--- a/drivers/media/radio/radio-wl1273.c
|
|
|
|
+++ b/drivers/media/radio/radio-wl1273.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -510,11 +510,8 @@ static int wl1273_fm_upload_firmware_pat
|
2012-12-09 17:13:28 +00:00
|
|
|
* Uploading the firmware patch is not always necessary,
|
|
|
|
* so we only print an info message.
|
|
|
|
*/
|
|
|
|
- if (request_firmware(&fw_p, fw_name, dev)) {
|
|
|
|
- dev_info(dev, "%s - %s not found\n", __func__, fw_name);
|
|
|
|
-
|
|
|
|
+ if (request_firmware(&fw_p, fw_name, dev))
|
|
|
|
return 0;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ptr = (__u8 *) fw_p->data;
|
|
|
|
packet_num = ptr[0];
|
|
|
|
--- a/drivers/media/radio/wl128x/fmdrv_common.c
|
|
|
|
+++ b/drivers/media/radio/wl128x/fmdrv_common.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1242,10 +1242,8 @@ static int fm_download_firmware(struct f
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
ret = request_firmware(&fw_entry, fw_name,
|
|
|
|
&fmdev->radio_dev->dev);
|
|
|
|
- if (ret < 0) {
|
|
|
|
- fmerr("Unable to read firmware(%s) content\n", fw_name);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
2014-12-09 03:06:08 +00:00
|
|
|
fmdbg("Firmware(%s) length : %zu bytes\n", fw_name, fw_entry->size);
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
fw_data = (void *)fw_entry->data;
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/bt8xx/bttv-cards.c
|
|
|
|
+++ b/drivers/media/pci/bt8xx/bttv-cards.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -3909,10 +3909,8 @@ static int pvr_boot(struct bttv *btv)
|
2012-12-09 17:13:28 +00:00
|
|
|
int rc;
|
|
|
|
|
|
|
|
rc = request_firmware(&fw_entry, "hcwamc.rbf", &btv->c.pci->dev);
|
|
|
|
- if (rc != 0) {
|
|
|
|
- pr_warn("%d: no altera firmware [via hotplug]\n", btv->c.nr);
|
|
|
|
+ if (rc != 0)
|
|
|
|
return rc;
|
|
|
|
- }
|
|
|
|
rc = pvr_altera_load(btv, fw_entry->data, fw_entry->size);
|
|
|
|
pr_info("%d: altera firmware upload %s\n",
|
|
|
|
btv->c.nr, (rc < 0) ? "failed" : "ok");
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/usb/cpia2/cpia2_core.c
|
|
|
|
+++ b/drivers/media/usb/cpia2/cpia2_core.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -904,11 +904,8 @@ static int apply_vp_patch(struct camera_
|
2012-12-09 17:13:28 +00:00
|
|
|
struct cpia2_command cmd;
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, fw_name, &cam->dev->dev);
|
|
|
|
- if (ret) {
|
|
|
|
- printk(KERN_ERR "cpia2: failed to load VP patch \"%s\"\n",
|
|
|
|
- fw_name);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
cmd.req_mode = CAMERAACCESS_TYPE_REPEAT | CAMERAACCESS_VP;
|
|
|
|
cmd.direction = TRANSFER_WRITE;
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/cx18/cx18-av-firmware.c
|
|
|
|
+++ b/drivers/media/pci/cx18/cx18-av-firmware.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -79,10 +79,8 @@ int cx18_av_loadfw(struct cx18 *cx)
|
2012-12-09 17:13:28 +00:00
|
|
|
int i;
|
|
|
|
int retries1 = 0;
|
|
|
|
|
|
|
|
- if (request_firmware(&fw, FWFILE, &cx->pci_dev->dev) != 0) {
|
|
|
|
- CX18_ERR_DEV(sd, "unable to open firmware %s\n", FWFILE);
|
|
|
|
+ if (request_firmware(&fw, FWFILE, &cx->pci_dev->dev) != 0)
|
|
|
|
return -EINVAL;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* The firmware load often has byte errors, so allow for several
|
|
|
|
retries, both at byte level and at the firmware load level. */
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/cx18/cx18-dvb.c
|
|
|
|
+++ b/drivers/media/pci/cx18/cx18-dvb.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -137,9 +137,7 @@ static int yuan_mpc718_mt352_reqfw(struc
|
2012-12-09 17:13:28 +00:00
|
|
|
int ret;
|
|
|
|
|
|
|
|
ret = request_firmware(fw, fn, &cx->pci_dev->dev);
|
|
|
|
- if (ret)
|
|
|
|
- CX18_ERR("Unable to open firmware file %s\n", fn);
|
|
|
|
- else {
|
|
|
|
+ if (!ret) {
|
|
|
|
size_t sz = (*fw)->size;
|
|
|
|
if (sz < 2 || sz > 64 || (sz % 2) != 0) {
|
|
|
|
CX18_ERR("Firmware %s has a bad size: %lu bytes\n",
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/cx18/cx18-firmware.c
|
|
|
|
+++ b/drivers/media/pci/cx18/cx18-firmware.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -101,11 +101,8 @@ static int load_cpu_fw_direct(const char
|
2012-12-09 17:13:28 +00:00
|
|
|
u32 __iomem *dst = (u32 __iomem *)mem;
|
|
|
|
const u32 *src;
|
|
|
|
|
|
|
|
- if (request_firmware(&fw, fn, &cx->pci_dev->dev)) {
|
|
|
|
- CX18_ERR("Unable to open firmware %s\n", fn);
|
|
|
|
- CX18_ERR("Did you put the firmware in the hotplug firmware directory?\n");
|
|
|
|
+ if (request_firmware(&fw, fn, &cx->pci_dev->dev))
|
|
|
|
return -ENOMEM;
|
|
|
|
- }
|
|
|
|
|
|
|
|
src = (const u32 *)fw->data;
|
|
|
|
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -146,8 +143,6 @@ static int load_apu_fw_direct(const char
|
2012-12-09 17:13:28 +00:00
|
|
|
int sz;
|
|
|
|
|
|
|
|
if (request_firmware(&fw, fn, &cx->pci_dev->dev)) {
|
|
|
|
- CX18_ERR("unable to open firmware %s\n", fn);
|
|
|
|
- CX18_ERR("did you put the firmware in the hotplug firmware directory?\n");
|
|
|
|
cx18_setup_page(cx, 0);
|
|
|
|
return -ENOMEM;
|
|
|
|
}
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/usb/cx231xx/cx231xx-417.c
|
|
|
|
+++ b/drivers/media/usb/cx231xx/cx231xx-417.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -995,11 +995,6 @@ static int cx231xx_load_firmware(struct
|
2015-02-08 19:05:12 +00:00
|
|
|
dev->dev);
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2016-06-09 00:55:39 +00:00
|
|
|
if (retval != 0) {
|
2015-02-08 19:05:12 +00:00
|
|
|
- dev_err(dev->dev,
|
|
|
|
- "ERROR: Hotplug firmware request failed (%s).\n",
|
2012-12-09 17:13:28 +00:00
|
|
|
- CX231xx_FIRM_IMAGE_NAME);
|
2015-02-08 19:05:12 +00:00
|
|
|
- dev_err(dev->dev,
|
|
|
|
- "Please fix your hotplug setup, the board will not work without firmware loaded!\n");
|
2016-06-09 00:55:39 +00:00
|
|
|
vfree(p_current_fw);
|
|
|
|
vfree(p_buffer);
|
|
|
|
return retval;
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/cx23885/cx23885-417.c
|
|
|
|
+++ b/drivers/media/pci/cx23885/cx23885-417.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -929,12 +929,8 @@ static int cx23885_load_firmware(struct
|
2012-12-09 17:13:28 +00:00
|
|
|
retval = request_firmware(&firmware, CX23885_FIRM_IMAGE_NAME,
|
|
|
|
&dev->pci->dev);
|
|
|
|
|
|
|
|
- if (retval != 0) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- pr_err("ERROR: Hotplug firmware request failed (%s).\n",
|
|
|
|
- CX23885_FIRM_IMAGE_NAME);
|
|
|
|
- pr_err("Please fix your hotplug setup, the board will not work without firmware loaded!\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (retval != 0)
|
|
|
|
return -1;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (firmware->size != CX23885_FIRM_IMAGE_SIZE) {
|
2017-01-24 19:25:08 +00:00
|
|
|
pr_err("ERROR: Firmware size mismatch (have %zu, expected %d)\n",
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/cx23885/cx23885-cards.c
|
|
|
|
+++ b/drivers/media/pci/cx23885/cx23885-cards.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -2339,10 +2339,7 @@ void cx23885_card_setup(struct cx23885_d
|
|
|
|
cinfo.rev, filename);
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
ret = request_firmware(&fw, filename, &dev->pci->dev);
|
|
|
|
- if (ret != 0)
|
2017-01-24 19:25:08 +00:00
|
|
|
- pr_err("did not find the firmware file. (%s) Please see linux/Documentation/dvb/ for more details on firmware-problems.",
|
|
|
|
- filename);
|
2012-12-09 17:13:28 +00:00
|
|
|
- else
|
|
|
|
+ if (ret == 0)
|
|
|
|
altera_init(&netup_config, fw);
|
|
|
|
|
|
|
|
release_firmware(fw);
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/i2c/cx25840/cx25840-firmware.c
|
|
|
|
+++ b/drivers/media/i2c/cx25840/cx25840-firmware.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -122,10 +122,8 @@ int cx25840_loadfw(struct i2c_client *cl
|
2015-02-08 19:05:12 +00:00
|
|
|
if (is_cx231xx(state) && max_buf_size > 16)
|
|
|
|
max_buf_size = 16;
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
- if (request_firmware(&fw, fwname, FWDEV(client)) != 0) {
|
|
|
|
- v4l_err(client, "unable to open firmware %s\n", fwname);
|
|
|
|
+ if (request_firmware(&fw, fwname, FWDEV(client)) != 0)
|
|
|
|
return -EINVAL;
|
|
|
|
- }
|
|
|
|
|
|
|
|
start_fw_load(client);
|
|
|
|
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/cx88/cx88-blackbird.c
|
|
|
|
+++ b/drivers/media/pci/cx88/cx88-blackbird.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -471,12 +471,8 @@ static int blackbird_load_firmware(struc
|
|
|
|
retval = request_firmware(&firmware, CX2341X_FIRM_ENC_FILENAME,
|
2012-12-09 17:13:28 +00:00
|
|
|
&dev->pci->dev);
|
|
|
|
|
|
|
|
- if (retval != 0) {
|
2015-02-08 19:05:12 +00:00
|
|
|
- pr_err("Hotplug firmware request failed (%s).\n",
|
2017-01-24 19:25:08 +00:00
|
|
|
- CX2341X_FIRM_ENC_FILENAME);
|
2015-02-08 19:05:12 +00:00
|
|
|
- pr_err("Please fix your hotplug setup, the board will not work without firmware loaded!\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (retval != 0)
|
2015-02-08 19:05:12 +00:00
|
|
|
return -EIO;
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
|
|
|
|
|
|
|
if (firmware->size != BLACKBIRD_FIRM_IMAGE_SIZE) {
|
2015-02-08 19:05:12 +00:00
|
|
|
pr_err("Firmware size mismatch (have %zd, expected %d)\n",
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/usb/gspca/vicam.c
|
|
|
|
+++ b/drivers/media/usb/gspca/vicam.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -239,10 +239,8 @@ static int sd_init(struct gspca_dev *gsp
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2012-12-10 04:06:21 +00:00
|
|
|
ret = request_ihex_firmware(&fw, VICAM_FIRMWARE,
|
2012-12-09 17:13:28 +00:00
|
|
|
&gspca_dev->dev->dev);
|
|
|
|
- if (ret) {
|
|
|
|
- pr_err("Failed to load \"vicam/firmware.fw\": %d\n", ret);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
firmware_buf = kmalloc(PAGE_SIZE, GFP_KERNEL);
|
|
|
|
if (!firmware_buf) {
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/ivtv/ivtv-firmware.c
|
|
|
|
+++ b/drivers/media/pci/ivtv/ivtv-firmware.c
|
2012-12-09 17:13:28 +00:00
|
|
|
@@ -80,8 +80,6 @@ retry:
|
|
|
|
release_firmware(fw);
|
|
|
|
return size;
|
|
|
|
}
|
|
|
|
- IVTV_ERR("Unable to open firmware %s (must be %ld bytes)\n", fn, size);
|
|
|
|
- IVTV_ERR("Did you put the firmware in the hotplug firmware directory?\n");
|
|
|
|
return -ENOMEM;
|
|
|
|
}
|
|
|
|
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
|
|
|
|
+++ b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1377,25 +1377,6 @@ static int pvr2_locate_firmware(struct p
|
2012-12-09 17:13:28 +00:00
|
|
|
"request_firmware fatal error with code=%d",ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
- pvr2_trace(PVR2_TRACE_ERROR_LEGS,
|
2017-01-24 19:25:08 +00:00
|
|
|
- "***WARNING*** Device %s firmware seems to be missing.",
|
2012-12-09 17:13:28 +00:00
|
|
|
- fwtypename);
|
|
|
|
- pvr2_trace(PVR2_TRACE_ERROR_LEGS,
|
2017-01-24 19:25:08 +00:00
|
|
|
- "Did you install the pvrusb2 firmware files in their proper location?");
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (fwcount == 1) {
|
|
|
|
- pvr2_trace(PVR2_TRACE_ERROR_LEGS,
|
|
|
|
- "request_firmware unable to locate %s file %s",
|
|
|
|
- fwtypename,fwnames[0]);
|
|
|
|
- } else {
|
|
|
|
- pvr2_trace(PVR2_TRACE_ERROR_LEGS,
|
2017-01-24 19:25:08 +00:00
|
|
|
- "request_firmware unable to locate one of the following %s files:",
|
2012-12-09 17:13:28 +00:00
|
|
|
- fwtypename);
|
|
|
|
- for (idx = 0; idx < fwcount; idx++) {
|
|
|
|
- pvr2_trace(PVR2_TRACE_ERROR_LEGS,
|
|
|
|
- "request_firmware: Failed to find %s",
|
|
|
|
- fwnames[idx]);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/usb/s2255/s2255drv.c
|
|
|
|
+++ b/drivers/media/usb/s2255/s2255drv.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -2304,10 +2304,8 @@ static int s2255_probe(struct usb_interf
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
/* load the first chunk */
|
|
|
|
if (request_firmware(&dev->fw_data->fw,
|
|
|
|
- FIRMWARE_FILE_NAME, &dev->udev->dev)) {
|
2014-05-02 01:45:17 +00:00
|
|
|
- dev_err(&interface->dev, "sensoray 2255 failed to get firmware\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
+ FIRMWARE_FILE_NAME, &dev->udev->dev))
|
|
|
|
goto errorREQFW;
|
|
|
|
- }
|
|
|
|
/* check the firmware is valid */
|
|
|
|
fw_size = dev->fw_data->fw->size;
|
|
|
|
pdata = (__le32 *) &dev->fw_data->fw->data[fw_size - 8];
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c
|
|
|
|
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c
|
2014-12-09 03:06:08 +00:00
|
|
|
@@ -95,10 +95,8 @@ int s5p_mfc_load_firmware(struct s5p_mfc
|
2014-09-13 06:23:27 +00:00
|
|
|
}
|
|
|
|
}
|
2012-12-16 15:20:29 +00:00
|
|
|
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (err != 0) {
|
|
|
|
- mfc_err("Firmware is not present in the /lib/firmware directory nor compiled in kernel\n");
|
|
|
|
+ if (err != 0)
|
|
|
|
return -EINVAL;
|
|
|
|
- }
|
|
|
|
if (fw_blob->size > dev->fw_size) {
|
|
|
|
mfc_err("MFC firmware is too big to be loaded\n");
|
|
|
|
release_firmware(fw_blob);
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/media/pci/saa7164/saa7164-fw.c
|
|
|
|
+++ b/drivers/media/pci/saa7164/saa7164-fw.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -416,11 +416,8 @@ int saa7164_downloadfirmware(struct saa7
|
2012-12-09 17:13:28 +00:00
|
|
|
__func__, fwname);
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, fwname, &dev->pci->dev);
|
|
|
|
- if (ret) {
|
2017-01-24 19:25:08 +00:00
|
|
|
- printk(KERN_ERR "%s() Upload failed. (file not found?)\n",
|
|
|
|
- __func__);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
return -ENOMEM;
|
|
|
|
- }
|
|
|
|
|
2017-04-19 09:30:57 +00:00
|
|
|
printk(KERN_INFO "%s() firmware read %zu bytes.\n",
|
2012-12-09 17:13:28 +00:00
|
|
|
__func__, fw->size);
|
|
|
|
--- a/drivers/misc/ti-st/st_kim.c
|
|
|
|
+++ b/drivers/misc/ti-st/st_kim.c
|
2016-06-09 00:55:39 +00:00
|
|
|
@@ -302,11 +302,8 @@ static long download_firmware(struct kim
|
2012-12-09 17:13:28 +00:00
|
|
|
request_firmware(&kim_gdata->fw_entry, bts_scr_name,
|
|
|
|
&kim_gdata->kim_pdev->dev);
|
|
|
|
if (unlikely((err != 0) || (kim_gdata->fw_entry->data == NULL) ||
|
|
|
|
- (kim_gdata->fw_entry->size == 0))) {
|
|
|
|
- pr_err(" request_firmware failed(errno %ld) for %s", err,
|
|
|
|
- bts_scr_name);
|
|
|
|
+ (kim_gdata->fw_entry->size == 0)))
|
|
|
|
return -EINVAL;
|
|
|
|
- }
|
|
|
|
ptr = (void *)kim_gdata->fw_entry->data;
|
|
|
|
len = kim_gdata->fw_entry->size;
|
|
|
|
/* bts_header to remove out magic number and
|
|
|
|
--- a/drivers/net/can/softing/softing_fw.c
|
|
|
|
+++ b/drivers/net/can/softing/softing_fw.c
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -237,11 +237,8 @@ int softing_load_app_fw(const char *file
|
2012-12-09 17:13:28 +00:00
|
|
|
int8_t type_end = 0, type_entrypoint = 0;
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, file, &card->pdev->dev);
|
|
|
|
- if (ret) {
|
|
|
|
- dev_alert(&card->pdev->dev, "request_firmware(%s) got %i\n",
|
|
|
|
- file, ret);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
dev_dbg(&card->pdev->dev, "firmware(%s) got %lu bytes\n",
|
|
|
|
file, (unsigned long)fw->size);
|
|
|
|
/* parse the firmware */
|
|
|
|
--- a/drivers/net/ethernet/3com/typhoon.c
|
|
|
|
+++ b/drivers/net/ethernet/3com/typhoon.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -1284,11 +1284,8 @@ typhoon_request_firmware(struct typhoon
|
2012-12-09 17:13:28 +00:00
|
|
|
return 0;
|
|
|
|
|
|
|
|
err = request_firmware(&typhoon_fw, FIRMWARE_NAME, &tp->pdev->dev);
|
|
|
|
- if (err) {
|
|
|
|
- netdev_err(tp->dev, "Failed to load firmware \"%s\"\n",
|
|
|
|
- FIRMWARE_NAME);
|
|
|
|
+ if (err)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
|
2015-02-08 19:05:12 +00:00
|
|
|
image_data = typhoon_fw->data;
|
2012-12-09 17:13:28 +00:00
|
|
|
remaining = typhoon_fw->size;
|
|
|
|
--- a/drivers/net/ethernet/adaptec/starfire.c
|
|
|
|
+++ b/drivers/net/ethernet/adaptec/starfire.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -1015,11 +1015,8 @@ static int netdev_open(struct net_device
|
2012-12-09 17:13:28 +00:00
|
|
|
#endif /* VLAN_SUPPORT */
|
|
|
|
|
|
|
|
retval = request_firmware(&fw_rx, FIRMWARE_RX, &np->pci_dev->dev);
|
|
|
|
- if (retval) {
|
|
|
|
- printk(KERN_ERR "starfire: Failed to load firmware \"%s\"\n",
|
|
|
|
- FIRMWARE_RX);
|
|
|
|
+ if (retval)
|
|
|
|
goto out_init;
|
|
|
|
- }
|
|
|
|
if (fw_rx->size % 4) {
|
|
|
|
printk(KERN_ERR "starfire: bogus length %zu in \"%s\"\n",
|
|
|
|
fw_rx->size, FIRMWARE_RX);
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -1027,11 +1024,8 @@ static int netdev_open(struct net_device
|
2012-12-09 17:13:28 +00:00
|
|
|
goto out_rx;
|
|
|
|
}
|
|
|
|
retval = request_firmware(&fw_tx, FIRMWARE_TX, &np->pci_dev->dev);
|
|
|
|
- if (retval) {
|
|
|
|
- printk(KERN_ERR "starfire: Failed to load firmware \"%s\"\n",
|
|
|
|
- FIRMWARE_TX);
|
|
|
|
+ if (retval)
|
|
|
|
goto out_rx;
|
|
|
|
- }
|
|
|
|
if (fw_tx->size % 4) {
|
|
|
|
printk(KERN_ERR "starfire: bogus length %zu in \"%s\"\n",
|
|
|
|
fw_tx->size, FIRMWARE_TX);
|
|
|
|
--- a/drivers/net/ethernet/alteon/acenic.c
|
|
|
|
+++ b/drivers/net/ethernet/alteon/acenic.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -2892,11 +2892,8 @@ static int ace_load_firmware(struct net_
|
2012-12-09 17:13:28 +00:00
|
|
|
fw_name = "acenic/tg1.bin";
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, fw_name, &ap->pdev->dev);
|
|
|
|
- if (ret) {
|
|
|
|
- printk(KERN_ERR "%s: Failed to load firmware \"%s\"\n",
|
|
|
|
- ap->name, fw_name);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
fw_data = (void *)fw->data;
|
|
|
|
|
|
|
|
--- a/drivers/net/ethernet/broadcom/bnx2.c
|
|
|
|
+++ b/drivers/net/ethernet/broadcom/bnx2.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -3719,16 +3719,13 @@ static int bnx2_request_uncached_firmwar
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
rc = request_firmware(&bp->mips_firmware, mips_fw_file, &bp->pdev->dev);
|
|
|
|
- if (rc) {
|
|
|
|
- pr_err("Can't load firmware file \"%s\"\n", mips_fw_file);
|
|
|
|
+ if (rc)
|
|
|
|
goto out;
|
|
|
|
- }
|
|
|
|
|
|
|
|
rc = request_firmware(&bp->rv2p_firmware, rv2p_fw_file, &bp->pdev->dev);
|
|
|
|
- if (rc) {
|
|
|
|
- pr_err("Can't load firmware file \"%s\"\n", rv2p_fw_file);
|
|
|
|
+ if (rc)
|
|
|
|
goto err_release_mips_firmware;
|
|
|
|
- }
|
|
|
|
+
|
|
|
|
mips_fw = (const struct bnx2_mips_fw_file *) bp->mips_firmware->data;
|
|
|
|
rv2p_fw = (const struct bnx2_rv2p_fw_file *) bp->rv2p_firmware->data;
|
|
|
|
if (bp->mips_firmware->size < sizeof(*mips_fw) ||
|
|
|
|
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
|
|
|
|
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -13490,11 +13490,8 @@ static int bnx2x_init_firmware(struct bn
|
2012-12-10 04:06:21 +00:00
|
|
|
BNX2X_DEV_INFO("Loading %s\n", fw_file_name);
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2012-12-10 04:06:21 +00:00
|
|
|
rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev);
|
|
|
|
- if (rc) {
|
|
|
|
- BNX2X_ERR("Can't load firmware file %s\n",
|
|
|
|
- fw_file_name);
|
|
|
|
+ if (rc)
|
|
|
|
goto request_firmware_exit;
|
|
|
|
- }
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2012-12-10 04:06:21 +00:00
|
|
|
rc = bnx2x_check_firmware(bp);
|
|
|
|
if (rc) {
|
2012-12-09 17:13:28 +00:00
|
|
|
--- a/drivers/net/ethernet/broadcom/tg3.c
|
|
|
|
+++ b/drivers/net/ethernet/broadcom/tg3.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -11350,11 +11350,8 @@ static int tg3_request_firmware(struct t
|
2012-12-09 17:13:28 +00:00
|
|
|
{
|
2013-06-02 18:14:09 +00:00
|
|
|
const struct tg3_firmware_hdr *fw_hdr;
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
- if (request_firmware(&tp->fw, tp->fw_needed, &tp->pdev->dev)) {
|
|
|
|
- netdev_err(tp->dev, "Failed to load firmware \"%s\"\n",
|
|
|
|
- tp->fw_needed);
|
|
|
|
+ if (request_firmware(&tp->fw, tp->fw_needed, &tp->pdev->dev))
|
|
|
|
return -ENOENT;
|
|
|
|
- }
|
|
|
|
|
2013-06-02 18:14:09 +00:00
|
|
|
fw_hdr = (struct tg3_firmware_hdr *)tp->fw->data;
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
--- a/drivers/net/ethernet/brocade/bna/cna_fwimg.c
|
|
|
|
+++ b/drivers/net/ethernet/brocade/bna/cna_fwimg.c
|
2015-06-16 22:54:51 +00:00
|
|
|
@@ -32,10 +32,8 @@ cna_read_firmware(struct pci_dev *pdev,
|
2012-12-09 17:13:28 +00:00
|
|
|
const struct firmware *fw;
|
2015-06-16 22:54:51 +00:00
|
|
|
u32 n;
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
- if (request_firmware(&fw, fw_name, &pdev->dev)) {
|
2015-08-04 01:30:23 +00:00
|
|
|
- dev_alert(&pdev->dev, "can't load firmware %s\n", fw_name);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (request_firmware(&fw, fw_name, &pdev->dev))
|
|
|
|
goto error;
|
|
|
|
- }
|
|
|
|
|
|
|
|
*bfi_image = (u32 *)fw->data;
|
|
|
|
*bfi_image_size = fw->size/sizeof(u32);
|
|
|
|
--- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
|
|
|
|
+++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
|
2016-06-09 00:55:39 +00:00
|
|
|
@@ -1037,12 +1037,8 @@ int t3_get_edc_fw(struct cphy *phy, int
|
2015-08-04 01:30:23 +00:00
|
|
|
fw_name = get_edc_fw_name(edc_idx);
|
|
|
|
if (fw_name)
|
|
|
|
ret = request_firmware(&fw, fw_name, &adapter->pdev->dev);
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (ret < 0) {
|
|
|
|
- dev_err(&adapter->pdev->dev,
|
|
|
|
- "could not upgrade firmware: unable to load %s\n",
|
2015-08-04 01:30:23 +00:00
|
|
|
- fw_name);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* check size, take checksum in account */
|
|
|
|
if (fw->size > size + 4) {
|
2016-06-09 00:55:39 +00:00
|
|
|
@@ -1079,11 +1075,8 @@ static int upgrade_fw(struct adapter *ad
|
2012-12-09 17:13:28 +00:00
|
|
|
struct device *dev = &adap->pdev->dev;
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, FW_FNAME, dev);
|
|
|
|
- if (ret < 0) {
|
|
|
|
- dev_err(dev, "could not upgrade firmware: unable to load %s\n",
|
|
|
|
- FW_FNAME);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
ret = t3_load_fw(adap, fw->data, fw->size);
|
|
|
|
release_firmware(fw);
|
|
|
|
|
2016-06-09 00:55:39 +00:00
|
|
|
@@ -1128,11 +1121,8 @@ static int update_tpsram(struct adapter
|
2012-12-09 17:13:28 +00:00
|
|
|
snprintf(buf, sizeof(buf), TPSRAM_NAME, rev);
|
|
|
|
|
|
|
|
ret = request_firmware(&tpsram, buf, dev);
|
|
|
|
- if (ret < 0) {
|
|
|
|
- dev_err(dev, "could not load TP SRAM: unable to load %s\n",
|
|
|
|
- buf);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ret = t3_check_tpsram(adap, tpsram->data, tpsram->size);
|
|
|
|
if (ret)
|
|
|
|
--- a/drivers/net/ethernet/intel/e100.c
|
|
|
|
+++ b/drivers/net/ethernet/intel/e100.c
|
2013-10-18 01:43:36 +00:00
|
|
|
@@ -1290,9 +1290,6 @@ static const struct firmware *e100_reque
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
if (err) {
|
|
|
|
if (required) {
|
|
|
|
- netif_err(nic, probe, nic->netdev,
|
|
|
|
- "Failed to load firmware \"%s\": %d\n",
|
|
|
|
- fw_name, err);
|
|
|
|
return ERR_PTR(err);
|
|
|
|
} else {
|
|
|
|
netif_info(nic, probe, nic->netdev,
|
|
|
|
--- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
|
|
|
|
+++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -581,8 +581,6 @@ static int myri10ge_load_hotplug_firmwar
|
2012-12-09 17:13:28 +00:00
|
|
|
unsigned i;
|
|
|
|
|
|
|
|
if ((status = request_firmware(&fw, mgp->fw_name, dev)) < 0) {
|
|
|
|
- dev_err(dev, "Unable to load %s firmware image via hotplug\n",
|
|
|
|
- mgp->fw_name);
|
|
|
|
status = -EINVAL;
|
|
|
|
goto abort_with_nothing;
|
|
|
|
}
|
|
|
|
--- a/drivers/net/ethernet/smsc/smc91c92_cs.c
|
|
|
|
+++ b/drivers/net/ethernet/smsc/smc91c92_cs.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -647,10 +647,8 @@ static int osi_load_firmware(struct pcmc
|
2012-12-09 17:13:28 +00:00
|
|
|
int i, err;
|
|
|
|
|
|
|
|
err = request_firmware(&fw, FIRMWARE_NAME, &link->dev);
|
|
|
|
- if (err) {
|
|
|
|
- pr_err("Failed to load firmware \"%s\"\n", FIRMWARE_NAME);
|
|
|
|
+ if (err)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* Download the Seven of Diamonds firmware */
|
|
|
|
for (i = 0; i < fw->size; i++) {
|
|
|
|
--- a/drivers/net/ethernet/sun/cassini.c
|
|
|
|
+++ b/drivers/net/ethernet/sun/cassini.c
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -816,11 +816,8 @@ static void cas_saturn_firmware_init(str
|
2013-06-30 23:58:47 +00:00
|
|
|
return;
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
err = request_firmware(&fw, fw_name, &cp->pdev->dev);
|
|
|
|
- if (err) {
|
|
|
|
- pr_err("Failed to load firmware \"%s\"\n",
|
|
|
|
- fw_name);
|
|
|
|
+ if (err)
|
2013-06-30 23:58:47 +00:00
|
|
|
return;
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
|
|
|
if (fw->size < 2) {
|
|
|
|
pr_err("bogus length %zu in \"%s\"\n",
|
|
|
|
fw->size, fw_name);
|
|
|
|
--- a/drivers/net/hamradio/yam.c
|
|
|
|
+++ b/drivers/net/hamradio/yam.c
|
2012-12-10 04:06:21 +00:00
|
|
|
@@ -372,11 +372,8 @@ static unsigned char *add_mcs(unsigned c
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
err = request_firmware(&fw, fw_name[predef], &pdev->dev);
|
|
|
|
platform_device_unregister(pdev);
|
|
|
|
- if (err) {
|
|
|
|
- printk(KERN_ERR "Failed to load firmware \"%s\"\n",
|
|
|
|
- fw_name[predef]);
|
|
|
|
+ if (err)
|
|
|
|
return NULL;
|
|
|
|
- }
|
|
|
|
if (fw->size != YAM_FPGA_SIZE) {
|
|
|
|
printk(KERN_ERR "Bogus length %zu in firmware \"%s\"\n",
|
|
|
|
fw->size, fw_name[predef]);
|
|
|
|
--- a/drivers/net/usb/kaweth.c
|
|
|
|
+++ b/drivers/net/usb/kaweth.c
|
2016-10-28 23:36:56 +00:00
|
|
|
@@ -392,10 +392,8 @@ static int kaweth_download_firmware(stru
|
2012-12-09 17:13:28 +00:00
|
|
|
int ret;
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, fwname, &kaweth->dev->dev);
|
|
|
|
- if (ret) {
|
2012-12-10 04:06:21 +00:00
|
|
|
- dev_err(&kaweth->intf->dev, "Firmware request failed\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (fw->size > KAWETH_FIRMWARE_BUF_SIZE) {
|
2012-12-10 04:06:21 +00:00
|
|
|
dev_err(&kaweth->intf->dev, "Firmware too big: %zu\n",
|
2012-12-09 17:13:28 +00:00
|
|
|
--- a/drivers/net/wimax/i2400m/fw.c
|
|
|
|
+++ b/drivers/net/wimax/i2400m/fw.c
|
2013-05-06 21:53:29 +00:00
|
|
|
@@ -1582,11 +1582,8 @@ int i2400m_dev_bootstrap(struct i2400m *
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
d_printf(1, dev, "trying firmware %s (%d)\n", fw_name, itr);
|
|
|
|
ret = request_firmware(&fw, fw_name, dev);
|
|
|
|
- if (ret < 0) {
|
|
|
|
- dev_err(dev, "fw %s: cannot load file: %d\n",
|
|
|
|
- fw_name, ret);
|
|
|
|
+ if (ret)
|
|
|
|
continue;
|
|
|
|
- }
|
|
|
|
i2400m->fw_name = fw_name;
|
|
|
|
ret = i2400m_fw_bootstrap(i2400m, fw, flags);
|
|
|
|
release_firmware(fw);
|
2013-05-06 21:53:29 +00:00
|
|
|
@@ -1629,8 +1626,6 @@ void i2400m_fw_cache(struct i2400m *i240
|
2012-12-09 17:13:28 +00:00
|
|
|
kref_init(&i2400m_fw->kref);
|
|
|
|
result = request_firmware(&i2400m_fw->fw, i2400m->fw_name, dev);
|
|
|
|
if (result < 0) {
|
|
|
|
- dev_err(dev, "firmware %s: failed to cache: %d\n",
|
|
|
|
- i2400m->fw_name, result);
|
|
|
|
kfree(i2400m_fw);
|
|
|
|
i2400m_fw = (void *) ~0;
|
|
|
|
} else
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/atmel/at76c50x-usb.c
|
|
|
|
+++ b/drivers/net/wireless/atmel/at76c50x-usb.c
|
2014-09-13 06:23:27 +00:00
|
|
|
@@ -1622,13 +1622,8 @@ static struct fwentry *at76_load_firmwar
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
at76_dbg(DBG_FW, "downloading firmware %s", fwe->fwname);
|
|
|
|
ret = request_firmware(&fwe->fw, fwe->fwname, &udev->dev);
|
|
|
|
- if (ret < 0) {
|
2013-02-19 06:36:33 +00:00
|
|
|
- dev_err(&udev->dev, "firmware %s not found!\n",
|
|
|
|
- fwe->fwname);
|
|
|
|
- dev_err(&udev->dev,
|
|
|
|
- "you may need to download the firmware from http://developer.berlios.de/projects/at76c503a/\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
goto exit;
|
|
|
|
- }
|
|
|
|
|
|
|
|
at76_dbg(DBG_FW, "got it.");
|
|
|
|
fwh = (struct at76_fw_header *)(fwe->fw->data);
|
|
|
|
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
|
|
|
|
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -1161,9 +1161,6 @@ static void ath9k_hif_usb_firmware_cb(co
|
2015-12-10 18:13:16 +00:00
|
|
|
if (!ret)
|
|
|
|
return;
|
2012-12-10 04:06:21 +00:00
|
|
|
|
2012-12-09 17:13:28 +00:00
|
|
|
- dev_err(&hif_dev->udev->dev,
|
2012-12-10 04:06:21 +00:00
|
|
|
- "ath9k_htc: Failed to get firmware %s\n",
|
|
|
|
- hif_dev->fw_name);
|
|
|
|
goto err_fw;
|
2015-12-10 18:13:16 +00:00
|
|
|
}
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
--- a/drivers/net/wireless/ath/carl9170/usb.c
|
|
|
|
+++ b/drivers/net/wireless/ath/carl9170/usb.c
|
2016-10-28 23:36:56 +00:00
|
|
|
@@ -1031,7 +1031,6 @@ static void carl9170_usb_firmware_step2(
|
2012-12-09 17:13:28 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
- dev_err(&ar->udev->dev, "firmware not found.\n");
|
|
|
|
carl9170_usb_firmware_failed(ar);
|
|
|
|
}
|
|
|
|
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/atmel/atmel.c
|
|
|
|
+++ b/drivers/net/wireless/atmel/atmel.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -3912,12 +3912,8 @@ static int reset_atmel_card(struct net_d
|
2012-12-09 17:13:28 +00:00
|
|
|
strcpy(priv->firmware_id, "atmel_at76c502.bin");
|
|
|
|
}
|
|
|
|
err = request_firmware(&fw_entry, priv->firmware_id, priv->sys_dev);
|
|
|
|
- if (err != 0) {
|
|
|
|
- printk(KERN_ALERT
|
|
|
|
- "%s: firmware %s is missing, cannot continue.\n",
|
|
|
|
- dev->name, priv->firmware_id);
|
|
|
|
+ if (err != 0)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
} else {
|
|
|
|
int fw_index = 0;
|
|
|
|
int success = 0;
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/broadcom/b43/main.c
|
|
|
|
+++ b/drivers/net/wireless/broadcom/b43/main.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -2253,19 +2253,8 @@ int b43_do_request_fw(struct b43_request
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
2013-01-18 01:36:03 +00:00
|
|
|
err = request_firmware(&ctx->blob, ctx->fwname,
|
|
|
|
ctx->dev->dev->dev);
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (err == -ENOENT) {
|
|
|
|
- snprintf(ctx->errors[ctx->req_type],
|
|
|
|
- sizeof(ctx->errors[ctx->req_type]),
|
2013-01-18 01:36:03 +00:00
|
|
|
- "Firmware file \"%s\" not found\n",
|
|
|
|
- ctx->fwname);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (err)
|
|
|
|
return err;
|
|
|
|
- } else if (err) {
|
|
|
|
- snprintf(ctx->errors[ctx->req_type],
|
|
|
|
- sizeof(ctx->errors[ctx->req_type]),
|
|
|
|
- "Firmware file \"%s\" request failed (err=%d)\n",
|
|
|
|
- ctx->fwname, err);
|
|
|
|
- return err;
|
|
|
|
- }
|
2013-01-18 01:36:03 +00:00
|
|
|
fw_ready:
|
|
|
|
if (ctx->blob->size < sizeof(struct b43_fw_header))
|
2012-12-09 17:13:28 +00:00
|
|
|
goto err_format;
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/broadcom/b43legacy/main.c
|
|
|
|
+++ b/drivers/net/wireless/broadcom/b43legacy/main.c
|
2013-01-12 00:38:40 +00:00
|
|
|
@@ -1554,11 +1554,8 @@ static int do_request_fw(struct b43legac
|
|
|
|
} else {
|
|
|
|
err = request_firmware(fw, path, dev->dev->dev);
|
|
|
|
}
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (err) {
|
|
|
|
- b43legacyerr(dev->wl, "Firmware file \"%s\" not found "
|
|
|
|
- "or load failed.\n", path);
|
|
|
|
+ if (err)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
if ((*fw)->size < sizeof(struct b43legacy_fw_header))
|
|
|
|
goto err_format;
|
|
|
|
hdr = (struct b43legacy_fw_header *)((*fw)->data);
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
|
|
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
|
2015-08-04 01:30:23 +00:00
|
|
|
@@ -378,19 +378,13 @@ static int brcms_request_fw(struct brcms
|
2012-12-09 17:13:28 +00:00
|
|
|
sprintf(fw_name, "%s-%d.fw", brcms_firmwares[i],
|
|
|
|
UCODE_LOADER_API_VER);
|
|
|
|
status = request_firmware(&wl->fw.fw_bin[i], fw_name, device);
|
|
|
|
- if (status) {
|
|
|
|
- wiphy_err(wl->wiphy, "%s: fail to load firmware %s\n",
|
|
|
|
- KBUILD_MODNAME, fw_name);
|
|
|
|
+ if (status)
|
|
|
|
return status;
|
|
|
|
- }
|
|
|
|
sprintf(fw_name, "%s_hdr-%d.fw", brcms_firmwares[i],
|
|
|
|
UCODE_LOADER_API_VER);
|
|
|
|
status = request_firmware(&wl->fw.fw_hdr[i], fw_name, device);
|
|
|
|
- if (status) {
|
|
|
|
- wiphy_err(wl->wiphy, "%s: fail to load firmware %s\n",
|
|
|
|
- KBUILD_MODNAME, fw_name);
|
|
|
|
+ if (status)
|
|
|
|
return status;
|
|
|
|
- }
|
|
|
|
wl->fw.hdr_num_entries[i] =
|
|
|
|
wl->fw.fw_hdr[i]->size / (sizeof(struct firmware_hdr));
|
|
|
|
}
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c
|
|
|
|
+++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -8419,12 +8419,8 @@ static int ipw2100_get_firmware(struct i
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
rc = request_firmware(&fw->fw_entry, fw_name, &priv->pci_dev->dev);
|
|
|
|
|
|
|
|
- if (rc < 0) {
|
|
|
|
- printk(KERN_ERR DRV_NAME ": "
|
|
|
|
- "%s: Firmware '%s' not available or load failed.\n",
|
|
|
|
- priv->net_dev->name, fw_name);
|
|
|
|
+ if (rc)
|
|
|
|
return rc;
|
|
|
|
- }
|
|
|
|
IPW_DEBUG_INFO("firmware data %p size %zd\n", fw->fw_entry->data,
|
|
|
|
fw->fw_entry->size);
|
|
|
|
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c
|
|
|
|
+++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
|
2012-12-10 04:06:21 +00:00
|
|
|
@@ -3418,10 +3418,8 @@ static int ipw_get_fw(struct ipw_priv *p
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
/* ask firmware_class module to get the boot firmware off disk */
|
|
|
|
rc = request_firmware(raw, name, &priv->pci_dev->dev);
|
|
|
|
- if (rc < 0) {
|
|
|
|
- IPW_ERROR("%s request_firmware failed: Reason %d\n", name, rc);
|
|
|
|
+ if (rc)
|
|
|
|
return rc;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if ((*raw)->size < sizeof(*fw)) {
|
|
|
|
IPW_ERROR("%s is too small (%zd)\n", name, (*raw)->size);
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c
|
|
|
|
+++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
|
2014-05-02 01:45:17 +00:00
|
|
|
@@ -1861,7 +1861,6 @@ il3945_read_ucode(struct il_priv *il)
|
2012-12-10 04:06:21 +00:00
|
|
|
sprintf(buf, "%s%u%s", name_pre, idx, ".ucode");
|
|
|
|
ret = request_firmware(&ucode_raw, buf, &il->pci_dev->dev);
|
2012-12-09 17:13:28 +00:00
|
|
|
if (ret < 0) {
|
2012-12-10 04:06:21 +00:00
|
|
|
- IL_ERR("%s firmware file req failed: %d\n", buf, ret);
|
2012-12-09 17:13:28 +00:00
|
|
|
if (ret == -ENOENT)
|
|
|
|
continue;
|
|
|
|
else
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
|
|
|
|
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -222,10 +222,8 @@ static int iwl_request_firmware(struct i
|
2016-06-09 00:55:39 +00:00
|
|
|
sprintf(tag, "%d", drv->fw_index);
|
|
|
|
}
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2017-04-19 09:30:57 +00:00
|
|
|
- if (drv->fw_index < drv->trans->cfg->ucode_api_min) {
|
2016-06-09 00:55:39 +00:00
|
|
|
- IWL_ERR(drv, "no suitable firmware found!\n");
|
2017-04-19 09:30:57 +00:00
|
|
|
+ if (drv->fw_index < drv->trans->cfg->ucode_api_min)
|
2016-06-09 00:55:39 +00:00
|
|
|
return -ENOENT;
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
|
|
|
|
2016-06-09 00:55:39 +00:00
|
|
|
snprintf(drv->firmware_name, sizeof(drv->firmware_name), "%s%s.ucode",
|
|
|
|
name_pre, tag);
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/marvell/libertas_tf/if_usb.c
|
|
|
|
+++ b/drivers/net/wireless/marvell/libertas_tf/if_usb.c
|
2016-10-28 23:36:56 +00:00
|
|
|
@@ -818,8 +818,6 @@ static int if_usb_prog_firmware(struct i
|
2015-08-04 01:30:23 +00:00
|
|
|
kernel_param_lock(THIS_MODULE);
|
2012-12-09 17:13:28 +00:00
|
|
|
ret = request_firmware(&cardp->fw, lbtf_fw_name, &cardp->udev->dev);
|
|
|
|
if (ret < 0) {
|
|
|
|
- pr_err("request_firmware() failed with %#x\n", ret);
|
|
|
|
- pr_err("firmware %s not found\n", lbtf_fw_name);
|
2015-08-04 01:30:23 +00:00
|
|
|
kernel_param_unlock(THIS_MODULE);
|
2012-12-09 17:13:28 +00:00
|
|
|
goto done;
|
|
|
|
}
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/marvell/mwifiex/main.c
|
|
|
|
+++ b/drivers/net/wireless/marvell/mwifiex/main.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -521,11 +521,8 @@ static void mwifiex_fw_dpc(const struct
|
2013-12-21 18:20:34 +00:00
|
|
|
struct wireless_dev *wdev;
|
2017-01-24 19:25:08 +00:00
|
|
|
struct completion *fw_done = adapter->fw_done;
|
2012-12-10 04:06:21 +00:00
|
|
|
|
|
|
|
- if (!firmware) {
|
2015-08-04 01:30:23 +00:00
|
|
|
- mwifiex_dbg(adapter, ERROR,
|
|
|
|
- "Failed to get firmware %s\n", adapter->fw_name);
|
2012-12-10 04:06:21 +00:00
|
|
|
+ if (!firmware)
|
2013-10-18 01:43:36 +00:00
|
|
|
goto err_dnld_fw;
|
2012-12-10 04:06:21 +00:00
|
|
|
- }
|
|
|
|
|
|
|
|
memset(&fw, 0, sizeof(struct mwifiex_fw_image));
|
|
|
|
adapter->firmware = firmware;
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/marvell/mwl8k.c
|
|
|
|
+++ b/drivers/net/wireless/marvell/mwl8k.c
|
2016-04-14 13:59:13 +00:00
|
|
|
@@ -5714,16 +5714,12 @@ static int mwl8k_firmware_load_success(s
|
2012-12-09 17:13:28 +00:00
|
|
|
static void mwl8k_fw_state_machine(const struct firmware *fw, void *context)
|
|
|
|
{
|
|
|
|
struct mwl8k_priv *priv = context;
|
|
|
|
- struct mwl8k_device_info *di = priv->device_info;
|
|
|
|
int rc;
|
|
|
|
|
|
|
|
switch (priv->fw_state) {
|
|
|
|
case FW_STATE_INIT:
|
|
|
|
- if (!fw) {
|
|
|
|
- printk(KERN_ERR "%s: Error requesting helper fw %s\n",
|
|
|
|
- pci_name(priv->pdev), di->helper_image);
|
|
|
|
+ if (!fw)
|
|
|
|
goto fail;
|
|
|
|
- }
|
|
|
|
priv->fw_helper = fw;
|
|
|
|
rc = mwl8k_request_fw(priv, priv->fw_pref, &priv->fw_ucode,
|
|
|
|
true);
|
2016-04-14 13:59:13 +00:00
|
|
|
@@ -5758,11 +5754,8 @@ static void mwl8k_fw_state_machine(const
|
2012-12-09 17:13:28 +00:00
|
|
|
break;
|
|
|
|
|
|
|
|
case FW_STATE_LOADING_ALT:
|
|
|
|
- if (!fw) {
|
|
|
|
- printk(KERN_ERR "%s: Error requesting alt fw %s\n",
|
|
|
|
- pci_name(priv->pdev), di->helper_image);
|
|
|
|
+ if (!fw)
|
|
|
|
goto fail;
|
|
|
|
- }
|
|
|
|
priv->fw_ucode = fw;
|
|
|
|
rc = mwl8k_firmware_load_success(priv);
|
|
|
|
if (rc)
|
2016-04-14 13:59:13 +00:00
|
|
|
@@ -5800,10 +5793,8 @@ retry:
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
/* Ask userland hotplug daemon for the device firmware */
|
|
|
|
rc = mwl8k_request_firmware(priv, fw_image, nowait);
|
|
|
|
- if (rc) {
|
|
|
|
- wiphy_err(hw->wiphy, "Firmware files not found\n");
|
|
|
|
+ if (rc)
|
|
|
|
return rc;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (nowait)
|
|
|
|
return rc;
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/intersil/orinoco/fw.c
|
|
|
|
+++ b/drivers/net/wireless/intersil/orinoco/fw.c
|
2012-12-09 17:13:28 +00:00
|
|
|
@@ -132,7 +132,6 @@ orinoco_dl_firmware(struct orinoco_priva
|
|
|
|
err = request_firmware(&fw_entry, firmware, priv->dev);
|
|
|
|
|
|
|
|
if (err) {
|
|
|
|
- dev_err(dev, "Cannot find firmware %s\n", firmware);
|
|
|
|
err = -ENOENT;
|
|
|
|
goto free;
|
|
|
|
}
|
|
|
|
@@ -292,10 +291,8 @@ symbol_dl_firmware(struct orinoco_privat
|
|
|
|
const struct firmware *fw_entry;
|
|
|
|
|
|
|
|
if (!orinoco_cached_fw_get(priv, true)) {
|
|
|
|
- if (request_firmware(&fw_entry, fw->pri_fw, priv->dev) != 0) {
|
|
|
|
- dev_err(dev, "Cannot find firmware: %s\n", fw->pri_fw);
|
|
|
|
+ if (request_firmware(&fw_entry, fw->pri_fw, priv->dev) != 0)
|
|
|
|
return -ENOENT;
|
|
|
|
- }
|
|
|
|
} else
|
|
|
|
fw_entry = orinoco_cached_fw_get(priv, true);
|
|
|
|
|
|
|
|
@@ -311,10 +308,8 @@ symbol_dl_firmware(struct orinoco_privat
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!orinoco_cached_fw_get(priv, false)) {
|
|
|
|
- if (request_firmware(&fw_entry, fw->sta_fw, priv->dev) != 0) {
|
|
|
|
- dev_err(dev, "Cannot find firmware: %s\n", fw->sta_fw);
|
|
|
|
+ if (request_firmware(&fw_entry, fw->sta_fw, priv->dev) != 0)
|
|
|
|
return -ENOENT;
|
|
|
|
- }
|
|
|
|
} else
|
|
|
|
fw_entry = orinoco_cached_fw_get(priv, false);
|
|
|
|
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
|
|
|
|
+++ b/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1665,7 +1665,6 @@ static int ezusb_probe(struct usb_interf
|
2014-07-13 15:28:53 +00:00
|
|
|
if (ezusb_firmware_download(upriv, &firmware) < 0)
|
2013-05-06 21:53:29 +00:00
|
|
|
goto error;
|
2012-12-09 17:13:28 +00:00
|
|
|
} else {
|
|
|
|
- err("No firmware to download");
|
|
|
|
goto error;
|
|
|
|
}
|
|
|
|
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/intersil/p54/p54pci.c
|
|
|
|
+++ b/drivers/net/wireless/intersil/p54/p54pci.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -499,7 +499,6 @@ static void p54p_firmware_step2(const st
|
2012-12-16 15:20:29 +00:00
|
|
|
int err;
|
|
|
|
|
|
|
|
if (!fw) {
|
2012-12-09 17:13:28 +00:00
|
|
|
- dev_err(&pdev->dev, "Cannot find firmware (isl3886pci)\n");
|
2012-12-16 15:20:29 +00:00
|
|
|
err = -ENOENT;
|
|
|
|
goto out;
|
|
|
|
}
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/intersil/p54/p54spi.c
|
|
|
|
+++ b/drivers/net/wireless/intersil/p54/p54spi.c
|
2013-07-22 04:06:03 +00:00
|
|
|
@@ -170,10 +170,8 @@ static int p54spi_request_firmware(struc
|
2012-12-09 17:13:28 +00:00
|
|
|
/* FIXME: should driver use it's own struct device? */
|
|
|
|
ret = request_firmware(&priv->firmware, "3826.arm", &priv->spi->dev);
|
|
|
|
|
|
|
|
- if (ret < 0) {
|
|
|
|
- dev_err(&priv->spi->dev, "request_firmware() failed: %d", ret);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ret = p54_parse_firmware(dev, priv->firmware);
|
|
|
|
if (ret) {
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/intersil/p54/p54usb.c
|
|
|
|
+++ b/drivers/net/wireless/intersil/p54/p54usb.c
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -929,7 +929,6 @@ static void p54u_load_firmware_cb(const
|
2012-12-10 04:06:21 +00:00
|
|
|
err = p54u_start_ops(priv);
|
|
|
|
} else {
|
|
|
|
err = -ENOENT;
|
|
|
|
- dev_err(&udev->dev, "Firmware not found.\n");
|
|
|
|
}
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
if (err) {
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/intersil/prism54/islpci_dev.c
|
|
|
|
+++ b/drivers/net/wireless/intersil/prism54/islpci_dev.c
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -92,12 +92,9 @@ isl_upload_firmware(islpci_private *priv
|
2012-12-09 17:13:28 +00:00
|
|
|
const u32 *fw_ptr;
|
|
|
|
|
|
|
|
rc = request_firmware(&fw_entry, priv->firmware, PRISM_FW_PDEV);
|
|
|
|
- if (rc) {
|
|
|
|
- printk(KERN_ERR
|
|
|
|
- "%s: request_firmware() failed for '%s'\n",
|
|
|
|
- "prism54", priv->firmware);
|
|
|
|
+ if (rc)
|
|
|
|
return rc;
|
|
|
|
- }
|
|
|
|
+
|
|
|
|
/* prepare the Direct Memory Base register */
|
|
|
|
reg = ISL38XX_DEV_FIRMWARE_ADDRES;
|
|
|
|
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00firmware.c
|
|
|
|
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00firmware.c
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -49,10 +49,8 @@ static int rt2x00lib_request_firmware(st
|
2013-06-02 18:14:09 +00:00
|
|
|
rt2x00_info(rt2x00dev, "Loading firmware file '%s'\n", fw_name);
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
retval = request_firmware(&fw, fw_name, device);
|
|
|
|
- if (retval) {
|
2013-06-02 18:14:09 +00:00
|
|
|
- rt2x00_err(rt2x00dev, "Failed to request Firmware\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (retval)
|
|
|
|
return retval;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (!fw || !fw->size || !fw->data) {
|
2013-06-02 18:14:09 +00:00
|
|
|
rt2x00_err(rt2x00dev, "Failed to read Firmware\n");
|
2015-12-10 18:13:16 +00:00
|
|
|
--- a/drivers/net/wireless/realtek/rtlwifi/core.c
|
|
|
|
+++ b/drivers/net/wireless/realtek/rtlwifi/core.c
|
2016-04-14 13:59:13 +00:00
|
|
|
@@ -111,7 +111,6 @@ static void rtl_fw_do_work(const struct
|
2014-02-10 21:40:59 +00:00
|
|
|
if (!err)
|
|
|
|
goto found_alt;
|
|
|
|
}
|
2016-11-13 20:35:21 +00:00
|
|
|
- pr_err("Selected firmware is not available\n");
|
2012-12-10 04:06:21 +00:00
|
|
|
rtlpriv->max_fw_size = 0;
|
|
|
|
return;
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
2015-12-10 18:13:16 +00:00
|
|
|
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
|
|
|
|
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -91,7 +91,6 @@ static void rtl92se_fw_cb(const struct f
|
2012-12-10 04:06:21 +00:00
|
|
|
"Firmware callback routine entered!\n");
|
|
|
|
complete(&rtlpriv->firmware_loading_complete);
|
|
|
|
if (!firmware) {
|
2016-11-13 20:35:21 +00:00
|
|
|
- pr_err("Firmware %s not available\n", fw_name);
|
2012-12-10 04:06:21 +00:00
|
|
|
rtlpriv->max_fw_size = 0;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
--- a/drivers/net/wireless/ti/wl1251/main.c
|
|
|
|
+++ b/drivers/net/wireless/ti/wl1251/main.c
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -71,10 +71,8 @@ static int wl1251_fetch_firmware(struct
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
ret = request_firmware(&fw, WL1251_FW_NAME, dev);
|
|
|
|
|
|
|
|
- if (ret < 0) {
|
|
|
|
- wl1251_error("could not get firmware: %d", ret);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (fw->size % 4) {
|
|
|
|
wl1251_error("firmware size is not multiple of 32 bits: %zu",
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -110,10 +108,8 @@ static int wl1251_fetch_nvs(struct wl125
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
ret = request_firmware(&fw, WL1251_NVS_NAME, dev);
|
|
|
|
|
|
|
|
- if (ret < 0) {
|
|
|
|
- wl1251_error("could not get nvs file: %d", ret);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (fw->size % 4) {
|
|
|
|
wl1251_error("nvs size is not multiple of 32 bits: %zu",
|
2012-12-10 04:06:21 +00:00
|
|
|
--- a/drivers/net/wireless/ti/wlcore/main.c
|
|
|
|
+++ b/drivers/net/wireless/ti/wlcore/main.c
|
2016-10-28 23:36:56 +00:00
|
|
|
@@ -756,10 +756,8 @@ static int wl12xx_fetch_firmware(struct
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2012-12-10 04:06:21 +00:00
|
|
|
ret = request_firmware(&fw, fw_name, wl->dev);
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
- if (ret < 0) {
|
2012-12-10 04:06:21 +00:00
|
|
|
- wl1271_error("could not get firmware %s: %d", fw_name, ret);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (fw->size % 4) {
|
|
|
|
wl1271_error("firmware size is not multiple of 32 bits: %zu",
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/zydas/zd1201.c
|
|
|
|
+++ b/drivers/net/wireless/zydas/zd1201.c
|
2012-12-09 17:13:28 +00:00
|
|
|
@@ -65,8 +65,6 @@ static int zd1201_fw_upload(struct usb_d
|
|
|
|
|
|
|
|
err = request_firmware(&fw_entry, fwfile, &dev->dev);
|
|
|
|
if (err) {
|
|
|
|
- dev_err(&dev->dev, "Failed to load %s firmware file!\n", fwfile);
|
|
|
|
- dev_err(&dev->dev, "Make sure the hotplug firmware loader is installed.\n");
|
|
|
|
dev_err(&dev->dev, "Goto http://linux-lc100020.sourceforge.net for more info.\n");
|
|
|
|
return err;
|
|
|
|
}
|
2016-02-15 16:36:21 +00:00
|
|
|
--- a/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
|
|
|
|
+++ b/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -120,16 +120,9 @@ static void int_urb_complete(struct urb
|
2012-12-09 17:13:28 +00:00
|
|
|
static int request_fw_file(
|
|
|
|
const struct firmware **fw, const char *name, struct device *device)
|
|
|
|
{
|
|
|
|
- int r;
|
|
|
|
-
|
|
|
|
dev_dbg_f(device, "fw name %s\n", name);
|
|
|
|
|
|
|
|
- r = request_firmware(fw, name, device);
|
|
|
|
- if (r)
|
|
|
|
- dev_err(device,
|
|
|
|
- "Could not load firmware file %s. Error number %d\n",
|
|
|
|
- name, r);
|
|
|
|
- return r;
|
|
|
|
+ return request_firmware(fw, name, device);
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline u16 get_bcdDevice(const struct usb_device *udev)
|
|
|
|
--- a/drivers/scsi/advansys.c
|
|
|
|
+++ b/drivers/scsi/advansys.c
|
2015-08-04 01:30:23 +00:00
|
|
|
@@ -4107,8 +4107,6 @@ static int AscInitAsc1000Driver(ASC_DVC_
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev);
|
|
|
|
if (err) {
|
|
|
|
- printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
|
|
|
|
- fwname, err);
|
|
|
|
asc_dvc->err_code |= ASC_IERR_MCODE_CHKSUM;
|
|
|
|
return err;
|
|
|
|
}
|
2015-08-04 01:30:23 +00:00
|
|
|
@@ -4473,8 +4471,6 @@ static int AdvInitAsc3550Driver(ADV_DVC_
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev);
|
|
|
|
if (err) {
|
|
|
|
- printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
|
|
|
|
- fwname, err);
|
|
|
|
asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM;
|
|
|
|
return err;
|
|
|
|
}
|
2015-08-04 01:30:23 +00:00
|
|
|
@@ -4973,8 +4969,6 @@ static int AdvInitAsc38C0800Driver(ADV_D
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev);
|
|
|
|
if (err) {
|
|
|
|
- printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
|
|
|
|
- fwname, err);
|
|
|
|
asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM;
|
|
|
|
return err;
|
|
|
|
}
|
2015-08-04 01:30:23 +00:00
|
|
|
@@ -5461,8 +5455,6 @@ static int AdvInitAsc38C1600Driver(ADV_D
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev);
|
|
|
|
if (err) {
|
|
|
|
- printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
|
|
|
|
- fwname, err);
|
|
|
|
asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM;
|
|
|
|
return err;
|
|
|
|
}
|
|
|
|
--- a/drivers/scsi/aic94xx/aic94xx_init.c
|
|
|
|
+++ b/drivers/scsi/aic94xx/aic94xx_init.c
|
2015-12-10 18:13:16 +00:00
|
|
|
@@ -384,8 +384,6 @@ static ssize_t asd_store_update_bios(str
|
2012-12-09 17:13:28 +00:00
|
|
|
filename_ptr,
|
|
|
|
&asd_ha->pcidev->dev);
|
|
|
|
if (err) {
|
|
|
|
- asd_printk("Failed to load bios image file %s, error %d\n",
|
|
|
|
- filename_ptr, err);
|
|
|
|
err = FAIL_OPEN_BIOS_FILE;
|
|
|
|
goto out1;
|
|
|
|
}
|
|
|
|
--- a/drivers/scsi/aic94xx/aic94xx_seq.c
|
|
|
|
+++ b/drivers/scsi/aic94xx/aic94xx_seq.c
|
2012-12-10 04:06:21 +00:00
|
|
|
@@ -1317,11 +1317,8 @@ int asd_init_seqs(struct asd_ha_struct *
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
err = asd_request_firmware(asd_ha);
|
|
|
|
|
|
|
|
- if (err) {
|
|
|
|
- asd_printk("Failed to load sequencer firmware file %s, error %d\n",
|
|
|
|
- SAS_RAZOR_SEQUENCER_FW_FILE, err);
|
|
|
|
+ if (err)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
|
|
|
|
err = asd_seq_download_seqs(asd_ha);
|
|
|
|
if (err) {
|
|
|
|
--- a/drivers/scsi/bfa/bfad.c
|
|
|
|
+++ b/drivers/scsi/bfa/bfad.c
|
2016-02-15 16:36:21 +00:00
|
|
|
@@ -1758,7 +1758,6 @@ bfad_read_firmware(struct pci_dev *pdev,
|
2012-12-09 17:13:28 +00:00
|
|
|
const struct firmware *fw;
|
|
|
|
|
|
|
|
if (request_firmware(&fw, fw_name, &pdev->dev)) {
|
|
|
|
- printk(KERN_ALERT "Can't locate firmware %s\n", fw_name);
|
|
|
|
*bfi_image = NULL;
|
|
|
|
goto out;
|
|
|
|
}
|
|
|
|
--- a/drivers/scsi/ipr.c
|
|
|
|
+++ b/drivers/scsi/ipr.c
|
2016-10-28 23:36:56 +00:00
|
|
|
@@ -4041,10 +4041,8 @@ static ssize_t ipr_store_update_fw(struc
|
2016-03-07 03:05:13 +00:00
|
|
|
if (endline)
|
|
|
|
*endline = '\0';
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2012-12-16 15:20:29 +00:00
|
|
|
- if (request_firmware(&fw_entry, fname, &ioa_cfg->pdev->dev)) {
|
2012-12-09 17:13:28 +00:00
|
|
|
- dev_err(&ioa_cfg->pdev->dev, "Firmware file %s not found\n", fname);
|
|
|
|
+ if (request_firmware(&fw_entry, fname, &ioa_cfg->pdev->dev))
|
|
|
|
return -EIO;
|
|
|
|
- }
|
|
|
|
|
|
|
|
image_hdr = (struct ipr_ucode_image_header *)fw_entry->data;
|
|
|
|
|
|
|
|
--- a/drivers/scsi/pm8001/pm8001_ctl.c
|
|
|
|
+++ b/drivers/scsi/pm8001/pm8001_ctl.c
|
2014-12-09 03:06:08 +00:00
|
|
|
@@ -685,10 +685,6 @@ static ssize_t pm8001_store_update_fw(st
|
2012-12-09 17:13:28 +00:00
|
|
|
pm8001_ha->dev);
|
|
|
|
|
2014-09-13 06:23:27 +00:00
|
|
|
if (ret) {
|
2012-12-09 17:13:28 +00:00
|
|
|
- PM8001_FAIL_DBG(pm8001_ha,
|
2014-09-13 06:23:27 +00:00
|
|
|
- pm8001_printk(
|
|
|
|
- "Failed to load firmware image file %s, error %d\n",
|
|
|
|
- filename_ptr, ret));
|
|
|
|
pm8001_ha->fw_status = FAIL_OPEN_BIOS_FILE;
|
|
|
|
goto out;
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
--- a/drivers/scsi/qla1280.c
|
|
|
|
+++ b/drivers/scsi/qla1280.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -1552,8 +1552,6 @@ qla1280_request_firmware(struct scsi_qla
|
2012-12-09 17:13:28 +00:00
|
|
|
err = request_firmware(&fw, fwname, &ha->pdev->dev);
|
|
|
|
|
|
|
|
if (err) {
|
|
|
|
- printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
|
|
|
|
- fwname, err);
|
|
|
|
fw = ERR_PTR(err);
|
|
|
|
goto unlock;
|
|
|
|
}
|
|
|
|
--- a/drivers/scsi/qla2xxx/qla_init.c
|
|
|
|
+++ b/drivers/scsi/qla2xxx/qla_init.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -6420,8 +6420,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
|
2012-12-09 17:13:28 +00:00
|
|
|
/* Load firmware blob. */
|
|
|
|
blob = qla2x00_request_firmware(vha);
|
|
|
|
if (!blob) {
|
|
|
|
- ql_log(ql_log_info, vha, 0x0083,
|
2015-05-11 16:39:41 +00:00
|
|
|
- "Firmware image unavailable.\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
ql_log(ql_log_info, vha, 0x0084,
|
|
|
|
"Firmware images can be retrieved from: "QLA_FW_URL ".\n");
|
|
|
|
return QLA_FUNCTION_FAILED;
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -6523,8 +6521,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
|
2012-12-09 17:13:28 +00:00
|
|
|
/* Load firmware blob. */
|
|
|
|
blob = qla2x00_request_firmware(vha);
|
|
|
|
if (!blob) {
|
|
|
|
- ql_log(ql_log_warn, vha, 0x0090,
|
2015-05-11 16:39:41 +00:00
|
|
|
- "Firmware image unavailable.\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
ql_log(ql_log_warn, vha, 0x0091,
|
|
|
|
"Firmware images can be retrieved from: "
|
|
|
|
QLA_FW_URL ".\n");
|
|
|
|
--- a/drivers/scsi/qla2xxx/qla_nx.c
|
|
|
|
+++ b/drivers/scsi/qla2xxx/qla_nx.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -2465,11 +2465,8 @@ try_blob_fw:
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
/* Load firmware blob. */
|
|
|
|
blob = ha->hablob = qla2x00_request_firmware(vha);
|
|
|
|
- if (!blob) {
|
|
|
|
- ql_log(ql_log_fatal, vha, 0x00a3,
|
2012-12-10 04:06:21 +00:00
|
|
|
- "Firmware image not present.\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (!blob)
|
|
|
|
goto fw_load_failed;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* Validating firmware blob */
|
|
|
|
if (qla82xx_validate_firmware_blob(vha,
|
|
|
|
--- a/drivers/scsi/qla2xxx/qla_os.c
|
|
|
|
+++ b/drivers/scsi/qla2xxx/qla_os.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -5956,8 +5956,6 @@ qla2x00_request_firmware(scsi_qla_host_t
|
2012-12-09 17:13:28 +00:00
|
|
|
goto out;
|
|
|
|
|
|
|
|
if (request_firmware(&blob->fw, blob->name, &ha->pdev->dev)) {
|
|
|
|
- ql_log(ql_log_warn, vha, 0x0063,
|
|
|
|
- "Failed to load firmware image (%s).\n", blob->name);
|
|
|
|
blob->fw = NULL;
|
|
|
|
blob = NULL;
|
|
|
|
goto out;
|
|
|
|
--- a/drivers/scsi/qlogicpti.c
|
|
|
|
+++ b/drivers/scsi/qlogicpti.c
|
2013-02-19 06:36:33 +00:00
|
|
|
@@ -475,11 +475,8 @@ static int qlogicpti_load_firmware(struc
|
2012-12-09 17:13:28 +00:00
|
|
|
int i, timeout;
|
|
|
|
|
|
|
|
err = request_firmware(&fw, fwname, &qpti->op->dev);
|
|
|
|
- if (err) {
|
|
|
|
- printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
|
|
|
|
- fwname, err);
|
|
|
|
+ if (err)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
if (fw->size % 2) {
|
|
|
|
printk(KERN_ERR "Bogus length %zu in image \"%s\"\n",
|
|
|
|
fw->size, fwname);
|
2014-09-13 06:23:27 +00:00
|
|
|
--- a/drivers/media/usb/go7007/go7007-driver.c
|
|
|
|
+++ b/drivers/media/usb/go7007/go7007-driver.c
|
|
|
|
@@ -92,10 +92,8 @@ static int go7007_load_encoder(struct go
|
2012-12-09 17:13:28 +00:00
|
|
|
u16 intr_val, intr_data;
|
|
|
|
|
2013-06-02 18:14:09 +00:00
|
|
|
if (go->boot_fw == NULL) {
|
|
|
|
- if (request_firmware(&fw_entry, fw_name, go->dev)) {
|
|
|
|
- v4l2_err(go, "unable to load firmware from file \"%s\"\n", fw_name);
|
|
|
|
+ if (request_firmware(&fw_entry, fw_name, go->dev))
|
|
|
|
return -1;
|
|
|
|
- }
|
|
|
|
if (fw_entry->size < 16 || memcmp(fw_entry->data, "WISGO7007FW", 11)) {
|
|
|
|
v4l2_err(go, "file \"%s\" does not appear to be go7007 firmware\n", fw_name);
|
|
|
|
release_firmware(fw_entry);
|
2014-09-13 06:23:27 +00:00
|
|
|
--- a/drivers/media/usb/go7007/go7007-fw.c
|
|
|
|
+++ b/drivers/media/usb/go7007/go7007-fw.c
|
2013-06-02 18:14:09 +00:00
|
|
|
@@ -1570,12 +1570,8 @@ int go7007_construct_fw_image(struct go7
|
2012-12-09 17:13:28 +00:00
|
|
|
default:
|
|
|
|
return -1;
|
|
|
|
}
|
2013-06-02 18:14:09 +00:00
|
|
|
- if (request_firmware(&fw_entry, GO7007_FW_NAME, go->dev)) {
|
2013-02-19 06:36:33 +00:00
|
|
|
- dev_err(go->dev,
|
|
|
|
- "unable to load firmware from file \"%s\"\n",
|
2013-06-02 18:14:09 +00:00
|
|
|
- GO7007_FW_NAME);
|
|
|
|
+ if (request_firmware(&fw_entry, GO7007_FW_NAME, go->dev))
|
2012-12-09 17:13:28 +00:00
|
|
|
return -1;
|
|
|
|
- }
|
|
|
|
code = kzalloc(codespace * 2, GFP_KERNEL);
|
2013-05-06 21:53:29 +00:00
|
|
|
if (code == NULL)
|
|
|
|
goto fw_failed;
|
2014-09-13 06:23:27 +00:00
|
|
|
--- a/drivers/media/usb/go7007/go7007-loader.c
|
|
|
|
+++ b/drivers/media/usb/go7007/go7007-loader.c
|
|
|
|
@@ -75,11 +75,8 @@ static int go7007_loader_probe(struct us
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2013-06-02 18:14:09 +00:00
|
|
|
dev_info(&interface->dev, "loading firmware %s\n", fw1);
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2013-06-02 18:14:09 +00:00
|
|
|
- if (request_firmware(&fw, fw1, &usbdev->dev)) {
|
2013-05-06 21:53:29 +00:00
|
|
|
- dev_err(&interface->dev,
|
2013-06-02 18:14:09 +00:00
|
|
|
- "unable to load firmware from file \"%s\"\n", fw1);
|
|
|
|
+ if (request_firmware(&fw, fw1, &usbdev->dev))
|
2012-12-09 17:13:28 +00:00
|
|
|
goto failed2;
|
|
|
|
- }
|
2013-06-02 18:14:09 +00:00
|
|
|
ret = cypress_load_firmware(usbdev, fw, CYPRESS_FX2);
|
2012-12-09 17:13:28 +00:00
|
|
|
release_firmware(fw);
|
|
|
|
if (0 != ret) {
|
2014-09-13 06:23:27 +00:00
|
|
|
@@ -90,11 +87,8 @@ static int go7007_loader_probe(struct us
|
2013-06-02 18:14:09 +00:00
|
|
|
if (fw2 == NULL)
|
|
|
|
return 0;
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2013-06-02 18:14:09 +00:00
|
|
|
- if (request_firmware(&fw, fw2, &usbdev->dev)) {
|
2013-05-06 21:53:29 +00:00
|
|
|
- dev_err(&interface->dev,
|
2013-06-02 18:14:09 +00:00
|
|
|
- "unable to load firmware from file \"%s\"\n", fw2);
|
|
|
|
+ if (request_firmware(&fw, fw2, &usbdev->dev))
|
2012-12-09 17:13:28 +00:00
|
|
|
goto failed2;
|
|
|
|
- }
|
2013-06-02 18:14:09 +00:00
|
|
|
ret = cypress_load_firmware(usbdev, fw, CYPRESS_FX2);
|
2012-12-09 17:13:28 +00:00
|
|
|
release_firmware(fw);
|
|
|
|
if (0 != ret) {
|
|
|
|
--- a/drivers/staging/media/lirc/lirc_zilog.c
|
|
|
|
+++ b/drivers/staging/media/lirc/lirc_zilog.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -762,9 +762,6 @@ static int fw_load(struct IR_tx *tx)
|
2012-12-09 17:13:28 +00:00
|
|
|
/* Request codeset data file */
|
|
|
|
ret = request_firmware(&fw_entry, "haup-ir-blaster.bin", tx->ir->l.dev);
|
|
|
|
if (ret != 0) {
|
2015-04-13 02:02:26 +00:00
|
|
|
- dev_err(tx->ir->l.dev,
|
|
|
|
- "firmware haup-ir-blaster.bin not available (%d)\n",
|
|
|
|
- ret);
|
2012-12-09 17:13:28 +00:00
|
|
|
ret = ret < 0 ? ret : -EFAULT;
|
|
|
|
goto out;
|
|
|
|
}
|
|
|
|
--- a/drivers/staging/rtl8192u/r819xU_firmware.c
|
|
|
|
+++ b/drivers/staging/rtl8192u/r819xU_firmware.c
|
2015-09-26 16:23:14 +00:00
|
|
|
@@ -244,10 +244,8 @@ bool init_firmware(struct net_device *de
|
2012-12-09 17:13:28 +00:00
|
|
|
*/
|
2013-07-22 04:06:03 +00:00
|
|
|
if (rst_opt == OPT_SYSTEM_RESET) {
|
2015-09-26 16:23:14 +00:00
|
|
|
rc = request_firmware(&fw_entry, fw_name[init_step], &priv->udev->dev);
|
2014-12-09 03:06:08 +00:00
|
|
|
- if (rc < 0) {
|
2012-12-09 17:13:28 +00:00
|
|
|
- RT_TRACE(COMP_ERR, "request firmware fail!\n");
|
|
|
|
+ if (rc)
|
|
|
|
goto download_firmware_fail;
|
|
|
|
- }
|
|
|
|
|
2013-07-22 04:06:03 +00:00
|
|
|
if (fw_entry->size > sizeof(pfirmware->firmware_buf)) {
|
2012-12-09 17:13:28 +00:00
|
|
|
RT_TRACE(COMP_ERR, "img file size exceed the container buffer fail!\n");
|
|
|
|
--- a/drivers/staging/rtl8712/hal_init.c
|
|
|
|
+++ b/drivers/staging/rtl8712/hal_init.c
|
2016-06-09 00:55:39 +00:00
|
|
|
@@ -67,8 +67,6 @@ int rtl871x_load_fw(struct _adapter *pad
|
2014-12-09 03:06:08 +00:00
|
|
|
dev_info(dev, "r8712u: Loading firmware from \"%s\"\n", firmware_file);
|
|
|
|
rc = request_firmware_nowait(THIS_MODULE, 1, firmware_file, dev,
|
|
|
|
GFP_KERNEL, padapter, rtl871x_load_fw_cb);
|
|
|
|
- if (rc)
|
|
|
|
- dev_err(dev, "r8712u: Firmware request error %d\n", rc);
|
|
|
|
return rc;
|
|
|
|
}
|
|
|
|
MODULE_FIRMWARE("rtlwifi/rtl8712u.bin");
|
2017-01-24 19:25:08 +00:00
|
|
|
--- a/drivers/net/ethernet/alacritech/slicoss.c
|
|
|
|
+++ b/drivers/net/ethernet/alacritech/slicoss.c
|
|
|
|
@@ -1063,11 +1063,8 @@ static int slic_load_rcvseq_firmware(str
|
|
|
|
file = (sdev->model == SLIC_MODEL_OASIS) ? SLIC_RCV_FIRMWARE_OASIS :
|
|
|
|
SLIC_RCV_FIRMWARE_MOJAVE;
|
|
|
|
err = request_firmware(&fw, file, &sdev->pdev->dev);
|
|
|
|
- if (err) {
|
|
|
|
- dev_err(&sdev->pdev->dev,
|
|
|
|
- "failed to load receive sequencer firmware %s\n", file);
|
|
|
|
+ if (err)
|
|
|
|
return err;
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
2017-01-24 19:25:08 +00:00
|
|
|
/* Do an initial sanity check concerning firmware size now. A further
|
|
|
|
* check follows below.
|
|
|
|
*/
|
|
|
|
@@ -1138,10 +1135,8 @@ static int slic_load_firmware(struct sli
|
|
|
|
file = (sdev->model == SLIC_MODEL_OASIS) ? SLIC_FIRMWARE_OASIS :
|
|
|
|
SLIC_FIRMWARE_MOJAVE;
|
|
|
|
err = request_firmware(&fw, file, &sdev->pdev->dev);
|
|
|
|
- if (err) {
|
|
|
|
- dev_err(&sdev->pdev->dev, "failed to load firmware %s\n", file);
|
|
|
|
+ if (err)
|
|
|
|
return err;
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
2017-01-24 19:25:08 +00:00
|
|
|
/* Do an initial sanity check concerning firmware size now. A further
|
|
|
|
* check follows below.
|
|
|
|
*/
|
2012-12-09 17:13:28 +00:00
|
|
|
--- a/drivers/staging/vt6656/firmware.c
|
|
|
|
+++ b/drivers/staging/vt6656/firmware.c
|
2016-02-15 16:36:21 +00:00
|
|
|
@@ -49,11 +49,8 @@ int vnt_download_firmware(struct vnt_pri
|
2014-09-13 06:23:27 +00:00
|
|
|
dev_dbg(dev, "---->Download firmware\n");
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2013-02-19 06:36:33 +00:00
|
|
|
rc = request_firmware(&fw, FIRMWARE_NAME, dev);
|
|
|
|
- if (rc) {
|
|
|
|
- dev_err(dev, "firmware file %s request failed (%d)\n",
|
|
|
|
- FIRMWARE_NAME, rc);
|
|
|
|
- goto out;
|
|
|
|
- }
|
|
|
|
+ if (rc)
|
|
|
|
+ goto out;
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2014-09-13 06:23:27 +00:00
|
|
|
buffer = kmalloc(FIRMWARE_CHUNK_SIZE, GFP_KERNEL);
|
|
|
|
if (!buffer)
|
2012-12-09 17:13:28 +00:00
|
|
|
--- a/drivers/tty/cyclades.c
|
|
|
|
+++ b/drivers/tty/cyclades.c
|
2016-10-28 23:36:56 +00:00
|
|
|
@@ -3495,10 +3495,8 @@ static int cyz_load_fw(struct pci_dev *p
|
2012-12-09 17:13:28 +00:00
|
|
|
int retval;
|
|
|
|
|
|
|
|
retval = request_firmware(&fw, "cyzfirm.bin", &pdev->dev);
|
|
|
|
- if (retval) {
|
|
|
|
- dev_err(&pdev->dev, "can't get firmware\n");
|
|
|
|
+ if (retval)
|
|
|
|
goto err;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* Check whether the firmware is already loaded and running. If
|
|
|
|
positive, skip this board */
|
|
|
|
--- a/drivers/tty/moxa.c
|
|
|
|
+++ b/drivers/tty/moxa.c
|
2016-02-15 16:36:21 +00:00
|
|
|
@@ -866,13 +866,8 @@ static int moxa_init_board(struct moxa_b
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, file, dev);
|
|
|
|
- if (ret) {
|
|
|
|
- printk(KERN_ERR "MOXA: request_firmware failed. Make sure "
|
|
|
|
- "you've placed '%s' file into your firmware "
|
|
|
|
- "loader directory (e.g. /lib/firmware)\n",
|
|
|
|
- file);
|
|
|
|
+ if (ret)
|
|
|
|
goto err_free;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ret = moxa_load_fw(brd, fw);
|
|
|
|
|
|
|
|
--- a/drivers/tty/serial/icom.c
|
|
|
|
+++ b/drivers/tty/serial/icom.c
|
2016-02-15 16:36:21 +00:00
|
|
|
@@ -374,7 +374,6 @@ static void load_code(struct icom_port *
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
/* Load Call Setup into Adapter */
|
|
|
|
if (request_firmware(&fw, "icom_call_setup.bin", &dev->dev) < 0) {
|
|
|
|
- dev_err(&dev->dev,"Unable to load icom_call_setup.bin firmware image\n");
|
|
|
|
status = -1;
|
|
|
|
goto load_code_exit;
|
|
|
|
}
|
2016-02-15 16:36:21 +00:00
|
|
|
@@ -394,7 +393,6 @@ static void load_code(struct icom_port *
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
/* Load Resident DCE portion of Adapter */
|
|
|
|
if (request_firmware(&fw, "icom_res_dce.bin", &dev->dev) < 0) {
|
|
|
|
- dev_err(&dev->dev,"Unable to load icom_res_dce.bin firmware image\n");
|
|
|
|
status = -1;
|
|
|
|
goto load_code_exit;
|
|
|
|
}
|
2016-02-15 16:36:21 +00:00
|
|
|
@@ -439,7 +437,6 @@ static void load_code(struct icom_port *
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (request_firmware(&fw, "icom_asc.bin", &dev->dev) < 0) {
|
|
|
|
- dev_err(&dev->dev,"Unable to load icom_asc.bin firmware image\n");
|
|
|
|
status = -1;
|
|
|
|
goto load_code_exit;
|
|
|
|
}
|
|
|
|
--- a/drivers/tty/serial/ucc_uart.c
|
|
|
|
+++ b/drivers/tty/serial/ucc_uart.c
|
2014-09-13 06:23:27 +00:00
|
|
|
@@ -1167,10 +1167,8 @@ static void uart_firmware_cont(const str
|
2012-12-09 17:13:28 +00:00
|
|
|
struct device *dev = context;
|
|
|
|
int ret;
|
|
|
|
|
|
|
|
- if (!fw) {
|
|
|
|
- dev_err(dev, "firmware not found\n");
|
|
|
|
+ if (!fw)
|
|
|
|
return;
|
|
|
|
- }
|
|
|
|
|
|
|
|
firmware = (struct qe_firmware *) fw->data;
|
|
|
|
|
|
|
|
--- a/drivers/usb/atm/cxacru.c
|
|
|
|
+++ b/drivers/usb/atm/cxacru.c
|
2016-04-14 13:59:13 +00:00
|
|
|
@@ -1088,8 +1088,6 @@ static int cxacru_find_firmware(struct c
|
2012-12-09 17:13:28 +00:00
|
|
|
return -ENOENT;
|
|
|
|
}
|
|
|
|
|
|
|
|
- usb_info(usbatm, "found firmware %s\n", buf);
|
|
|
|
-
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
--- a/drivers/usb/atm/ueagle-atm.c
|
|
|
|
+++ b/drivers/usb/atm/ueagle-atm.c
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -649,10 +649,8 @@ static void uea_upload_pre_firmware(cons
|
2012-12-09 17:13:28 +00:00
|
|
|
int ret, size;
|
|
|
|
|
|
|
|
uea_enters(usb);
|
|
|
|
- if (!fw_entry) {
|
|
|
|
- uea_err(usb, "firmware is not available\n");
|
|
|
|
+ if (!fw_entry)
|
|
|
|
goto err;
|
|
|
|
- }
|
|
|
|
|
|
|
|
pfw = fw_entry->data;
|
|
|
|
size = fw_entry->size;
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -747,10 +745,6 @@ static int uea_load_firmware(struct usb_
|
2012-12-09 17:13:28 +00:00
|
|
|
ret = request_firmware_nowait(THIS_MODULE, 1, fw_name, &usb->dev,
|
|
|
|
GFP_KERNEL, usb,
|
|
|
|
uea_upload_pre_firmware);
|
|
|
|
- if (ret)
|
|
|
|
- uea_err(usb, "firmware %s is not available\n", fw_name);
|
|
|
|
- else
|
|
|
|
- uea_info(usb, "loading firmware %s\n", fw_name);
|
|
|
|
|
|
|
|
uea_leaves(usb);
|
|
|
|
return ret;
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -912,12 +906,8 @@ static int request_dsp(struct uea_softc
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
ret = request_firmware(&sc->dsp_firm, dsp_name, &sc->usb_dev->dev);
|
|
|
|
- if (ret < 0) {
|
|
|
|
- uea_err(INS_TO_USBDEV(sc),
|
|
|
|
- "requesting firmware %s failed with error %d\n",
|
|
|
|
- dsp_name, ret);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
if (UEA_CHIP_VERSION(sc) == EAGLE_IV)
|
|
|
|
ret = check_dsp_e4(sc->dsp_firm->data, sc->dsp_firm->size);
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -1630,12 +1620,8 @@ static int request_cmvs_old(struct uea_s
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
cmvs_file_name(sc, cmv_name, 1);
|
|
|
|
ret = request_firmware(fw, cmv_name, &sc->usb_dev->dev);
|
|
|
|
- if (ret < 0) {
|
|
|
|
- uea_err(INS_TO_USBDEV(sc),
|
|
|
|
- "requesting firmware %s failed with error %d\n",
|
|
|
|
- cmv_name, ret);
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
|
|
|
|
data = (u8 *) (*fw)->data;
|
|
|
|
size = (*fw)->size;
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -1672,9 +1658,6 @@ static int request_cmvs(struct uea_softc
|
2012-12-09 17:13:28 +00:00
|
|
|
"try to get older cmvs\n", cmv_name);
|
|
|
|
return request_cmvs_old(sc, cmvs, fw);
|
|
|
|
}
|
|
|
|
- uea_err(INS_TO_USBDEV(sc),
|
|
|
|
- "requesting firmware %s failed with error %d\n",
|
|
|
|
- cmv_name, ret);
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -1957,11 +1940,8 @@ static int load_XILINX_firmware(struct u
|
2012-12-09 17:13:28 +00:00
|
|
|
uea_enters(INS_TO_USBDEV(sc));
|
|
|
|
|
|
|
|
ret = request_firmware(&fw_entry, fw_name, &sc->usb_dev->dev);
|
|
|
|
- if (ret) {
|
|
|
|
- uea_err(INS_TO_USBDEV(sc), "firmware %s is not available\n",
|
|
|
|
- fw_name);
|
|
|
|
+ if (ret)
|
|
|
|
goto err0;
|
|
|
|
- }
|
|
|
|
|
|
|
|
pfw = fw_entry->data;
|
|
|
|
size = fw_entry->size;
|
|
|
|
--- a/drivers/usb/misc/emi26.c
|
|
|
|
+++ b/drivers/usb/misc/emi26.c
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -88,21 +88,17 @@ static int emi26_load_firmware (struct u
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
err = request_ihex_firmware(&loader_fw, "emi26/loader.fw", &dev->dev);
|
|
|
|
if (err)
|
|
|
|
- goto nofw;
|
|
|
|
+ goto wraperr;
|
|
|
|
|
|
|
|
err = request_ihex_firmware(&bitstream_fw, "emi26/bitstream.fw",
|
|
|
|
&dev->dev);
|
|
|
|
if (err)
|
|
|
|
- goto nofw;
|
|
|
|
+ goto wraperr;
|
|
|
|
|
|
|
|
err = request_ihex_firmware(&firmware_fw, "emi26/firmware.fw",
|
|
|
|
&dev->dev);
|
|
|
|
- if (err) {
|
|
|
|
- nofw:
|
|
|
|
- dev_err(&dev->dev, "%s - request_firmware() failed\n",
|
|
|
|
- __func__);
|
|
|
|
+ if (err)
|
|
|
|
goto wraperr;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* Assert reset (stop the CPU in the EMI) */
|
|
|
|
err = emi26_set_reset(dev,1);
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/drivers/usb/misc/ezusb.c
|
|
|
|
+++ b/drivers/usb/misc/ezusb.c
|
2014-03-06 02:36:41 +00:00
|
|
|
@@ -79,12 +79,8 @@ static int ezusb_ihex_firmware_download(
|
2012-12-16 15:20:29 +00:00
|
|
|
const struct ihex_binrec *record;
|
|
|
|
|
|
|
|
if (request_ihex_firmware(&firmware, firmware_path,
|
|
|
|
- &dev->dev)) {
|
|
|
|
- dev_err(&dev->dev,
|
|
|
|
- "%s - request \"%s\" failed\n",
|
|
|
|
- __func__, firmware_path);
|
|
|
|
+ &dev->dev))
|
|
|
|
goto out;
|
|
|
|
- }
|
|
|
|
|
|
|
|
ret = ezusb_set_reset(dev, fx.cpucs_reg, 0);
|
|
|
|
if (ret < 0)
|
2012-12-09 17:13:28 +00:00
|
|
|
--- a/drivers/usb/misc/isight_firmware.c
|
|
|
|
+++ b/drivers/usb/misc/isight_firmware.c
|
|
|
|
@@ -48,7 +48,6 @@ static int isight_firmware_load(struct u
|
|
|
|
return -ENOMEM;
|
|
|
|
|
|
|
|
if (request_firmware(&firmware, "isight.fw", &dev->dev) != 0) {
|
|
|
|
- printk(KERN_ERR "Unable to load isight firmware\n");
|
|
|
|
ret = -ENODEV;
|
|
|
|
goto out;
|
|
|
|
}
|
|
|
|
--- a/drivers/usb/serial/io_edgeport.c
|
|
|
|
+++ b/drivers/usb/serial/io_edgeport.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -379,11 +379,8 @@ static void update_edgeport_E2PROM(struc
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
response = request_ihex_firmware(&fw, fw_name,
|
|
|
|
&edge_serial->serial->dev->dev);
|
|
|
|
- if (response) {
|
2012-12-16 15:20:29 +00:00
|
|
|
- dev_err(dev, "Failed to load image \"%s\" err %d\n",
|
2012-12-09 17:13:28 +00:00
|
|
|
- fw_name, response);
|
|
|
|
+ if (response)
|
|
|
|
return;
|
|
|
|
- }
|
|
|
|
|
|
|
|
rec = (const struct ihex_binrec *)fw->data;
|
|
|
|
BootMajorVersion = rec->data[0];
|
|
|
|
--- a/drivers/usb/serial/io_ti.c
|
|
|
|
+++ b/drivers/usb/serial/io_ti.c
|
2015-12-10 18:13:16 +00:00
|
|
|
@@ -1014,8 +1014,6 @@ static int download_fw(struct edgeport_s
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2015-09-26 16:23:14 +00:00
|
|
|
status = request_firmware(&fw, fw_name, dev);
|
|
|
|
if (status) {
|
2012-12-16 15:20:29 +00:00
|
|
|
- dev_err(dev, "Failed to load image \"%s\" err %d\n",
|
2015-09-26 16:23:14 +00:00
|
|
|
- fw_name, status);
|
|
|
|
return status;
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
2015-12-10 18:13:16 +00:00
|
|
|
|
2012-12-09 17:13:28 +00:00
|
|
|
--- a/drivers/usb/serial/ti_usb_3410_5052.c
|
|
|
|
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1702,10 +1702,8 @@ static int ti_download_firmware(struct t
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
2016-06-09 00:55:39 +00:00
|
|
|
|
|
|
|
check_firmware:
|
2012-12-09 17:13:28 +00:00
|
|
|
- if (status) {
|
|
|
|
- dev_err(&dev->dev, "%s - firmware not found\n", __func__);
|
|
|
|
+ if (status)
|
|
|
|
return -ENOENT;
|
|
|
|
- }
|
|
|
|
if (fw_p->size > TI_FIRMWARE_BUF_SIZE) {
|
|
|
|
dev_err(&dev->dev, "%s - firmware too large %zu\n", __func__, fw_p->size);
|
|
|
|
release_firmware(fw_p);
|
2014-05-02 01:45:17 +00:00
|
|
|
--- a/drivers/video/fbdev/broadsheetfb.c
|
|
|
|
+++ b/drivers/video/fbdev/broadsheetfb.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -743,10 +743,8 @@ static ssize_t broadsheet_loadstore_wave
|
2012-12-09 17:13:28 +00:00
|
|
|
return -EINVAL;
|
|
|
|
|
|
|
|
err = request_firmware(&fw_entry, "broadsheet.wbf", dev);
|
|
|
|
- if (err < 0) {
|
|
|
|
- dev_err(dev, "Failed to get broadsheet waveform\n");
|
|
|
|
+ if (err)
|
|
|
|
goto err_failed;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* try to enforce reasonable min max on waveform */
|
|
|
|
if ((fw_entry->size < 8*1024) || (fw_entry->size > 64*1024)) {
|
2014-05-02 01:45:17 +00:00
|
|
|
--- a/drivers/video/fbdev/metronomefb.c
|
|
|
|
+++ b/drivers/video/fbdev/metronomefb.c
|
2016-04-14 13:59:13 +00:00
|
|
|
@@ -679,10 +679,8 @@ static int metronomefb_probe(struct plat
|
2012-12-09 17:13:28 +00:00
|
|
|
a) request the waveform file from userspace
|
|
|
|
b) process waveform and decode into metromem */
|
|
|
|
retval = request_firmware(&fw_entry, "metronome.wbf", &dev->dev);
|
|
|
|
- if (retval < 0) {
|
|
|
|
- dev_err(&dev->dev, "Failed to get waveform\n");
|
|
|
|
+ if (retval)
|
|
|
|
goto err_csum_table;
|
|
|
|
- }
|
|
|
|
|
|
|
|
retval = load_waveform((u8 *) fw_entry->data, fw_entry->size, 3, 31,
|
|
|
|
par);
|
|
|
|
--- a/sound/drivers/vx/vx_hwdep.c
|
|
|
|
+++ b/sound/drivers/vx/vx_hwdep.c
|
2013-02-19 06:36:33 +00:00
|
|
|
@@ -71,10 +71,8 @@ int snd_vx_setup_firmware(struct vx_core
|
2012-12-09 17:13:28 +00:00
|
|
|
if (! fw_files[chip->type][i])
|
|
|
|
continue;
|
|
|
|
sprintf(path, "vx/%s", fw_files[chip->type][i]);
|
|
|
|
- if (request_firmware(&fw, path, chip->dev)) {
|
|
|
|
- snd_printk(KERN_ERR "vx: can't load firmware %s\n", path);
|
|
|
|
+ if (request_firmware(&fw, path, chip->dev))
|
|
|
|
return -ENOENT;
|
|
|
|
- }
|
|
|
|
err = chip->ops->load_dsp(chip, i, fw);
|
|
|
|
if (err < 0) {
|
|
|
|
release_firmware(fw);
|
|
|
|
--- a/sound/isa/msnd/msnd_pinnacle.c
|
|
|
|
+++ b/sound/isa/msnd/msnd_pinnacle.c
|
2013-12-21 18:20:34 +00:00
|
|
|
@@ -389,15 +389,11 @@ static int upload_dsp_code(struct snd_ca
|
2012-12-09 17:13:28 +00:00
|
|
|
outb(HPBLKSEL_0, chip->io + HP_BLKS);
|
|
|
|
|
|
|
|
err = request_firmware(&init_fw, INITCODEFILE, card->dev);
|
|
|
|
- if (err < 0) {
|
|
|
|
- printk(KERN_ERR LOGNAME ": Error loading " INITCODEFILE);
|
|
|
|
+ if (err)
|
|
|
|
goto cleanup1;
|
|
|
|
- }
|
|
|
|
err = request_firmware(&perm_fw, PERMCODEFILE, card->dev);
|
|
|
|
- if (err < 0) {
|
|
|
|
- printk(KERN_ERR LOGNAME ": Error loading " PERMCODEFILE);
|
|
|
|
+ if (err)
|
|
|
|
goto cleanup;
|
|
|
|
- }
|
|
|
|
|
|
|
|
memcpy_toio(chip->mappedbase, perm_fw->data, perm_fw->size);
|
|
|
|
if (snd_msnd_upload_host(chip, init_fw->data, init_fw->size) < 0) {
|
|
|
|
--- a/sound/isa/sscape.c
|
|
|
|
+++ b/sound/isa/sscape.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -544,10 +544,8 @@ static int sscape_upload_bootblock(struc
|
2012-12-09 17:13:28 +00:00
|
|
|
int ret;
|
|
|
|
|
|
|
|
ret = request_firmware(&init_fw, "scope.cod", card->dev);
|
|
|
|
- if (ret < 0) {
|
|
|
|
- snd_printk(KERN_ERR "sscape: Error loading scope.cod");
|
|
|
|
+ if (ret)
|
|
|
|
return ret;
|
|
|
|
- }
|
|
|
|
ret = upload_dma_data(sscape, init_fw->data, init_fw->size);
|
|
|
|
|
|
|
|
release_firmware(init_fw);
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -584,11 +582,8 @@ static int sscape_upload_microcode(struc
|
2012-12-09 17:13:28 +00:00
|
|
|
snprintf(name, sizeof(name), "sndscape.co%d", version);
|
|
|
|
|
|
|
|
err = request_firmware(&init_fw, name, card->dev);
|
|
|
|
- if (err < 0) {
|
|
|
|
- snd_printk(KERN_ERR "sscape: Error loading sndscape.co%d",
|
|
|
|
- version);
|
|
|
|
+ if (err)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
err = upload_dma_data(sscape, init_fw->data, init_fw->size);
|
|
|
|
if (err == 0)
|
2016-04-27 21:50:01 +00:00
|
|
|
snd_printk(KERN_INFO "sscape: MIDI firmware loaded %zu KBs\n",
|
2012-12-09 17:13:28 +00:00
|
|
|
--- a/sound/isa/wavefront/wavefront_synth.c
|
|
|
|
+++ b/sound/isa/wavefront/wavefront_synth.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1957,10 +1957,8 @@ wavefront_download_firmware (snd_wavefro
|
2012-12-09 17:13:28 +00:00
|
|
|
const struct firmware *firmware;
|
|
|
|
|
|
|
|
err = request_firmware(&firmware, path, dev->card->dev);
|
|
|
|
- if (err < 0) {
|
|
|
|
- snd_printk(KERN_ERR "firmware (%s) download failed!!!\n", path);
|
|
|
|
+ if (err)
|
|
|
|
return 1;
|
|
|
|
- }
|
|
|
|
|
|
|
|
len = 0;
|
|
|
|
buf = firmware->data;
|
|
|
|
--- a/sound/pci/asihpi/hpidspcd.c
|
|
|
|
+++ b/sound/pci/asihpi/hpidspcd.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -46,8 +46,6 @@ short hpi_dsp_code_open(u32 adapter, voi
|
2012-12-09 17:13:28 +00:00
|
|
|
err = request_firmware(&firmware, fw_name, &dev->dev);
|
|
|
|
|
|
|
|
if (err || !firmware) {
|
2013-02-19 06:36:33 +00:00
|
|
|
- dev_err(&dev->dev, "%d, request_firmware failed for %s\n",
|
|
|
|
- err, fw_name);
|
2012-12-09 17:13:28 +00:00
|
|
|
goto error1;
|
|
|
|
}
|
|
|
|
if (firmware->size < sizeof(header)) {
|
|
|
|
--- a/sound/pci/echoaudio/echoaudio.c
|
|
|
|
+++ b/sound/pci/echoaudio/echoaudio.c
|
2015-02-08 19:30:35 +00:00
|
|
|
@@ -60,11 +60,8 @@ static int get_firmware(const struct fir
|
|
|
|
"firmware requested: %s\n", card_fw[fw_index].data);
|
2012-12-09 17:13:28 +00:00
|
|
|
snprintf(name, sizeof(name), "ea/%s", card_fw[fw_index].data);
|
|
|
|
err = request_firmware(fw_entry, name, pci_device(chip));
|
|
|
|
- if (err < 0)
|
2014-05-02 01:45:17 +00:00
|
|
|
- dev_err(chip->card->dev,
|
|
|
|
- "get_firmware(): Firmware not available (%d)\n", err);
|
2012-12-16 15:20:29 +00:00
|
|
|
#ifdef CONFIG_PM_SLEEP
|
2012-12-09 17:13:28 +00:00
|
|
|
- else
|
|
|
|
+ if (!err)
|
|
|
|
chip->fw_cache[fw_index] = *fw_entry;
|
|
|
|
#endif
|
|
|
|
return err;
|
|
|
|
--- a/sound/pci/emu10k1/emu10k1_main.c
|
|
|
|
+++ b/sound/pci/emu10k1/emu10k1_main.c
|
2017-01-24 19:25:08 +00:00
|
|
|
@@ -887,10 +887,8 @@ static int snd_emu10k1_emu1010_init(stru
|
|
|
|
dev_info(emu->card->dev, "emu1010: EMU_HANA_ID = 0x%x\n", reg);
|
2012-12-09 17:13:28 +00:00
|
|
|
|
2017-01-24 19:25:08 +00:00
|
|
|
err = snd_emu1010_load_firmware(emu, 0, &emu->firmware);
|
|
|
|
- if (err < 0) {
|
|
|
|
- dev_info(emu->card->dev, "emu1010: Loading Firmware failed\n");
|
|
|
|
+ if (err < 0)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
|
|
|
|
/* ID, should read & 0x7f = 0x55 when FPGA programmed. */
|
|
|
|
snd_emu1010_fpga_read(emu, EMU_HANA_ID, ®);
|
2012-12-16 15:20:29 +00:00
|
|
|
--- a/sound/pci/hda/hda_intel.c
|
|
|
|
+++ b/sound/pci/hda/hda_intel.c
|
2017-04-19 09:30:57 +00:00
|
|
|
@@ -1827,10 +1827,8 @@ static void azx_firmware_cb(const struct
|
2012-12-16 15:20:29 +00:00
|
|
|
struct azx *chip = card->private_data;
|
|
|
|
struct pci_dev *pci = chip->pci;
|
|
|
|
|
|
|
|
- if (!fw) {
|
2014-05-02 01:45:17 +00:00
|
|
|
- dev_err(card->dev, "Cannot load firmware, aborting\n");
|
2012-12-16 15:20:29 +00:00
|
|
|
+ if (!fw)
|
|
|
|
goto error;
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
|
|
|
|
2012-12-16 15:20:29 +00:00
|
|
|
chip->fw = fw;
|
|
|
|
if (!chip->disabled) {
|
2012-12-09 17:13:28 +00:00
|
|
|
--- a/sound/pci/korg1212/korg1212.c
|
|
|
|
+++ b/sound/pci/korg1212/korg1212.c
|
2015-12-10 18:13:16 +00:00
|
|
|
@@ -2332,7 +2332,6 @@ static int snd_korg1212_create(struct sn
|
2012-12-09 17:13:28 +00:00
|
|
|
err = request_firmware(&dsp_code, "korg/k1212.dsp", &pci->dev);
|
|
|
|
if (err < 0) {
|
|
|
|
release_firmware(dsp_code);
|
|
|
|
- snd_printk(KERN_ERR "firmware not available\n");
|
|
|
|
snd_korg1212_free(korg1212);
|
|
|
|
return err;
|
|
|
|
}
|
|
|
|
--- a/sound/pci/mixart/mixart_hwdep.c
|
|
|
|
+++ b/sound/pci/mixart/mixart_hwdep.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -571,11 +571,8 @@ int snd_mixart_setup_firmware(struct mix
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
sprintf(path, "mixart/%s", fw_files[i]);
|
|
|
|
- if (request_firmware(&fw_entry, path, &mgr->pci->dev)) {
|
2014-05-02 01:45:17 +00:00
|
|
|
- dev_err(&mgr->pci->dev,
|
|
|
|
- "miXart: can't load firmware %s\n", path);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (request_firmware(&fw_entry, path, &mgr->pci->dev))
|
|
|
|
return -ENOENT;
|
|
|
|
- }
|
|
|
|
/* fake hwdep dsp record */
|
|
|
|
err = mixart_dsp_load(mgr, i, fw_entry);
|
|
|
|
release_firmware(fw_entry);
|
|
|
|
--- a/sound/pci/pcxhr/pcxhr_hwdep.c
|
|
|
|
+++ b/sound/pci/pcxhr/pcxhr_hwdep.c
|
2014-05-02 01:45:17 +00:00
|
|
|
@@ -385,12 +385,8 @@ int pcxhr_setup_firmware(struct pcxhr_mg
|
2012-12-09 17:13:28 +00:00
|
|
|
if (!fw_files[fw_set][i])
|
|
|
|
continue;
|
|
|
|
sprintf(path, "pcxhr/%s", fw_files[fw_set][i]);
|
|
|
|
- if (request_firmware(&fw_entry, path, &mgr->pci->dev)) {
|
2014-05-02 01:45:17 +00:00
|
|
|
- dev_err(&mgr->pci->dev,
|
|
|
|
- "pcxhr: can't load firmware %s\n",
|
2012-12-09 17:13:28 +00:00
|
|
|
- path);
|
|
|
|
+ if (request_firmware(&fw_entry, path, &mgr->pci->dev))
|
|
|
|
return -ENOENT;
|
|
|
|
- }
|
|
|
|
/* fake hwdep dsp record */
|
|
|
|
err = pcxhr_dsp_load(mgr, i, fw_entry);
|
|
|
|
release_firmware(fw_entry);
|
|
|
|
--- a/sound/pci/riptide/riptide.c
|
|
|
|
+++ b/sound/pci/riptide/riptide.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -1231,11 +1231,8 @@ static int try_to_load_firmware(struct c
|
2012-12-09 17:13:28 +00:00
|
|
|
if (!chip->fw_entry) {
|
|
|
|
err = request_firmware(&chip->fw_entry, "riptide.hex",
|
|
|
|
&chip->pci->dev);
|
|
|
|
- if (err) {
|
|
|
|
- snd_printk(KERN_ERR
|
|
|
|
- "Riptide: Firmware not available %d\n", err);
|
|
|
|
+ if (err)
|
|
|
|
return -EIO;
|
|
|
|
- }
|
|
|
|
}
|
|
|
|
err = loadfirmware(cif, chip->fw_entry->data, chip->fw_entry->size);
|
|
|
|
if (err) {
|
|
|
|
--- a/sound/pci/rme9652/hdsp.c
|
|
|
|
+++ b/sound/pci/rme9652/hdsp.c
|
2015-09-26 16:23:14 +00:00
|
|
|
@@ -5103,11 +5103,8 @@ static int hdsp_request_fw_loader(struct
|
2012-12-09 17:13:28 +00:00
|
|
|
return -EINVAL;
|
|
|
|
}
|
|
|
|
|
|
|
|
- if (request_firmware(&fw, fwfile, &hdsp->pci->dev)) {
|
2014-05-02 01:45:17 +00:00
|
|
|
- dev_err(hdsp->card->dev,
|
|
|
|
- "cannot load firmware %s\n", fwfile);
|
2012-12-09 17:13:28 +00:00
|
|
|
+ if (request_firmware(&fw, fwfile, &hdsp->pci->dev))
|
|
|
|
return -ENOENT;
|
|
|
|
- }
|
2013-02-19 06:36:33 +00:00
|
|
|
if (fw->size < HDSP_FIRMWARE_SIZE) {
|
2014-05-02 01:45:17 +00:00
|
|
|
dev_err(hdsp->card->dev,
|
|
|
|
"too short firmware size %d (expected %d)\n",
|
2012-12-09 17:13:28 +00:00
|
|
|
--- a/sound/soc/codecs/wm2000.c
|
|
|
|
+++ b/sound/soc/codecs/wm2000.c
|
2016-10-28 23:36:56 +00:00
|
|
|
@@ -891,10 +891,8 @@ static int wm2000_i2c_probe(struct i2c_c
|
2012-12-09 17:13:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
ret = request_firmware(&fw, filename, &i2c->dev);
|
|
|
|
- if (ret != 0) {
|
|
|
|
- dev_err(&i2c->dev, "Failed to acquire ANC data: %d\n", ret);
|
|
|
|
+ if (ret != 0)
|
2012-12-16 15:20:29 +00:00
|
|
|
goto err_supplies;
|
2012-12-09 17:13:28 +00:00
|
|
|
- }
|
|
|
|
|
|
|
|
/* Pre-cook the concatenation of the register address onto the image */
|
|
|
|
wm2000->anc_download_size = fw->size + 2;
|
|
|
|
--- a/sound/usb/6fire/firmware.c
|
|
|
|
+++ b/sound/usb/6fire/firmware.c
|
2012-12-10 04:06:21 +00:00
|
|
|
@@ -219,8 +219,6 @@ static int usb6fire_fw_ezusb_upload(
|
2012-12-09 17:13:28 +00:00
|
|
|
ret = request_firmware(&fw, fwname, &device->dev);
|
|
|
|
if (ret < 0) {
|
|
|
|
kfree(rec);
|
2014-05-02 01:45:17 +00:00
|
|
|
- dev_err(&intf->dev,
|
|
|
|
- "error requesting ezusb firmware %s.\n", fwname);
|
2012-12-09 17:13:28 +00:00
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
ret = usb6fire_fw_ihex_init(fw, rec);
|
2014-05-02 01:45:17 +00:00
|
|
|
@@ -296,8 +294,6 @@ static int usb6fire_fw_fpga_upload(
|
2012-12-09 17:13:28 +00:00
|
|
|
|
|
|
|
ret = request_firmware(&fw, fwname, &device->dev);
|
|
|
|
if (ret < 0) {
|
2014-05-02 01:45:17 +00:00
|
|
|
- dev_err(&intf->dev, "unable to get fpga firmware %s.\n",
|
2012-12-09 17:13:28 +00:00
|
|
|
- fwname);
|
|
|
|
kfree(buffer);
|
|
|
|
return -EIO;
|
|
|
|
}
|
2014-03-06 02:36:41 +00:00
|
|
|
--- a/sound/pci/cs46xx/cs46xx_lib.c
|
|
|
|
+++ b/sound/pci/cs46xx/cs46xx_lib.c
|
2015-04-13 02:02:26 +00:00
|
|
|
@@ -3253,11 +3253,8 @@ int snd_cs46xx_start_dsp(struct snd_cs46
|
2014-03-06 02:36:41 +00:00
|
|
|
#ifdef CONFIG_SND_CS46XX_NEW_DSP
|
|
|
|
for (i = 0; i < CS46XX_DSP_MODULES; i++) {
|
|
|
|
err = load_firmware(chip, &chip->modules[i], module_names[i]);
|
|
|
|
- if (err < 0) {
|
2014-05-02 01:45:17 +00:00
|
|
|
- dev_err(chip->card->dev, "firmware load error [%s]\n",
|
2014-03-06 02:36:41 +00:00
|
|
|
- module_names[i]);
|
|
|
|
+ if (err < 0)
|
|
|
|
return err;
|
|
|
|
- }
|
|
|
|
err = cs46xx_dsp_load_module(chip, chip->modules[i]);
|
|
|
|
if (err < 0) {
|
2014-05-02 01:45:17 +00:00
|
|
|
dev_err(chip->card->dev, "image download error [%s]\n",
|