[kernel] r19589 - in dists/sid/linux/debian: . patches patches/bugfix/all

Ben Hutchings benh at alioth.debian.org
Sun Dec 9 17:13:29 UTC 2012


Author: benh
Date: Sun Dec  9 17:13:28 2012
New Revision: 19589

Log:
firmware: Make success and failure logging consistent

Add logging to firmware_class and remove redundant logging from drivers.
This should give users a better chance of working out what's missing,
without the need for complex documentation.

Added:
   dists/sid/linux/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
   dists/sid/linux/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch
Modified:
   dists/sid/linux/debian/changelog
   dists/sid/linux/debian/patches/series

Modified: dists/sid/linux/debian/changelog
==============================================================================
--- dists/sid/linux/debian/changelog	Sun Dec  9 13:34:19 2012	(r19588)
+++ dists/sid/linux/debian/changelog	Sun Dec  9 17:13:28 2012	(r19589)
@@ -89,6 +89,8 @@
   * ipv6: Treat ND option 31 as userland (DNSSL support) (Closes: #694522)
   * rt2x00: Add device IDs 5362, 5392, 539b (Closes: #694312)
   * udeb: Add pata_piccolo to pata-modules (Closes: #695437)
+  * firmware_class: Log every success and failure against given device
+  * firmware: Remove redundant log messages from drivers
 
   [ Ian Campbell ]
   * [xen] add support for microcode updating. (Closes: #693053)

Added: dists/sid/linux/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch	Sun Dec  9 17:13:28 2012	(r19589)
@@ -0,0 +1,3090 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Subject: firmware: Remove redundant log messages from drivers
+Date: Sun, 09 Dec 2012 16:40:31 +0000
+
+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 */
+--- a/arch/x86/kernel/microcode_amd.c
++++ b/arch/x86/kernel/microcode_amd.c
+@@ -330,10 +330,8 @@ static enum ucode_state request_microcod
+ 	if (c->x86 >= 0x15)
+ 		snprintf(fw_name, sizeof(fw_name), "amd-ucode/microcode_amd_fam%.2xh.bin", c->x86);
+ 
+-	if (request_firmware(&fw, (const char *)fw_name, device)) {
+-		pr_err("failed to load file %s\n", fw_name);
++	if (request_firmware(&fw, (const char *)fw_name, device))
+ 		goto out;
+-	}
+ 
+ 	ret = UCODE_ERROR;
+ 	if (*(u32 *)fw->data != UCODE_MAGIC) {
+--- a/drivers/atm/ambassador.c
++++ b/drivers/atm/ambassador.c
+@@ -1926,10 +1926,8 @@ static int __devinit ucode_init (loader_
+   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
+@@ -2519,10 +2519,9 @@ fore200e_load_and_start_fw(struct fore20
+ 	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;
+-    }
+ 
+     fw_data = (__le32 *) firmware->data;
+     fw_size = firmware->size / sizeof(u32);
+--- a/drivers/bluetooth/ath3k.c
++++ b/drivers/bluetooth/ath3k.c
+@@ -305,10 +305,8 @@ static int ath3k_load_patch(struct usb_d
+ 		fw_version.rom_version);
+ 
+ 	ret = request_firmware(&firmware, filename, &udev->dev);
+-	if (ret < 0) {
+-		BT_ERR("Patch file not found %s", filename);
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	pt_version.rom_version = *(int *)(firmware->data + firmware->size - 8);
+ 	pt_version.build_version = *(int *)
+@@ -367,10 +365,8 @@ static int ath3k_load_syscfg(struct usb_
+ 		fw_version.rom_version, clk_value, ".dfu");
+ 
+ 	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
+@@ -194,7 +194,6 @@ static int bcm203x_probe(struct usb_inte
+ 	}
+ 
+ 	if (request_firmware(&firmware, "BCM2033-MD.hex", &udev->dev) < 0) {
+-		BT_ERR("Mini driver request failed");
+ 		usb_free_urb(data->urb);
+ 		kfree(data);
+ 		return -EIO;
+@@ -221,7 +220,6 @@ static int bcm203x_probe(struct usb_inte
+ 	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);
+ 		kfree(data);
+--- a/drivers/bluetooth/bfusb.c
++++ b/drivers/bluetooth/bfusb.c
+@@ -681,10 +681,8 @@ static int bfusb_probe(struct usb_interf
+ 	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))
+ 		goto error;
+-	}
+ 
+ 	BT_DBG("firmware data %p size %zu", firmware->data, firmware->size);
+ 
+--- a/drivers/bluetooth/bt3c_cs.c
++++ b/drivers/bluetooth/bt3c_cs.c
+@@ -594,10 +594,8 @@ static int bt3c_open(bt3c_info_t *info)
+ 
+ 	/* 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
+@@ -258,8 +258,6 @@ static int btmrvl_sdio_download_helper(s
+ 	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;
+ 	}
+@@ -360,8 +358,6 @@ static int btmrvl_sdio_download_fw_w_hel
+ 	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
+@@ -1152,10 +1152,8 @@ static void sdma_load_firmware(const str
+ 	const struct sdma_script_start_addrs *addr;
+ 	unsigned short *ram_code;
+ 
+-	if (!fw) {
+-		dev_err(sdma->dev, "firmware not found\n");
++	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
+@@ -80,11 +80,8 @@ int mga_warp_install_microcode(drm_mga_p
+ 	}
+ 	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;
+--- a/drivers/gpu/drm/nouveau/nvc0_graph.c
++++ b/drivers/gpu/drm/nouveau/nvc0_graph.c
+@@ -732,10 +732,8 @@ nvc0_graph_create_fw(struct drm_device *
+ 	if (ret) {
+ 		snprintf(f, sizeof(f), "nouveau/%s", fwname);
+ 		ret = request_firmware(&fw, f, &dev->pdev->dev);
+-		if (ret) {
+-			NV_ERROR(dev, "failed to load %s\n", fwname);
++		if (ret)
+ 			return ret;
+-		}
+ 	}
+ 
+ 	fuc->size = fw->size;
+--- a/drivers/gpu/drm/r128/r128_cce.c
++++ b/drivers/gpu/drm/r128/r128_cce.c
+@@ -155,11 +155,8 @@ static int r128_cce_load_microcode(drm_r
+ 	}
+ 	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
+@@ -379,10 +379,6 @@ out:
+ 	platform_device_unregister(pdev);
+ 
+ 	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
+@@ -994,10 +994,7 @@ static int r100_cp_init_microcode(struct
+ 
+ 	err = request_firmware(&rdev->me_fw, fw_name, &pdev->dev);
+ 	platform_device_unregister(pdev);
+-	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
+@@ -2087,10 +2087,6 @@ out:
+ 	platform_device_unregister(pdev);
+ 
+ 	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/gpu/drm/radeon/r600_cp.c
++++ b/drivers/gpu/drm/radeon/r600_cp.c
+@@ -375,10 +375,6 @@ out:
+ 	platform_device_unregister(pdev);
+ 
+ 	if (err) {
+-		if (err != -EINVAL)
+-			printk(KERN_ERR
+-			       "r600_cp: Failed to load firmware \"%s\"\n",
+-			       fw_name);
+ 		release_firmware(dev_priv->pfp_fw);
+ 		dev_priv->pfp_fw = NULL;
+ 		release_firmware(dev_priv->me_fw);
+--- a/drivers/gpu/drm/radeon/radeon_cp.c
++++ b/drivers/gpu/drm/radeon/radeon_cp.c
+@@ -544,10 +544,7 @@ static int radeon_cp_init_microcode(drm_
+ 
+ 	err = request_firmware(&dev_priv->me_fw, fw_name, &pdev->dev);
+ 	platform_device_unregister(pdev);
+-	if (err) {
+-		printk(KERN_ERR "radeon_cp: Failed to load firmware \"%s\"\n",
+-		       fw_name);
+-	} else if (dev_priv->me_fw->size % 8) {
++	if (err == 0 && dev_priv->me_fw->size % 8) {
+ 		printk(KERN_ERR
+ 		       "radeon_cp: Bogus length %zu in firmware \"%s\"\n",
+ 		       dev_priv->me_fw->size, fw_name);
+--- a/drivers/infiniband/hw/qib/qib_sd7220.c
++++ b/drivers/infiniband/hw/qib/qib_sd7220.c
+@@ -403,10 +403,8 @@ int qib_sd7220_init(struct qib_devdata *
+ 	}
+ 
+ 	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
+@@ -954,10 +954,8 @@ static int mxt_load_fw(struct device *de
+ 	int ret;
+ 
+ 	ret = request_firmware(&fw, fn, dev);
+-	if (ret) {
+-		dev_err(dev, "Unable to open firmware %s\n", fn);
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	/* Change to the bootloader mode */
+ 	mxt_write_object(data, MXT_GEN_COMMAND_T6,
+--- a/drivers/isdn/hardware/mISDN/speedfax.c
++++ b/drivers/isdn/hardware/mISDN/speedfax.c
+@@ -389,11 +389,8 @@ setup_instance(struct sfax_hw *card)
+ 	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",
+ 			card->name, firmware->size);
+--- a/drivers/media/common/tuners/tuner-xc2028.c
++++ b/drivers/media/common/tuners/tuner-xc2028.c
+@@ -278,16 +278,8 @@ static int load_all_firmwares(struct dvb
+ 
+ 	tuner_dbg("Reading firmware %s\n", fname);
+ 	rc = request_firmware(&fw, fname, priv->i2c_props.adap->dev.parent);
+-	if (rc < 0) {
+-		if (rc == -ENOENT)
+-			tuner_err("Error: firmware %s not found.\n",
+-				   fname);
+-		else
+-			tuner_err("Error %d while requesting firmware %s \n",
+-				   rc, fname);
+-
++	if (rc)
+ 		return rc;
+-	}
+ 	p = fw->data;
+ 	endp = p + fw->size;
+ 
+--- a/drivers/media/dvb/dvb-usb/dib0700_devices.c
++++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c
+@@ -1852,12 +1852,9 @@ static int stk9090m_frontend_attach(stru
+ 
+ 	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 {
+-		deb_info("%s: firmware read %Zu bytes.\n", __func__, state->frontend_firmware->size);
+-	}
++	deb_info("%s: firmware read %Zu bytes.\n", __func__, state->frontend_firmware->size);
+ 	stk9090m_config.microcode_B_fe_size = state->frontend_firmware->size;
+ 	stk9090m_config.microcode_B_fe_buffer = state->frontend_firmware->data;
+ 
+@@ -1918,12 +1915,9 @@ static int nim9090md_frontend_attach(str
+ 	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 {
+-		deb_info("%s: firmware read %Zu bytes.\n", __func__, state->frontend_firmware->size);
+-	}
++	deb_info("%s: firmware read %Zu bytes.\n", __func__, state->frontend_firmware->size);
+ 	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;
+--- a/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
++++ b/drivers/media/dvb/dvb-usb/dvb-usb-firmware.c
+@@ -80,14 +80,9 @@ int dvb_usb_download_firmware(struct usb
+ 	int ret;
+ 	const struct firmware *fw = NULL;
+ 
+-	if ((ret = request_firmware(&fw, props->firmware, &udev->dev)) != 0) {
+-		err("did not find the firmware file. (%s) "
+-			"Please see linux/Documentation/dvb/ for more details on firmware-problems. (%d)",
+-			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:
+--- a/drivers/media/dvb/dvb-usb/gp8psk.c
++++ b/drivers/media/dvb/dvb-usb/gp8psk.c
+@@ -116,20 +116,14 @@ static int gp8psk_load_bcm4500fw(struct
+ 	const u8 *ptr;
+ 	u8 *buf;
+ 	if ((ret = request_firmware(&fw, bcm4500_firmware,
+-					&d->udev->dev)) != 0) {
+-		err("did not find the bcm4500 firmware file. (%s) "
+-			"Please see linux/Documentation/dvb/ for more details on firmware-problems. (%d)",
+-			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) {
+--- a/drivers/media/dvb/dvb-usb/opera1.c
++++ b/drivers/media/dvb/dvb-usb/opera1.c
+@@ -452,9 +452,6 @@ static int opera1_xilinx_load_firmware(s
+ 	info("start downloading fpga firmware %s",filename);
+ 
+ 	if ((ret = request_firmware(&fw, filename, &dev->dev)) != 0) {
+-		err("did not find the firmware file. (%s) "
+-			"Please see linux/Documentation/dvb/ for more details on firmware-problems.",
+-			filename);
+ 		return ret;
+ 	} else {
+ 		p = kmalloc(fw->size, GFP_KERNEL);
+--- a/drivers/media/dvb/frontends/af9013.c
++++ b/drivers/media/dvb/frontends/af9013.c
+@@ -1346,15 +1346,8 @@ static int af9013_download_firmware(stru
+ 
+ 	/* request the firmware, this will block and timeout */
+ 	ret = request_firmware(&fw, fw_file, state->i2c->dev.parent);
+-	if (ret) {
+-		err("did not find the firmware file. (%s) "
+-			"Please see linux/Documentation/dvb/ for more details" \
+-			" on firmware-problems. (%d)",
+-			fw_file, ret);
++	if (ret)
+ 		goto error;
+-	}
+-
+-	info("downloading firmware from file '%s'", fw_file);
+ 
+ 	/* calc checksum */
+ 	for (i = 0; i < fw->size; i++)
+--- a/drivers/media/dvb/frontends/bcm3510.c
++++ b/drivers/media/dvb/frontends/bcm3510.c
+@@ -619,10 +619,9 @@ static int bcm3510_download_firmware(str
+ 	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;
+-	}
+ 	deb_info("got firmware: %zd\n",fw->size);
+ 
+ 	b = fw->data;
+--- a/drivers/media/dvb/frontends/cx24116.c
++++ b/drivers/media/dvb/frontends/cx24116.c
+@@ -493,13 +493,8 @@ static int cx24116_firmware_ondemand(str
+ 			__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) {
+-			printk(KERN_ERR "%s: No firmware uploaded "
+-				"(timeout or file not found?)\n", __func__);
++		if (ret)
+ 			return ret;
+-		}
+ 
+ 		/* Make sure we don't recurse back through here
+ 		 * during loading */
+--- a/drivers/media/dvb/frontends/drxd_hard.c
++++ b/drivers/media/dvb/frontends/drxd_hard.c
+@@ -909,10 +909,8 @@ static int load_firmware(struct drxd_sta
+ {
+ 	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;
+-	}
+ 
+ 	state->microcode = kmalloc(fw->size, GFP_KERNEL);
+ 	if (state->microcode == NULL) {
+--- a/drivers/media/dvb/frontends/drxk_hard.c
++++ b/drivers/media/dvb/frontends/drxk_hard.c
+@@ -5968,13 +5968,8 @@ static int load_microcode(struct drxk_st
+ 	dprintk(1, "\n");
+ 
+ 	err = request_firmware(&fw, mc_name, state->i2c->dev.parent);
+-	if (err < 0) {
+-		printk(KERN_ERR
+-		       "drxk: Could not load firmware file %s.\n", mc_name);
+-		printk(KERN_INFO
+-		       "drxk: Copy %s to your hotplug directory!\n", mc_name);
++	if (err)
+ 		return err;
+-	}
+ 	err = DownloadMicrocode(state, fw->data, fw->size);
+ 	release_firmware(fw);
+ 	return err;
+--- a/drivers/media/dvb/frontends/ds3000.c
++++ b/drivers/media/dvb/frontends/ds3000.c
+@@ -403,12 +403,8 @@ static int ds3000_firmware_ondemand(stru
+ 				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) {
+-		printk(KERN_ERR "%s: No firmware uploaded (timeout or file not "
+-				"found?)\n", __func__);
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	/* Make sure we don't recurse back through here during loading */
+ 	state->skip_fw_load = 1;
+--- a/drivers/media/dvb/frontends/nxt200x.c
++++ b/drivers/media/dvb/frontends/nxt200x.c
+@@ -881,11 +881,8 @@ static int nxt2002_init(struct dvb_front
+ 	printk("nxt2002: Waiting for firmware upload (%s)...\n", NXT2002_DEFAULT_FIRMWARE);
+ 	ret = request_firmware(&fw, NXT2002_DEFAULT_FIRMWARE,
+ 			       state->i2c->dev.parent);
+-	printk("nxt2002: Waiting for firmware upload(2)...\n");
+-	if (ret) {
+-		printk("nxt2002: No firmware uploaded (timeout or file not found?)\n");
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	ret = nxt2002_load_firmware(fe, fw);
+ 	release_firmware(fw);
+@@ -946,11 +943,8 @@ static int nxt2004_init(struct dvb_front
+ 	printk("nxt2004: Waiting for firmware upload (%s)...\n", NXT2004_DEFAULT_FIRMWARE);
+ 	ret = request_firmware(&fw, NXT2004_DEFAULT_FIRMWARE,
+ 			       state->i2c->dev.parent);
+-	printk("nxt2004: Waiting for firmware upload(2)...\n");
+-	if (ret) {
+-		printk("nxt2004: No firmware uploaded (timeout or file not found?)\n");
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	ret = nxt2004_load_firmware(fe, fw);
+ 	release_firmware(fw);
+--- a/drivers/media/dvb/frontends/or51132.c
++++ b/drivers/media/dvb/frontends/or51132.c
+@@ -341,11 +341,8 @@ static int or51132_set_parameters(struct
+ 		printk("or51132: Waiting for firmware upload(%s)...\n",
+ 		       fwname);
+ 		ret = request_firmware(&fw, fwname, state->i2c->dev.parent);
+-		if (ret) {
+-			printk(KERN_WARNING "or51132: No firmware up"
+-			       "loaded(timeout or file not found?)\n");
++		if (ret)
+ 			return ret;
+-		}
+ 		ret = or51132_load_firmware(fe, fw);
+ 		release_firmware(fw);
+ 		if (ret) {
+--- a/drivers/media/dvb/frontends/or51211.c
++++ b/drivers/media/dvb/frontends/or51211.c
+@@ -379,12 +379,8 @@ static int or51211_init(struct dvb_front
+ 		       "(%s)...\n", OR51211_DEFAULT_FIRMWARE);
+ 		ret = config->request_firmware(fe, &fw,
+ 					       OR51211_DEFAULT_FIRMWARE);
+-		printk(KERN_INFO "or51211:Got Hotplug firmware\n");
+-		if (ret) {
+-			printk(KERN_WARNING "or51211: No firmware uploaded "
+-			       "(timeout or file not found?)\n");
++		if (ret)
+ 			return ret;
+-		}
+ 
+ 		ret = or51211_load_firmware(fe, fw);
+ 		release_firmware(fw);
+--- a/drivers/media/dvb/frontends/sp8870.c
++++ b/drivers/media/dvb/frontends/sp8870.c
+@@ -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");
+--- a/drivers/media/dvb/frontends/sp887x.c
++++ b/drivers/media/dvb/frontends/sp887x.c
+@@ -514,10 +514,8 @@ static int sp887x_init(struct dvb_fronte
+ 		/* 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);
+--- a/drivers/media/dvb/frontends/tda10048.c
++++ b/drivers/media/dvb/frontends/tda10048.c
+@@ -509,8 +509,6 @@ static int tda10048_firmware_upload(stru
+ 	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 {
+ 		printk(KERN_INFO "%s: firmware read %Zu bytes.\n",
+--- a/drivers/media/dvb/frontends/tda1004x.c
++++ b/drivers/media/dvb/frontends/tda1004x.c
+@@ -397,10 +397,8 @@ static int tda10045_fwupload(struct dvb_
+ 	/* 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);
+@@ -541,7 +539,6 @@ static int tda10046_fwupload(struct dvb_
+ 			/* 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",
+--- a/drivers/media/dvb/frontends/tda10071.c
++++ b/drivers/media/dvb/frontends/tda10071.c
+@@ -930,13 +930,8 @@ static int tda10071_init(struct dvb_fron
+ 
+ 		/* request the firmware, this will block and timeout */
+ 		ret = request_firmware(&fw, fw_file, priv->i2c->dev.parent);
+-		if (ret) {
+-			err("did not find the firmware file. (%s) "
+-				"Please see linux/Documentation/dvb/ for more" \
+-				" details on firmware-problems. (%d)",
+-				fw_file, ret);
++		if (ret)
+ 			goto error;
+-		}
+ 
+ 		/* init */
+ 		for (i = 0; i < ARRAY_SIZE(tab2); i++) {
+--- a/drivers/media/dvb/ngene/ngene-core.c
++++ b/drivers/media/dvb/ngene/ngene-core.c
+@@ -1272,13 +1272,8 @@ static int ngene_load_firm(struct ngene
+ 		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) {
+@@ -1286,8 +1281,6 @@ static int ngene_load_firm(struct ngene
+ 			": 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);
+ 	}
+--- a/drivers/media/dvb/siano/smscoreapi.c
++++ b/drivers/media/dvb/siano/smscoreapi.c
+@@ -642,10 +642,8 @@ static int smscore_load_firmware_from_fi
+ 		return -EINVAL;
+ 
+ 	rc = request_firmware(&fw, filename, coredev->device);
+-	if (rc < 0) {
+-		sms_info("failed to open \"%s\"", filename);
++	if (rc)
+ 		return rc;
+-	}
+ 	sms_info("read FW %s, size=%zd", filename, fw->size);
+ 	fw_buffer = kmalloc(ALIGN(fw->size, SMS_ALLOC_ALIGNMENT),
+ 			    GFP_KERNEL | GFP_DMA);
+--- a/drivers/media/dvb/ttpci/av7110.c
++++ b/drivers/media/dvb/ttpci/av7110.c
+@@ -1532,16 +1532,9 @@ static int get_firmware(struct av7110* a
+ 	/* 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) {
+-			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"
++		if (ret == -ENOENT)
++			printk(KERN_ERR "dvb-ttpci: firmware can be downloaded from"
+ 			       " http://www.linuxtv.org/download/dvb/firmware/\n");
+-		} else
+-			printk(KERN_ERR "dvb-ttpci: cannot request firmware"
+-			       " (error %i)\n", ret);
+ 		return -EINVAL;
+ 	}
+ 
+--- a/drivers/media/dvb/ttpci/av7110_hw.c
++++ b/drivers/media/dvb/ttpci/av7110_hw.c
+@@ -243,11 +243,8 @@ int av7110_bootarm(struct av7110 *av7110
+ 	//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);
+--- a/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
++++ b/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
+@@ -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;
+--- a/drivers/media/dvb/ttusb-dec/ttusb_dec.c
++++ b/drivers/media/dvb/ttusb-dec/ttusb_dec.c
+@@ -1293,11 +1293,8 @@ static int ttusb_dec_boot_dsp(struct ttu
+ 
+ 	dprintk("%s\n", __func__);
+ 
+-	if (request_firmware(&fw_entry, dec->firmware_name, &dec->udev->dev)) {
+-		printk(KERN_ERR "%s: Firmware (%s) unavailable.\n",
+-		       __func__, dec->firmware_name);
++	if (request_firmware(&fw_entry, dec->firmware_name, &dec->udev->dev))
+ 		return 1;
+-	}
+ 
+ 	firmware = fw_entry->data;
+ 	firmware_size = fw_entry->size;
+--- a/drivers/media/radio/radio-wl1273.c
++++ b/drivers/media/radio/radio-wl1273.c
+@@ -512,11 +512,8 @@ static int wl1273_fm_upload_firmware_pat
+ 	 * 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
+@@ -1248,10 +1248,8 @@ static u32 fm_download_firmware(struct f
+ 
+ 	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;
+-	}
+ 	fmdbg("Firmware(%s) length : %d bytes\n", fw_name, fw_entry->size);
+ 
+ 	fw_data = (void *)fw_entry->data;
+--- a/drivers/media/video/bt8xx/bttv-cards.c
++++ b/drivers/media/video/bt8xx/bttv-cards.c
+@@ -3766,10 +3766,8 @@ static int __devinit pvr_boot(struct btt
+ 	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");
+--- a/drivers/media/video/cpia2/cpia2_core.c
++++ b/drivers/media/video/cpia2/cpia2_core.c
+@@ -905,11 +905,8 @@ static int apply_vp_patch(struct camera_
+ 	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;
+--- a/drivers/media/video/cx18/cx18-av-firmware.c
++++ b/drivers/media/video/cx18/cx18-av-firmware.c
+@@ -85,10 +85,8 @@ int cx18_av_loadfw(struct cx18 *cx)
+ 	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. */
+--- a/drivers/media/video/cx18/cx18-dvb.c
++++ b/drivers/media/video/cx18/cx18-dvb.c
+@@ -139,9 +139,7 @@ static int yuan_mpc718_mt352_reqfw(struc
+ 	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",
+@@ -154,7 +152,7 @@ static int yuan_mpc718_mt352_reqfw(struc
+ 
+ 	if (ret) {
+ 		CX18_ERR("The MPC718 board variant with the MT352 DVB-T"
+-			  "demodualtor will not work without it\n");
++			  "demodulator will not work without firmware\n");
+ 		CX18_ERR("Run 'linux/Documentation/dvb/get_dvb_firmware "
+ 			  "mpc718' if you need the firmware\n");
+ 	}
+--- a/drivers/media/video/cx18/cx18-firmware.c
++++ b/drivers/media/video/cx18/cx18-firmware.c
+@@ -106,11 +106,8 @@ static int load_cpu_fw_direct(const char
+ 	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;
+ 
+@@ -151,8 +148,6 @@ static int load_apu_fw_direct(const char
+ 	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;
+ 	}
+--- a/drivers/media/video/cx231xx/cx231xx-417.c
++++ b/drivers/media/video/cx231xx/cx231xx-417.c
+@@ -979,14 +979,8 @@ static int cx231xx_load_firmware(struct
+ 	retval = request_firmware(&firmware, CX231xx_FIRM_IMAGE_NAME,
+ 				  &dev->udev->dev);
+ 
+-	if (retval != 0) {
+-		printk(KERN_ERR
+-			"ERROR: Hotplug firmware request failed (%s).\n",
+-			CX231xx_FIRM_IMAGE_NAME);
+-		printk(KERN_ERR "Please fix your hotplug setup, the board will "
+-			"not work without firmware loaded!\n");
++	if (retval != 0)
+ 		return -1;
+-	}
+ 
+ 	if (firmware->size != CX231xx_FIRM_IMAGE_SIZE) {
+ 		printk(KERN_ERR "ERROR: Firmware size mismatch "
+--- a/drivers/media/video/cx23885/cx23885-417.c
++++ b/drivers/media/video/cx23885/cx23885-417.c
+@@ -929,14 +929,8 @@ static int cx23885_load_firmware(struct
+ 	retval = request_firmware(&firmware, CX23885_FIRM_IMAGE_NAME,
+ 				  &dev->pci->dev);
+ 
+-	if (retval != 0) {
+-		printk(KERN_ERR
+-			"ERROR: Hotplug firmware request failed (%s).\n",
+-			CX23885_FIRM_IMAGE_NAME);
+-		printk(KERN_ERR "Please fix your hotplug setup, the board will "
+-			"not work without firmware loaded!\n");
++	if (retval != 0)
+ 		return -1;
+-	}
+ 
+ 	if (firmware->size != CX23885_FIRM_IMAGE_SIZE) {
+ 		printk(KERN_ERR "ERROR: Firmware size mismatch "
+--- a/drivers/media/video/cx23885/cx23885-cards.c
++++ b/drivers/media/video/cx23885/cx23885-cards.c
+@@ -1513,11 +1513,7 @@ void cx23885_card_setup(struct cx23885_d
+ 				cinfo.rev, filename);
+ 
+ 		ret = request_firmware(&fw, filename, &dev->pci->dev);
+-		if (ret != 0)
+-			printk(KERN_ERR "did not find the firmware file. (%s) "
+-			"Please see linux/Documentation/dvb/ for more details "
+-			"on firmware-problems.", filename);
+-		else
++		if (ret == 0)
+ 			altera_init(&netup_config, fw);
+ 
+ 		release_firmware(fw);
+--- a/drivers/media/video/cx25840/cx25840-firmware.c
++++ b/drivers/media/video/cx25840/cx25840-firmware.c
+@@ -123,10 +123,8 @@ int cx25840_loadfw(struct i2c_client *cl
+ 		MAX_BUF_SIZE = 16;  /* cx231xx cannot accept more than 16 bytes at a time */
+ 	}
+ 
+-	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);
+ 
+--- a/drivers/media/video/cx88/cx88-blackbird.c
++++ b/drivers/media/video/cx88/cx88-blackbird.c
+@@ -446,13 +446,8 @@ static int blackbird_load_firmware(struc
+ 				  &dev->pci->dev);
+ 
+ 
+-	if (retval != 0) {
+-		dprintk(0, "ERROR: Hotplug firmware request failed (%s).\n",
+-			CX2341X_FIRM_ENC_FILENAME);
+-		dprintk(0, "Please fix your hotplug setup, the board will "
+-			"not work without firmware loaded!\n");
++	if (retval != 0)
+ 		return -1;
+-	}
+ 
+ 	if (firmware->size != BLACKBIRD_FIRM_IMAGE_SIZE) {
+ 		dprintk(0, "ERROR: Firmware size mismatch (have %zd, expected %d)\n",
+--- a/drivers/media/video/gspca/vicam.c
++++ b/drivers/media/video/gspca/vicam.c
+@@ -270,10 +270,8 @@ static int sd_init(struct gspca_dev *gsp
+ 
+ 	ret = request_ihex_firmware(&fw, "vicam/firmware.fw",
+ 				    &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) {
+--- a/drivers/media/video/ivtv/ivtv-firmware.c
++++ b/drivers/media/video/ivtv/ivtv-firmware.c
+@@ -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;
+ }
+ 
+--- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c
++++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+@@ -1415,29 +1415,6 @@ static int pvr2_locate_firmware(struct p
+ 			   "request_firmware fatal error with code=%d",ret);
+ 		return ret;
+ 	}
+-	pvr2_trace(PVR2_TRACE_ERROR_LEGS,
+-		   "***WARNING***"
+-		   " Device %s firmware"
+-		   " seems to be missing.",
+-		   fwtypename);
+-	pvr2_trace(PVR2_TRACE_ERROR_LEGS,
+-		   "Did you install the pvrusb2 firmware files"
+-		   " in their proper location?");
+-	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,
+-			   "request_firmware unable to locate"
+-			   " one of the following %s files:",
+-			   fwtypename);
+-		for (idx = 0; idx < fwcount; idx++) {
+-			pvr2_trace(PVR2_TRACE_ERROR_LEGS,
+-				   "request_firmware: Failed to find %s",
+-				   fwnames[idx]);
+-		}
+-	}
+ 	return ret;
+ }
+ 
+--- a/drivers/media/video/s2255drv.c
++++ b/drivers/media/video/s2255drv.c
+@@ -2588,10 +2588,8 @@ static int s2255_probe(struct usb_interf
+ 	}
+ 	/* load the first chunk */
+ 	if (request_firmware(&dev->fw_data->fw,
+-			     FIRMWARE_FILE_NAME, &dev->udev->dev)) {
+-		printk(KERN_ERR "sensoray 2255 failed to get firmware\n");
++			     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];
+--- a/drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c
++++ b/drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c
+@@ -39,10 +39,8 @@ int s5p_mfc_alloc_and_load_firmware(stru
+ 	mfc_debug_enter();
+ 	err = request_firmware((const struct firmware **)&fw_blob,
+ 				     "s5p-mfc.fw", dev->v4l2_dev.dev);
+-	if (err != 0) {
+-		mfc_err("Firmware is not present in the /lib/firmware directory nor compiled in kernel\n");
++	if (err != 0)
+ 		return -EINVAL;
+-	}
+ 	dev->fw_size = ALIGN(fw_blob->size, FIRMWARE_ALIGN);
+ 	if (s5p_mfc_bitproc_buf) {
+ 		mfc_err("Attempting to allocate firmware when it seems that it is already loaded\n");
+@@ -117,10 +115,8 @@ int s5p_mfc_reload_firmware(struct s5p_m
+ 	mfc_debug_enter();
+ 	err = request_firmware((const struct firmware **)&fw_blob,
+ 				     "s5p-mfc.fw", dev->v4l2_dev.dev);
+-	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);
+--- a/drivers/media/video/saa7164/saa7164-fw.c
++++ b/drivers/media/video/saa7164/saa7164-fw.c
+@@ -420,11 +420,8 @@ int saa7164_downloadfirmware(struct saa7
+ 			__func__, fwname);
+ 
+ 		ret = request_firmware(&fw, fwname, &dev->pci->dev);
+-		if (ret) {
+-			printk(KERN_ERR "%s() Upload failed. "
+-				"(file not found?)\n", __func__);
++		if (ret)
+ 			return -ENOMEM;
+-		}
+ 
+ 		printk(KERN_INFO "%s() firmware read %Zu bytes.\n",
+ 			__func__, fw->size);
+--- a/drivers/media/video/tlg2300/pd-main.c
++++ b/drivers/media/video/tlg2300/pd-main.c
+@@ -219,10 +219,8 @@ static int firmware_download(struct usb_
+ 	size_t max_packet_size;
+ 
+ 	ret = request_firmware(&fw, firmware_name, &udev->dev);
+-	if (ret) {
+-		log("download err : %d", ret);
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	fwlength = fw->size;
+ 
+--- a/drivers/misc/iwmc3200top/fw-download.c
++++ b/drivers/misc/iwmc3200top/fw-download.c
+@@ -311,11 +311,8 @@ int iwmct_fw_load(struct iwmct_priv *pri
+ 
+ 	/* get the firmware */
+ 	ret = request_firmware(&raw, fw_name, &priv->func->dev);
+-	if (ret < 0) {
+-		LOG_ERROR(priv, FW_DOWNLOAD, "%s request_firmware failed %d\n",
+-			  fw_name, ret);
++	if (ret)
+ 		goto exit;
+-	}
+ 
+ 	if (raw->size < sizeof(struct iwmct_fw_sec_hdr)) {
+ 		LOG_ERROR(priv, FW_DOWNLOAD, "%s smaller then (%zd) (%zd)\n",
+--- a/drivers/misc/ti-st/st_kim.c
++++ b/drivers/misc/ti-st/st_kim.c
+@@ -281,11 +281,8 @@ static long download_firmware(struct kim
+ 	    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
+@@ -237,11 +237,8 @@ int softing_load_app_fw(const char *file
+ 	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
+@@ -1289,11 +1289,8 @@ typhoon_request_firmware(struct typhoon
+ 		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;
+-	}
+ 
+ 	image_data = (u8 *) typhoon_fw->data;
+ 	remaining = typhoon_fw->size;
+--- a/drivers/net/ethernet/adaptec/starfire.c
++++ b/drivers/net/ethernet/adaptec/starfire.c
+@@ -1044,11 +1044,8 @@ static int netdev_open(struct net_device
+ #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);
+@@ -1056,11 +1053,8 @@ static int netdev_open(struct net_device
+ 		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
+@@ -2906,11 +2906,8 @@ static int __devinit ace_load_firmware(s
+ 		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
+@@ -3681,16 +3681,13 @@ static int bnx2_request_uncached_firmwar
+ 	}
+ 
+ 	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
+@@ -10569,11 +10569,8 @@ int bnx2x_init_firmware(struct bnx2x *bp
+ 
+ 		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;
+-		}
+ 
+ 		rc = bnx2x_check_firmware(bp);
+ 		if (rc) {
+--- a/drivers/net/ethernet/broadcom/tg3.c
++++ b/drivers/net/ethernet/broadcom/tg3.c
+@@ -9527,11 +9527,8 @@ static int tg3_request_firmware(struct t
+ {
+ 	const __be32 *fw_data;
+ 
+-	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;
+-	}
+ 
+ 	fw_data = (void *)tp->fw->data;
+ 
+--- a/drivers/net/ethernet/brocade/bna/cna_fwimg.c
++++ b/drivers/net/ethernet/brocade/bna/cna_fwimg.c
+@@ -29,10 +29,8 @@ cna_read_firmware(struct pci_dev *pdev,
+ {
+ 	const struct firmware *fw;
+ 
+-	if (request_firmware(&fw, fw_name, &pdev->dev)) {
+-		pr_alert("Can't locate firmware %s\n", fw_name);
++	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
+@@ -1030,12 +1030,8 @@ int t3_get_edc_fw(struct cphy *phy, int
+ 	snprintf(buf, sizeof(buf), get_edc_fw_name(edc_idx));
+ 
+ 	ret = request_firmware(&fw, buf, &adapter->pdev->dev);
+-	if (ret < 0) {
+-		dev_err(&adapter->pdev->dev,
+-			"could not upgrade firmware: unable to load %s\n",
+-			buf);
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	/* check size, take checksum in account */
+ 	if (fw->size > size + 4) {
+@@ -1072,11 +1068,8 @@ static int upgrade_fw(struct adapter *ad
+ 	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);
+ 
+@@ -1121,11 +1114,8 @@ static int update_tpsram(struct adapter
+ 	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/chelsio/cxgb4/cxgb4_main.c
++++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+@@ -830,11 +830,8 @@ static int upgrade_fw(struct adapter *ad
+ 	struct device *dev = adap->pdev_dev;
+ 
+ 	ret = request_firmware(&fw, FW_FNAME, dev);
+-	if (ret < 0) {
+-		dev_err(dev, "unable to load firmware image " FW_FNAME
+-			", error %d\n", ret);
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	hdr = (const struct fw_hdr *)fw->data;
+ 	vers = ntohl(hdr->fw_ver);
+--- a/drivers/net/ethernet/intel/e100.c
++++ b/drivers/net/ethernet/intel/e100.c
+@@ -1273,9 +1273,6 @@ static const struct firmware *e100_reque
+ 
+ 	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
+@@ -594,8 +594,6 @@ static int myri10ge_load_hotplug_firmwar
+ 	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
+@@ -649,10 +649,8 @@ static int osi_load_firmware(struct pcmc
+ 	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
+@@ -819,11 +819,8 @@ static int cas_saturn_firmware_init(stru
+ 		return 0;
+ 
+ 	err = request_firmware(&fw, fw_name, &cp->pdev->dev);
+-	if (err) {
+-		pr_err("Failed to load firmware \"%s\"\n",
+-		       fw_name);
++	if (err)
+ 		return err;
+-	}
+ 	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
+@@ -373,11 +373,8 @@ static unsigned char *add_mcs(unsigned c
+ 		}
+ 		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
+@@ -399,10 +399,8 @@ static int kaweth_download_firmware(stru
+ 	int ret;
+ 
+ 	ret = request_firmware(&fw, fwname, &kaweth->dev->dev);
+-	if (ret) {
+-		err("Firmware request failed\n");
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	if (fw->size > KAWETH_FIRMWARE_BUF_SIZE) {
+ 		err("Firmware too big: %zu", fw->size);
+--- a/drivers/net/wimax/i2400m/fw.c
++++ b/drivers/net/wimax/i2400m/fw.c
+@@ -1582,11 +1582,8 @@ int i2400m_dev_bootstrap(struct i2400m *
+ 		}
+ 		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);
+@@ -1629,8 +1626,6 @@ void i2400m_fw_cache(struct i2400m *i240
+ 	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
+--- a/drivers/net/wireless/at76c50x-usb.c
++++ b/drivers/net/wireless/at76c50x-usb.c
+@@ -1584,14 +1584,8 @@ static struct fwentry *at76_load_firmwar
+ 
+ 	at76_dbg(DBG_FW, "downloading firmware %s", fwe->fwname);
+ 	ret = request_firmware(&fwe->fw, fwe->fwname, &udev->dev);
+-	if (ret < 0) {
+-		dev_printk(KERN_ERR, &udev->dev, "firmware %s not found!\n",
+-			   fwe->fwname);
+-		dev_printk(KERN_ERR, &udev->dev,
+-			   "you may need to download the firmware from "
+-			   "http://developer.berlios.de/projects/at76c503a/\n");
++	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
+@@ -1030,11 +1030,8 @@ static int ath9k_hif_usb_dev_init(struct
+ 	/* Request firmware */
+ 	ret = request_firmware(&hif_dev->firmware, hif_dev->fw_name,
+ 			       &hif_dev->udev->dev);
+-	if (ret) {
+-		dev_err(&hif_dev->udev->dev,
+-			"ath9k_htc: Firmware - %s not found\n", hif_dev->fw_name);
++	if (ret)
+ 		goto err_fw_req;
+-	}
+ 
+ 	/* Download firmware */
+ 	ret = ath9k_hif_usb_download_fw(hif_dev, drv_info);
+--- a/drivers/net/wireless/ath/carl9170/usb.c
++++ b/drivers/net/wireless/ath/carl9170/usb.c
+@@ -1018,7 +1018,6 @@ static void carl9170_usb_firmware_step2(
+ 		return;
+ 	}
+ 
+-	dev_err(&ar->udev->dev, "firmware not found.\n");
+ 	carl9170_usb_firmware_failed(ar);
+ }
+ 
+--- a/drivers/net/wireless/atmel.c
++++ b/drivers/net/wireless/atmel.c
+@@ -3937,12 +3937,8 @@ static int reset_atmel_card(struct net_d
+ 					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;
+--- a/drivers/net/wireless/b43/main.c
++++ b/drivers/net/wireless/b43/main.c
+@@ -2138,18 +2138,8 @@ int b43_do_request_fw(struct b43_request
+ 		return -ENOSYS;
+ 	}
+ 	err = request_firmware(&blob, ctx->fwname, ctx->dev->dev->dev);
+-	if (err == -ENOENT) {
+-		snprintf(ctx->errors[ctx->req_type],
+-			 sizeof(ctx->errors[ctx->req_type]),
+-			 "Firmware file \"%s\" not found\n", ctx->fwname);
++	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;
+-	}
+ 	if (blob->size < sizeof(struct b43_fw_header))
+ 		goto err_format;
+ 	hdr = (struct b43_fw_header *)(blob->data);
+--- a/drivers/net/wireless/b43legacy/main.c
++++ b/drivers/net/wireless/b43legacy/main.c
+@@ -1527,11 +1527,8 @@ static int do_request_fw(struct b43legac
+ 		 "b43legacy%s/%s.fw",
+ 		 modparam_fwpostfix, name);
+ 	err = request_firmware(fw, path, dev->dev->dev);
+-	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);
+--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
++++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
+@@ -3413,10 +3413,8 @@ static int brcmf_sdbrcm_download_code_fi
+ 	bus->fw_name = BCM4329_FW_NAME;
+ 	ret = request_firmware(&bus->firmware, bus->fw_name,
+ 			       &bus->sdiodev->func[2]->dev);
+-	if (ret) {
+-		brcmf_dbg(ERROR, "Fail to request firmware %d\n", ret);
++	if (ret)
+ 		return ret;
+-	}
+ 	bus->fw_ptr = 0;
+ 
+ 	memptr = memblock = kmalloc(MEMBLOCK + BRCMF_SDALIGN, GFP_ATOMIC);
+@@ -3511,10 +3509,8 @@ static int brcmf_sdbrcm_download_nvram(s
+ 	bus->nv_name = BCM4329_NV_NAME;
+ 	ret = request_firmware(&bus->firmware, bus->nv_name,
+ 			       &bus->sdiodev->func[2]->dev);
+-	if (ret) {
+-		brcmf_dbg(ERROR, "Fail to request nvram %d\n", ret);
++	if (ret)
+ 		return ret;
+-	}
+ 	bus->fw_ptr = 0;
+ 
+ 	memblock = kmalloc(MEMBLOCK, GFP_ATOMIC);
+--- a/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
++++ b/drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c
+@@ -785,19 +785,13 @@ static int brcms_request_fw(struct brcms
+ 		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));
+ 	}
+--- a/drivers/net/wireless/ipw2x00/ipw2100.c
++++ b/drivers/net/wireless/ipw2x00/ipw2100.c
+@@ -8519,12 +8519,8 @@ static int ipw2100_get_firmware(struct i
+ 
+ 	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);
+ 
+--- a/drivers/net/wireless/ipw2x00/ipw2200.c
++++ b/drivers/net/wireless/ipw2x00/ipw2200.c
+@@ -3401,10 +3401,8 @@ static int ipw_get_fw(struct ipw_priv *p
+ 
+ 	/* 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);
+--- a/drivers/net/wireless/iwlegacy/iwl3945-base.c
++++ b/drivers/net/wireless/iwlegacy/iwl3945-base.c
+@@ -1870,8 +1870,6 @@ static int iwl3945_read_ucode(struct iwl
+ 		sprintf(buf, "%s%u%s", name_pre, index, ".ucode");
+ 		ret = request_firmware(&ucode_raw, buf, &priv->pci_dev->dev);
+ 		if (ret < 0) {
+-			IWL_ERR(priv, "%s firmware file req failed: %d\n",
+-				  buf, ret);
+ 			if (ret == -ENOENT)
+ 				continue;
+ 			else
+--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
++++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
+@@ -909,13 +909,8 @@ static void iwl_ucode_callback(const str
+ 
+ 	memset(&pieces, 0, sizeof(pieces));
+ 
+-	if (!ucode_raw) {
+-		if (priv->fw_index <= api_ok)
+-			IWL_ERR(priv,
+-				"request for firmware file '%s' failed.\n",
+-				priv->firmware_name);
++	if (!ucode_raw)
+ 		goto try_again;
+-	}
+ 
+ 	IWL_DEBUG_INFO(priv, "Loaded firmware file '%s' (%zd bytes).\n",
+ 		       priv->firmware_name, ucode_raw->size);
+--- a/drivers/net/wireless/iwmc3200wifi/fw.c
++++ b/drivers/net/wireless/iwmc3200wifi/fw.c
+@@ -168,10 +168,8 @@ static int iwm_load_img(struct iwm_priv
+ 	char *build_tag;
+ 
+ 	ret = request_firmware(&fw, img_name, iwm_to_dev(iwm));
+-	if (ret) {
+-		IWM_ERR(iwm, "Request firmware failed");
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	IWM_DBG_FW(iwm, INFO, "Start to load FW %s\n", img_name);
+ 
+--- a/drivers/net/wireless/libertas/main.c
++++ b/drivers/net/wireless/libertas/main.c
+@@ -1207,19 +1207,13 @@ int lbs_get_firmware(struct device *dev,
+ 	/* Try user-specified firmware first */
+ 	if (user_helper) {
+ 		ret = request_firmware(helper, user_helper, dev);
+-		if (ret) {
+-			dev_err(dev, "couldn't find helper firmware %s\n",
+-				user_helper);
++		if (ret)
+ 			goto fail;
+-		}
+ 	}
+ 	if (user_mainfw) {
+ 		ret = request_firmware(mainfw, user_mainfw, dev);
+-		if (ret) {
+-			dev_err(dev, "couldn't find main firmware %s\n",
+-				user_mainfw);
++		if (ret)
+ 			goto fail;
+-		}
+ 	}
+ 
+ 	if (*helper && *mainfw)
+--- a/drivers/net/wireless/libertas_tf/if_usb.c
++++ b/drivers/net/wireless/libertas_tf/if_usb.c
+@@ -827,8 +827,6 @@ static int if_usb_prog_firmware(struct i
+ 	kparam_block_sysfs_write(fw_name);
+ 	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);
+ 		kparam_unblock_sysfs_write(fw_name);
+ 		goto done;
+ 	}
+--- a/drivers/net/wireless/mwifiex/main.c
++++ b/drivers/net/wireless/mwifiex/main.c
+@@ -311,8 +311,6 @@ static int mwifiex_init_hw_fw(struct mwi
+ 	err = request_firmware(&adapter->firmware, adapter->fw_name,
+ 			       adapter->dev);
+ 	if (err < 0) {
+-		dev_err(adapter->dev, "request_firmware() returned"
+-				" error code %#x\n", err);
+ 		ret = -1;
+ 		goto done;
+ 	}
+--- a/drivers/net/wireless/mwl8k.c
++++ b/drivers/net/wireless/mwl8k.c
+@@ -5191,16 +5191,12 @@ static int mwl8k_firmware_load_success(s
+ 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);
+@@ -5235,11 +5231,8 @@ static void mwl8k_fw_state_machine(const
+ 		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)
+@@ -5274,10 +5267,8 @@ static int mwl8k_init_firmware(struct ie
+ 
+ 	/* 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;
+--- a/drivers/net/wireless/orinoco/fw.c
++++ b/drivers/net/wireless/orinoco/fw.c
+@@ -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);
+ 
+--- a/drivers/net/wireless/orinoco/orinoco_usb.c
++++ b/drivers/net/wireless/orinoco/orinoco_usb.c
+@@ -1684,7 +1684,6 @@ static int ezusb_probe(struct usb_interf
+ 	if (firmware.size && firmware.code) {
+ 		ezusb_firmware_download(upriv, &firmware);
+ 	} else {
+-		err("No firmware to download");
+ 		goto error;
+ 	}
+ 
+--- a/drivers/net/wireless/p54/p54pci.c
++++ b/drivers/net/wireless/p54/p54pci.c
+@@ -564,7 +564,6 @@ static int __devinit p54p_probe(struct p
+ 	err = request_firmware(&priv->firmware, "isl3886pci",
+ 			       &priv->pdev->dev);
+ 	if (err) {
+-		dev_err(&pdev->dev, "Cannot find firmware (isl3886pci)\n");
+ 		err = request_firmware(&priv->firmware, "isl3886",
+ 				       &priv->pdev->dev);
+ 		if (err)
+--- a/drivers/net/wireless/p54/p54spi.c
++++ b/drivers/net/wireless/p54/p54spi.c
+@@ -171,10 +171,8 @@ static int p54spi_request_firmware(struc
+ 	/* 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) {
+--- a/drivers/net/wireless/p54/p54usb.c
++++ b/drivers/net/wireless/p54/p54usb.c
+@@ -852,9 +852,6 @@ static int p54u_load_firmware(struct iee
+ 
+ 	err = request_firmware(&priv->fw, p54u_fwlist[i].fw, &priv->udev->dev);
+ 	if (err) {
+-		dev_err(&priv->udev->dev, "(p54usb) cannot load firmware %s "
+-					  "(%d)!\n", p54u_fwlist[i].fw, err);
+-
+ 		err = request_firmware(&priv->fw, p54u_fwlist[i].fw_legacy,
+ 				       &priv->udev->dev);
+ 		if (err)
+--- a/drivers/net/wireless/prism54/islpci_dev.c
++++ b/drivers/net/wireless/prism54/islpci_dev.c
+@@ -93,12 +93,9 @@ isl_upload_firmware(islpci_private *priv
+ 		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;
+ 
+--- a/drivers/net/wireless/rt2x00/rt2x00firmware.c
++++ b/drivers/net/wireless/rt2x00/rt2x00firmware.c
+@@ -51,10 +51,8 @@ static int rt2x00lib_request_firmware(st
+ 	INFO(rt2x00dev, "Loading firmware file '%s'.\n", fw_name);
+ 
+ 	retval = request_firmware(&fw, fw_name, device);
+-	if (retval) {
+-		ERROR(rt2x00dev, "Failed to request Firmware.\n");
++	if (retval)
+ 		return retval;
+-	}
+ 
+ 	if (!fw || !fw->size || !fw->data) {
+ 		ERROR(rt2x00dev, "Failed to read Firmware.\n");
+--- a/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
++++ b/drivers/net/wireless/rtlwifi/rtl8192ce/sw.c
+@@ -174,11 +174,8 @@ int rtl92c_init_sw_vars(struct ieee80211
+ 		fw_name = rtlpriv->cfg->fw_name;
+ 	}
+ 	err = request_firmware(&firmware, fw_name, rtlpriv->io.dev);
+-	if (err) {
+-		RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+-			 ("Failed to request firmware!\n"));
++	if (err)
+ 		return 1;
+-	}
+ 	if (firmware->size > 0x4000) {
+ 		RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+ 			 ("Firmware is too big!\n"));
+--- a/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
++++ b/drivers/net/wireless/rtlwifi/rtl8192cu/sw.c
+@@ -71,11 +71,8 @@ static int rtl92cu_init_sw_vars(struct i
+ 	/* request fw */
+ 	err = request_firmware(&firmware, rtlpriv->cfg->fw_name,
+ 			rtlpriv->io.dev);
+-	if (err) {
+-		RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+-			 ("Failed to request firmware!\n"));
++	if (err)
+ 		return 1;
+-	}
+ 	if (firmware->size > 0x4000) {
+ 		RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+ 			 ("Firmware is too big!\n"));
+--- a/drivers/net/wireless/rtlwifi/rtl8192de/sw.c
++++ b/drivers/net/wireless/rtlwifi/rtl8192de/sw.c
+@@ -186,11 +186,8 @@ static int rtl92d_init_sw_vars(struct ie
+ 	/* request fw */
+ 	err = request_firmware(&firmware, rtlpriv->cfg->fw_name,
+ 			       rtlpriv->io.dev);
+-	if (err) {
+-		RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+-			 ("Failed to request firmware!\n"));
++	if (err)
+ 		return 1;
+-	}
+ 	if (firmware->size > 0x8000) {
+ 		RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+ 			 ("Firmware is too big!\n"));
+--- a/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
++++ b/drivers/net/wireless/rtlwifi/rtl8192se/sw.c
+@@ -197,11 +197,8 @@ static int rtl92s_init_sw_vars(struct ie
+ 	/* request fw */
+ 	err = request_firmware(&firmware, rtlpriv->cfg->fw_name,
+ 			rtlpriv->io.dev);
+-	if (err) {
+-		RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+-			 ("Failed to request firmware!\n"));
++	if (err)
+ 		return 1;
+-	}
+ 	if (firmware->size > sizeof(struct rt_firmware)) {
+ 		RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
+ 			 ("Firmware is too big!\n"));
+--- a/drivers/net/wireless/wl1251/main.c
++++ b/drivers/net/wireless/wl1251/main.c
+@@ -70,10 +70,8 @@ static int wl1251_fetch_firmware(struct
+ 
+ 	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",
+@@ -109,10 +107,8 @@ static int wl1251_fetch_nvs(struct wl125
+ 
+ 	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",
+--- a/drivers/net/wireless/wl12xx/main.c
++++ b/drivers/net/wireless/wl12xx/main.c
+@@ -1071,10 +1071,8 @@ static int wl1271_fetch_firmware(struct
+ 
+ 	ret = request_firmware(&fw, fw_name, wl1271_wl_to_dev(wl));
+ 
+-	if (ret < 0) {
+-		wl1271_error("could not get firmware: %d", ret);
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	if (fw->size % 4) {
+ 		wl1271_error("firmware size is not multiple of 32 bits: %zu",
+@@ -1109,10 +1107,8 @@ static int wl1271_fetch_nvs(struct wl127
+ 
+ 	ret = request_firmware(&fw, WL12XX_NVS_NAME, wl1271_wl_to_dev(wl));
+ 
+-	if (ret < 0) {
+-		wl1271_error("could not get nvs file: %d", ret);
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	wl->nvs = kmemdup(fw->data, fw->size, GFP_KERNEL);
+ 
+--- a/drivers/net/wireless/wl12xx/sdio_test.c
++++ b/drivers/net/wireless/wl12xx/sdio_test.c
+@@ -206,10 +206,8 @@ static int wl1271_fetch_firmware(struct
+ 		ret = request_firmware(&fw, WL127X_FW_NAME,
+ 				       wl1271_wl_to_dev(wl));
+ 
+-	if (ret < 0) {
+-		wl1271_error("could not get firmware: %d", ret);
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	if (fw->size % 4) {
+ 		wl1271_error("firmware size is not multiple of 32 bits: %zu",
+@@ -244,10 +242,8 @@ static int wl1271_fetch_nvs(struct wl127
+ 
+ 	ret = request_firmware(&fw, WL12XX_NVS_NAME, wl1271_wl_to_dev(wl));
+ 
+-	if (ret < 0) {
+-		wl1271_error("could not get nvs file: %d", ret);
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	wl->nvs = kmemdup(fw->data, fw->size, GFP_KERNEL);
+ 
+--- a/drivers/net/wireless/zd1201.c
++++ b/drivers/net/wireless/zd1201.c
+@@ -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;
+ 	}
+--- a/drivers/net/wireless/zd1211rw/zd_usb.c
++++ b/drivers/net/wireless/zd1211rw/zd_usb.c
+@@ -121,16 +121,9 @@ static void int_urb_complete(struct urb
+ 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
+@@ -4792,8 +4792,6 @@ static ushort AscInitAsc1000Driver(ASC_D
+ 
+ 	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;
+ 	}
+@@ -5125,8 +5123,6 @@ static int AdvInitAsc3550Driver(ADV_DVC_
+ 
+ 	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;
+ 	}
+@@ -5641,8 +5637,6 @@ static int AdvInitAsc38C0800Driver(ADV_D
+ 
+ 	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;
+ 	}
+@@ -6143,8 +6137,6 @@ static int AdvInitAsc38C1600Driver(ADV_D
+ 
+ 	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
+@@ -399,8 +399,6 @@ static ssize_t asd_store_update_bios(str
+ 				   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
+@@ -1318,11 +1318,8 @@ int asd_init_seqs(struct asd_ha_struct *
+ 
+ 	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
+@@ -1592,7 +1592,6 @@ bfad_read_firmware(struct pci_dev *pdev,
+ 	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
+@@ -3744,10 +3744,8 @@ static ssize_t ipr_store_update_fw(struc
+ 	len = snprintf(fname, 99, "%s", buf);
+ 	fname[len-1] = '\0';
+ 
+-	if(request_firmware(&fw_entry, fname, &ioa_cfg->pdev->dev)) {
+-		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
+@@ -502,9 +502,6 @@ static ssize_t pm8001_store_update_fw(st
+ 			       pm8001_ha->dev);
+ 
+ 	if (err) {
+-		PM8001_FAIL_DBG(pm8001_ha,
+-			pm8001_printk("Failed to load firmware image file %s,"
+-			" error %d\n", filename_ptr, err));
+ 		err = FAIL_OPEN_BIOS_FILE;
+ 		goto out1;
+ 	}
+--- a/drivers/scsi/qla1280.c
++++ b/drivers/scsi/qla1280.c
+@@ -1561,8 +1561,6 @@ qla1280_request_firmware(struct scsi_qla
+ 	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
+@@ -4725,8 +4725,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
+ 	/* Load firmware blob. */
+ 	blob = qla2x00_request_firmware(vha);
+ 	if (!blob) {
+-		ql_log(ql_log_info, vha, 0x0083,
+-		    "Fimware image unavailable.\n");
+ 		ql_log(ql_log_info, vha, 0x0084,
+ 		    "Firmware images can be retrieved from: "QLA_FW_URL ".\n");
+ 		return QLA_FUNCTION_FAILED;
+@@ -4827,8 +4825,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
+ 	/* Load firmware blob. */
+ 	blob = qla2x00_request_firmware(vha);
+ 	if (!blob) {
+-		ql_log(ql_log_warn, vha, 0x0090,
+-		    "Fimware image unavailable.\n");
+ 		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
+@@ -2466,11 +2466,8 @@ try_blob_fw:
+ 
+ 	/* Load firmware blob. */
+ 	blob = ha->hablob = qla2x00_request_firmware(vha);
+-	if (!blob) {
+-		ql_log(ql_log_fatal, vha, 0x00a3,
+-		    "Firmware image not preset.\n");
++	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
+@@ -3967,8 +3967,6 @@ qla2x00_request_firmware(scsi_qla_host_t
+ 		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
+@@ -476,11 +476,8 @@ static int __devinit qlogicpti_load_firm
+ 	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);
+--- a/drivers/staging/comedi/drivers/usbdux.c
++++ b/drivers/staging/comedi/drivers/usbdux.c
+@@ -2307,11 +2307,8 @@ static void usbdux_firmware_request_comp
+ 	struct usb_device *usbdev = usbduxsub_tmp->usbdev;
+ 	int ret;
+ 
+-	if (fw == NULL) {
+-		dev_err(&usbdev->dev,
+-			"Firmware complete handler without firmware!\n");
++	if (fw == NULL)
+ 		return;
+-	}
+ 
+ 	/*
+ 	 * we need to upload the firmware here because fw will be
+--- a/drivers/staging/comedi/drivers/usbduxsigma.c
++++ b/drivers/staging/comedi/drivers/usbduxsigma.c
+@@ -2312,11 +2312,8 @@ static void usbdux_firmware_request_comp
+ 	struct usb_device *usbdev = usbduxsub_tmp->usbdev;
+ 	int ret;
+ 
+-	if (fw == NULL) {
+-		dev_err(&usbdev->dev,
+-			"Firmware complete handler without firmware!\n");
++	if (fw == NULL)
+ 		return;
+-	}
+ 
+ 	/*
+ 	 * we need to upload the firmware here because fw will be
+--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
++++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+@@ -2194,16 +2194,12 @@ struct net_device *init_ft1000_card(stru
+ 	info->AsicID = ft1000_read_reg(dev, FT1000_REG_ASIC_ID);
+ 	if (info->AsicID == ELECTRABUZZ_ID) {
+ 		DEBUG(0, "ft1000_hw: ELECTRABUZZ ASIC\n");
+-		if (request_firmware(&fw_entry, "ft1000.img", &link->dev) != 0) {
+-			printk(KERN_INFO "ft1000: Could not open ft1000.img\n");
++		if (request_firmware(&fw_entry, "ft1000.img", &link->dev) != 0)
+ 			goto err_unreg;
+-		}
+ 	} else {
+ 		DEBUG(0, "ft1000_hw: MAGNEMITE ASIC\n");
+-		if (request_firmware(&fw_entry, "ft2000.img", &link->dev) != 0) {
+-			printk(KERN_INFO "ft1000: Could not open ft2000.img\n");
++		if (request_firmware(&fw_entry, "ft2000.img", &link->dev) != 0)
+ 			goto err_unreg;
+-		}
+ 	}
+ 
+ 	ft1000_enable_interrupts(dev);
+--- a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
++++ b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
+@@ -139,10 +139,8 @@ static int ft1000_probe(struct usb_inter
+ 	      ft1000dev->bulk_out_endpointAddr);
+ 
+ 	ret = request_firmware(&dsp_fw, "ft3000.img", &dev->dev);
+-	if (ret < 0) {
+-		printk(KERN_ERR "Error request_firmware().\n");
++	if (ret)
+ 		goto err_fw;
+-	}
+ 
+ 	size = max_t(uint, dsp_fw->size, 4096);
+ 	pFileStart = kmalloc(size, GFP_KERNEL);
+--- a/drivers/staging/intel_sst/intel_sst_drv_interface.c
++++ b/drivers/staging/intel_sst/intel_sst_drv_interface.c
+@@ -66,10 +66,8 @@ int sst_download_fw(void)
+ 
+ 	pr_debug("Downloading %s FW now...\n", name);
+ 	retval = request_firmware(&fw_sst, name, &sst_drv_ctx->pci->dev);
+-	if (retval) {
+-		pr_err("request fw failed %d\n", retval);
++	if (retval)
+ 		return retval;
+-	}
+ 	sst_drv_ctx->alloc_block[0].sst_id = FW_DWNL_ID;
+ 	sst_drv_ctx->alloc_block[0].ops_block.condition = false;
+ 	retval = sst_load_fw(fw_sst, NULL);
+--- a/drivers/staging/intel_sst/intel_sst_dsp.c
++++ b/drivers/staging/intel_sst/intel_sst_dsp.c
+@@ -471,10 +471,8 @@ int sst_load_library(struct snd_sst_lib_
+ 	pr_debug("Requesting %s\n", buf);
+ 
+ 	error = request_firmware(&fw_lib, buf, &sst_drv_ctx->pci->dev);
+-	if (error) {
+-		pr_err("library load failed %d\n", error);
++	if (error)
+ 		goto wake;
+-	}
+ 	error = sst_validate_library(fw_lib, &lib->slot_info, &entry_point);
+ 	if (error)
+ 		goto wake_free;
+--- a/drivers/staging/media/as102/as102_fw.c
++++ b/drivers/staging/media/as102/as102_fw.c
+@@ -197,11 +197,8 @@ int as102_fw_upload(struct as102_bus_ada
+ 
+ 	/* request kernel to locate firmware file: part1 */
+ 	errno = request_firmware(&firmware, fw1, &dev->dev);
+-	if (errno < 0) {
+-		printk(KERN_ERR "%s: unable to locate firmware file: %s\n",
+-				 DRIVER_NAME, fw1);
++	if (errno)
+ 		goto error;
+-	}
+ 
+ 	/* initiate firmware upload */
+ 	errno = as102_firmware_upload(bus_adap, cmd_buf, firmware);
+@@ -220,11 +217,8 @@ int as102_fw_upload(struct as102_bus_ada
+ 
+ 	/* request kernel to locate firmware file: part2 */
+ 	errno = request_firmware(&firmware, fw2, &dev->dev);
+-	if (errno < 0) {
+-		printk(KERN_ERR "%s: unable to locate firmware file: %s\n",
+-				 DRIVER_NAME, fw2);
++	if (errno)
+ 		goto error;
+-	}
+ 
+ 	/* initiate firmware upload */
+ 	errno = as102_firmware_upload(bus_adap, cmd_buf, firmware);
+--- a/drivers/staging/media/go7007/go7007-driver.c
++++ b/drivers/staging/media/go7007/go7007-driver.c
+@@ -97,11 +97,8 @@ static int go7007_load_encoder(struct go
+ 	int fw_len, rv = 0;
+ 	u16 intr_val, intr_data;
+ 
+-	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);
+--- a/drivers/staging/media/go7007/go7007-fw.c
++++ b/drivers/staging/media/go7007/go7007-fw.c
+@@ -1576,12 +1576,8 @@ int go7007_construct_fw_image(struct go7
+ 	default:
+ 		return -1;
+ 	}
+-	if (request_firmware(&fw_entry, go->board_info->firmware, go->dev)) {
+-		printk(KERN_ERR
+-			"go7007: unable to load firmware from file \"%s\"\n",
+-			go->board_info->firmware);
++	if (request_firmware(&fw_entry, go->board_info->firmware, go->dev))
+ 		return -1;
+-	}
+ 	code = kzalloc(codespace * 2, GFP_KERNEL);
+ 	if (code == NULL) {
+ 		printk(KERN_ERR "go7007: unable to allocate %d bytes for "
+--- a/drivers/staging/media/go7007/s2250-loader.c
++++ b/drivers/staging/media/go7007/s2250-loader.c
+@@ -98,12 +98,8 @@ static int s2250loader_probe(struct usb_
+ 
+ 	mutex_unlock(&s2250_dev_table_mutex);
+ 
+-	if (request_firmware(&fw, S2250_LOADER_FIRMWARE, &usbdev->dev)) {
+-		printk(KERN_ERR
+-			"s2250: unable to load firmware from file \"%s\"\n",
+-			S2250_LOADER_FIRMWARE);
++	if (request_firmware(&fw, S2250_LOADER_FIRMWARE, &usbdev->dev))
+ 		goto failed2;
+-	}
+ 	ret = usb_cypress_load_firmware(usbdev, fw, CYPRESS_FX2);
+ 	release_firmware(fw);
+ 	if (0 != ret) {
+@@ -111,12 +107,8 @@ static int s2250loader_probe(struct usb_
+ 		goto failed2;
+ 	}
+ 
+-	if (request_firmware(&fw, S2250_FIRMWARE, &usbdev->dev)) {
+-		printk(KERN_ERR
+-			"s2250: unable to load firmware from file \"%s\"\n",
+-			S2250_FIRMWARE);
++	if (request_firmware(&fw, S2250_FIRMWARE, &usbdev->dev))
+ 		goto failed2;
+-	}
+ 	ret = usb_cypress_load_firmware(usbdev, fw, CYPRESS_FX2);
+ 	release_firmware(fw);
+ 	if (0 != ret) {
+--- a/drivers/staging/media/lirc/lirc_zilog.c
++++ b/drivers/staging/media/lirc/lirc_zilog.c
+@@ -765,8 +765,6 @@ static int fw_load(struct IR_tx *tx)
+ 	/* Request codeset data file */
+ 	ret = request_firmware(&fw_entry, "haup-ir-blaster.bin", tx->ir->l.dev);
+ 	if (ret != 0) {
+-		zilog_error("firmware haup-ir-blaster.bin not available "
+-			    "(%d)\n", ret);
+ 		ret = ret < 0 ? ret : -EFAULT;
+ 		goto out;
+ 	}
+--- a/drivers/staging/rtl8192u/r819xU_firmware.c
++++ b/drivers/staging/rtl8192u/r819xU_firmware.c
+@@ -284,10 +284,8 @@ bool init_firmware(struct net_device *de
+ 		 */
+ 		if(rst_opt == OPT_SYSTEM_RESET) {
+ 			rc = request_firmware(&fw_entry, fw_name[init_step],&priv->udev->dev);
+-			if(rc < 0 ) {
+-				RT_TRACE(COMP_ERR, "request firmware fail!\n");
++			if (rc)
+ 				goto download_firmware_fail;
+-			}
+ 
+ 			if(fw_entry->size > sizeof(pfirmware->firmware_buf)) {
+ 				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
+@@ -50,7 +50,6 @@ static void rtl871x_load_fw_cb(const str
+ 	if (!firmware) {
+ 		struct usb_device *udev = padapter->dvobjpriv.pusbdev;
+ 		struct usb_interface *pusb_intf = padapter->pusb_intf;
+-		printk(KERN_ERR "r8712u: Firmware request failed\n");
+ 		padapter->fw_found = false;
+ 		usb_put_dev(udev);
+ 		usb_set_intfdata(pusb_intf, NULL);
+--- a/drivers/staging/slicoss/slicoss.c
++++ b/drivers/staging/slicoss/slicoss.c
+@@ -519,11 +519,8 @@ static int slic_card_download_gbrcv(stru
+ 	}
+ 
+ 	ret = request_firmware(&fw, file, &adapter->pcidev->dev);
+-	if (ret) {
+-		dev_err(&adapter->pcidev->dev,
+-			"SLICOSS: Failed to load firmware %s\n", file);
++	if (ret)
+ 		return ret;
+-	}
+ 
+ 	rcvucodelen = *(u32 *)(fw->data + index);
+ 	index += 4;
+@@ -597,11 +594,8 @@ static int slic_card_download(struct ada
+ 		break;
+ 	}
+ 	ret = request_firmware(&fw, file, &adapter->pcidev->dev);
+-	if (ret) {
+-		dev_err(&adapter->pcidev->dev,
+-			"SLICOSS: Failed to load firmware %s\n", file);
++	if (ret)
+ 		return ret;
+-	}
+ 	numsects = *(u32 *)(fw->data + index);
+ 	index += 4;
+ 	ASSERT(numsects <= 3);
+--- a/drivers/staging/vt6656/firmware.c
++++ b/drivers/staging/vt6656/firmware.c
+@@ -76,11 +76,8 @@ FIRMWAREbDownload(
+ 		int rc;
+ 
+ 		rc = request_firmware(&pDevice->firmware, FIRMWARE_NAME, dev);
+-		if (rc) {
+-			dev_err(dev, "firmware file %s request failed (%d)\n",
+-				FIRMWARE_NAME, rc);
++		if (rc)
+ 			goto out;
+-		}
+ 	}
+ 	fw = pDevice->firmware;
+ 
+--- a/drivers/tty/cyclades.c
++++ b/drivers/tty/cyclades.c
+@@ -3543,10 +3543,8 @@ static int __devinit cyz_load_fw(struct
+ 	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
+@@ -867,13 +867,8 @@ static int moxa_init_board(struct moxa_b
+ 	}
+ 
+ 	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
+@@ -374,7 +374,6 @@ static void load_code(struct icom_port *
+ 
+ 	/* 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;
+ 	}
+@@ -394,7 +393,6 @@ static void load_code(struct icom_port *
+ 
+ 	/* 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;
+ 	}
+@@ -439,7 +437,6 @@ static void load_code(struct icom_port *
+ 	}
+ 
+ 	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
+@@ -1173,10 +1173,8 @@ static void uart_firmware_cont(const str
+ 	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
+@@ -1081,8 +1081,6 @@ static int cxacru_find_firmware(struct c
+ 		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
+@@ -622,10 +622,8 @@ static void uea_upload_pre_firmware(cons
+ 	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;
+@@ -720,10 +718,6 @@ static int uea_load_firmware(struct usb_
+ 	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;
+@@ -885,12 +879,8 @@ static int request_dsp(struct uea_softc
+ 	}
+ 
+ 	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);
+@@ -1607,12 +1597,8 @@ static int request_cmvs_old(struct uea_s
+ 
+ 	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;
+@@ -1649,9 +1635,6 @@ static int request_cmvs(struct uea_softc
+ 				"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;
+ 	}
+ 
+@@ -1934,11 +1917,8 @@ static int load_XILINX_firmware(struct u
+ 	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
+@@ -96,21 +96,17 @@ static int emi26_load_firmware (struct u
+ 
+ 	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);
+--- a/drivers/usb/misc/emi62.c
++++ b/drivers/usb/misc/emi62.c
+@@ -105,19 +105,16 @@ static int emi62_load_firmware (struct u
+ 
+ 	err = request_ihex_firmware(&loader_fw, "emi62/loader.fw", &dev->dev);
+ 	if (err)
+-		goto nofw;
++		goto wraperr;
+ 
+ 	err = request_ihex_firmware(&bitstream_fw, "emi62/bitstream.fw",
+ 				    &dev->dev);
+ 	if (err)
+-		goto nofw;
++		goto wraperr;
+ 
+ 	err = request_ihex_firmware(&firmware_fw, FIRMWARE_FW, &dev->dev);
+-	if (err) {
+-	nofw:
+-		err( "%s - request_firmware() failed", __func__);
++	if (err)
+ 		goto wraperr;
+-	}
+ 
+ 	/* Assert reset (stop the CPU in the EMI) */
+ 	err = emi62_set_reset(dev,1);
+--- 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
+@@ -309,11 +309,8 @@ static void update_edgeport_E2PROM(struc
+ 
+ 	response = request_ihex_firmware(&fw, fw_name,
+ 					 &edge_serial->serial->dev->dev);
+-	if (response) {
+-		printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
+-		       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
+@@ -870,8 +870,6 @@ static int build_i2c_fw_hdr(__u8 *header
+ 
+ 	err = request_firmware(&fw, fw_name, dev);
+ 	if (err) {
+-		printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
+-		       fw_name, err);
+ 		kfree(buffer);
+ 		return err;
+ 	}
+@@ -1436,8 +1434,6 @@ static int download_fw(struct edgeport_s
+ 
+ 		err = request_firmware(&fw, fw_name, dev);
+ 		if (err) {
+-			printk(KERN_ERR "Failed to load image \"%s\" err %d\n",
+-			       fw_name, err);
+ 			kfree(buffer);
+ 			return err;
+ 		}
+--- a/drivers/usb/serial/keyspan.c
++++ b/drivers/usb/serial/keyspan.c
+@@ -1399,10 +1399,8 @@ static int keyspan_fake_startup(struct u
+ 		return 1;
+ 	}
+ 
+-	if (request_ihex_firmware(&fw, fw_name, &serial->dev->dev)) {
+-		dev_err(&serial->dev->dev, "Required keyspan firmware image (%s) unavailable.\n", fw_name);
++	if (request_ihex_firmware(&fw, fw_name, &serial->dev->dev))
+ 		return(1);
+-	}
+ 
+ 	dbg("Uploading Keyspan %s firmware.", fw_name);
+ 
+--- a/drivers/usb/serial/keyspan_pda.c
++++ b/drivers/usb/serial/keyspan_pda.c
+@@ -765,11 +765,8 @@ static int keyspan_pda_fake_startup(stru
+ 			__func__);
+ 		return -ENODEV;
+ 	}
+-	if (request_ihex_firmware(&fw, fw_name, &serial->dev->dev)) {
+-		dev_err(&serial->dev->dev, "failed to load firmware \"%s\"\n",
+-			fw_name);
++	if (request_ihex_firmware(&fw, fw_name, &serial->dev->dev))
+ 		return -ENOENT;
+-	}
+ 	record = (const struct ihex_binrec *)fw->data;
+ 
+ 	while (record) {
+--- a/drivers/usb/serial/ti_usb_3410_5052.c
++++ b/drivers/usb/serial/ti_usb_3410_5052.c
+@@ -1743,10 +1743,8 @@ static int ti_download_firmware(struct t
+ 		}
+ 		status = request_firmware(&fw_p, buf, &dev->dev);
+ 	}
+-	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);
+--- a/drivers/usb/serial/whiteheat.c
++++ b/drivers/usb/serial/whiteheat.c
+@@ -301,18 +301,11 @@ static int whiteheat_firmware_download(s
+ 	dbg("%s", __func__);
+ 
+ 	if (request_ihex_firmware(&firmware_fw, "whiteheat.fw",
+-				  &serial->dev->dev)) {
+-		dev_err(&serial->dev->dev,
+-			"%s - request \"whiteheat.fw\" failed\n", __func__);
++				  &serial->dev->dev))
+ 		goto out;
+-	}
+ 	if (request_ihex_firmware(&loader_fw, "whiteheat_loader.fw",
+-			     &serial->dev->dev)) {
+-		dev_err(&serial->dev->dev,
+-			"%s - request \"whiteheat_loader.fw\" failed\n",
+-			__func__);
++			     &serial->dev->dev))
+ 		goto out;
+-	}
+ 	ret = 0;
+ 	response = ezusb_set_reset (serial, 1);
+ 
+--- a/drivers/video/broadsheetfb.c
++++ b/drivers/video/broadsheetfb.c
+@@ -741,10 +741,8 @@ static ssize_t broadsheet_loadstore_wave
+ 		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)) {
+--- a/drivers/video/metronomefb.c
++++ b/drivers/video/metronomefb.c
+@@ -677,10 +677,8 @@ static int __devinit metronomefb_probe(s
+ 		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
+@@ -73,10 +73,8 @@ int snd_vx_setup_firmware(struct vx_core
+ 		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
+@@ -387,15 +387,11 @@ static int upload_dsp_code(struct snd_ca
+ 	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
+@@ -543,10 +543,8 @@ static int sscape_upload_bootblock(struc
+ 	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);
+@@ -583,11 +581,8 @@ static int sscape_upload_microcode(struc
+ 	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)
+ 		snd_printk(KERN_INFO "sscape: MIDI firmware loaded %d KBs\n",
+--- a/sound/isa/wavefront/wavefront_synth.c
++++ b/sound/isa/wavefront/wavefront_synth.c
+@@ -1947,10 +1947,8 @@ wavefront_download_firmware (snd_wavefro
+ 	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
+@@ -51,9 +51,6 @@ short hpi_dsp_code_open(u32 adapter, voi
+ 	err = request_firmware(&firmware, fw_name, &dev->dev);
+ 
+ 	if (err || !firmware) {
+-		dev_printk(KERN_ERR, &dev->dev,
+-			"%d, request_firmware failed for  %s\n", err,
+-			fw_name);
+ 		goto error1;
+ 	}
+ 	if (firmware->size < sizeof(header)) {
+--- a/sound/pci/cs46xx/cs46xx_lib.c
++++ b/sound/pci/cs46xx/cs46xx_lib.c
+@@ -411,10 +411,8 @@ static int snd_cs46xx_download_image(str
+ 
+ 	err = request_firmware(&firmware, "cs46xx/cs46xx-old.fw",
+ 			       &chip->pci->dev);
+-	if (err < 0) {
+-		snd_printk(KERN_ERR "cs46xx: no firmware\n");
++	if (err)
+ 		return err;
+-	}
+ 
+ 	err = snd_cs46xx_check_image_size(firmware);
+ 	if (err < 0)
+--- a/sound/pci/echoaudio/echoaudio.c
++++ b/sound/pci/echoaudio/echoaudio.c
+@@ -57,10 +57,8 @@ static int get_firmware(const struct fir
+ 	DE_ACT(("firmware requested: %s\n", card_fw[fw_index].data));
+ 	snprintf(name, sizeof(name), "ea/%s", card_fw[fw_index].data);
+ 	err = request_firmware(fw_entry, name, pci_device(chip));
+-	if (err < 0)
+-		snd_printk(KERN_ERR "get_firmware(): Firmware not available (%d)\n", err);
+ #ifdef CONFIG_PM
+-	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
+@@ -668,10 +668,8 @@ static int snd_emu1010_load_firmware(str
+ 	const struct firmware *fw_entry;
+ 
+ 	err = request_firmware(&fw_entry, filename, &emu->pci->dev);
+-	if (err != 0) {
+-		snd_printk(KERN_ERR "firmware: %s not found. Err = %d\n", filename, err);
++	if (err != 0)
+ 		return err;
+-	}
+ 	snd_printk(KERN_INFO "firmware size = 0x%zx\n", fw_entry->size);
+ 
+ 	/* The FPGA is a Xilinx Spartan IIE XC2S50E */
+--- a/sound/pci/hda/hda_hwdep.c
++++ b/sound/pci/hda/hda_hwdep.c
+@@ -792,11 +792,8 @@ int snd_hda_load_patch(struct hda_bus *b
+ 	if (snd_BUG_ON(!dev))
+ 		return -ENODEV;
+ 	err = request_firmware(&fw, patch, dev);
+-	if (err < 0) {
+-		printk(KERN_ERR "hda-codec: Cannot load the patch '%s'\n",
+-		       patch);
++	if (!err)
+ 		return err;
+-	}
+ 
+ 	tmp = *fw;
+ 	line_mode = LINE_MODE_NONE;
+--- a/sound/pci/korg1212/korg1212.c
++++ b/sound/pci/korg1212/korg1212.c
+@@ -2346,7 +2346,6 @@ static int __devinit snd_korg1212_create
+ 	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
+@@ -566,10 +566,8 @@ int snd_mixart_setup_firmware(struct mix
+ 
+ 	for (i = 0; i < 3; i++) {
+ 		sprintf(path, "mixart/%s", fw_files[i]);
+-		if (request_firmware(&fw_entry, path, &mgr->pci->dev)) {
+-			snd_printk(KERN_ERR "miXart: can't load firmware %s\n", path);
++		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
+@@ -390,11 +390,8 @@ int pcxhr_setup_firmware(struct pcxhr_mg
+ 		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)) {
+-			snd_printk(KERN_ERR "pcxhr: can't load firmware %s\n",
+-				   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
+@@ -1238,11 +1238,8 @@ static int try_to_load_firmware(struct c
+ 	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
+@@ -5369,10 +5369,8 @@ static int hdsp_request_fw_loader(struct
+ 		return -EINVAL;
+ 	}
+ 
+-	if (request_firmware(&fw, fwfile, &hdsp->pci->dev)) {
+-		snd_printk(KERN_ERR "Hammerfall-DSP: cannot load firmware %s\n", fwfile);
++	if (request_firmware(&fw, fwfile, &hdsp->pci->dev))
+ 		return -ENOENT;
+-	}
+ 	if (fw->size < sizeof(hdsp->firmware_cache)) {
+ 		snd_printk(KERN_ERR "Hammerfall-DSP: too short firmware size %d (expected %d)\n",
+ 			   (int)fw->size, (int)sizeof(hdsp->firmware_cache));
+--- a/sound/soc/codecs/wm2000.c
++++ b/sound/soc/codecs/wm2000.c
+@@ -773,10 +773,8 @@ static int __devinit wm2000_i2c_probe(st
+ 	}
+ 
+ 	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)
+ 		goto err;
+-	}
+ 
+ 	/* 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
+@@ -220,8 +220,6 @@ static int usb6fire_fw_ezusb_upload(
+ 	ret = request_firmware(&fw, fwname, &device->dev);
+ 	if (ret < 0) {
+ 		kfree(rec);
+-		snd_printk(KERN_ERR PREFIX "error requesting ezusb "
+-				"firmware %s.\n", fwname);
+ 		return ret;
+ 	}
+ 	ret = usb6fire_fw_ihex_init(fw, rec);
+@@ -293,8 +291,6 @@ static int usb6fire_fw_fpga_upload(
+ 
+ 	ret = request_firmware(&fw, fwname, &device->dev);
+ 	if (ret < 0) {
+-		snd_printk(KERN_ERR PREFIX "unable to get fpga firmware %s.\n",
+-				fwname);
+ 		kfree(buffer);
+ 		return -EIO;
+ 	}

Added: dists/sid/linux/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch	Sun Dec  9 17:13:28 2012	(r19589)
@@ -0,0 +1,95 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Subject: firmware_class: Log every success and failure against given device
+Date: Sun, 09 Dec 2012 16:02:00 +0000
+
+The hundreds of users of request_firmware() have nearly as many
+different log formats for reporting failures.  They also have only the
+vaguest hint as to what went wrong; only firmware_class really knows
+that.  Therefore, add specific log messages for the failure modes that
+aren't currently logged.
+
+In case of a driver that tries multiple names, this may result in the
+impression that it failed to initialise.  Therefore, also log successes.
+
+Change existing log messages to consistently use the given device, not
+the temporary child device we create.
+
+This makes many error messages in drivers redundant, which will be
+removed in later patches.
+
+--- a/drivers/base/firmware_class.c
++++ b/drivers/base/firmware_class.c
+@@ -251,7 +251,8 @@ static ssize_t firmware_loading_store(st
+ 						 fw_priv->nr_pages,
+ 						 0, PAGE_KERNEL_RO);
+ 			if (!fw_priv->fw->data) {
+-				dev_err(dev, "%s: vmap() failed\n", __func__);
++				dev_err(dev->parent, "%s: vmap() failed\n",
++					__func__);
+ 				goto err;
+ 			}
+ 			/* Pages are now owned by 'struct firmware' */
+@@ -266,9 +267,14 @@ static ssize_t firmware_loading_store(st
+ 		}
+ 		/* fallthrough */
+ 	default:
+-		dev_err(dev, "%s: unexpected value (%d)\n", __func__, loading);
+-		/* fallthrough */
++		dev_err(dev->parent, "%s: unexpected value (%d)\n",
++			__func__, loading);
++		goto err;
+ 	case -1:
++		dev_err(dev->parent,
++			"firmware: agent aborted loading %s (not found?)\n",
++			fw_priv->fw_id);
++		/* fallthrough */
+ 	err:
+ 		fw_load_abort(fw_priv);
+ 		break;
+@@ -431,6 +437,9 @@ static void firmware_class_timeout(u_lon
+ {
+ 	struct firmware_priv *fw_priv = (struct firmware_priv *) data;
+ 
++	dev_err(fw_priv->dev.parent,
++		"firmware: agent did not handle request for %s\n",
++		fw_priv->fw_id);
+ 	fw_load_abort(fw_priv);
+ }
+ 
+@@ -530,7 +539,8 @@ static int _request_firmware(const struc
+ 	}
+ 
+ 	if (fw_get_builtin_firmware(firmware, name)) {
+-		dev_dbg(device, "firmware: using built-in firmware %s\n", name);
++		dev_info(device, "firmware: using built-in firmware %s\n",
++			 name);
+ 		return 0;
+ 	}
+ 
+@@ -564,8 +574,15 @@ static int _request_firmware(const struc
+ 	del_timer_sync(&fw_priv->timeout);
+ 
+ 	mutex_lock(&fw_lock);
+-	if (!fw_priv->fw->size || test_bit(FW_STATUS_ABORT, &fw_priv->status))
++	if (test_bit(FW_STATUS_ABORT, &fw_priv->status)) {
++		/* failure has already been logged */
+ 		retval = -ENOENT;
++	} else if (!fw_priv->fw->size) {
++		dev_err(device,
++			"firmware: agent loaded no data for %s (not found?)\n",
++			name);
++		retval = -ENOENT;
++	}
+ 	fw_priv->fw = NULL;
+ 	mutex_unlock(&fw_lock);
+ 
+@@ -575,6 +592,9 @@ out:
+ 	if (retval) {
+ 		release_firmware(firmware);
+ 		*firmware_p = NULL;
++	} else {
++		dev_info(device, "firmware: agent loaded %s into memory\n",
++			 name);
+ 	}
+ 
+ 	return retval;

Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series	Sun Dec  9 13:34:19 2012	(r19588)
+++ dists/sid/linux/debian/patches/series	Sun Dec  9 17:13:28 2012	(r19589)
@@ -417,3 +417,6 @@
 features/all/rt2x00-Add-RT539b-chipset-support.patch
 features/all/xen/microcode-amd-fam15plus.patch
 features/all/xen/microcode-typo.patch
+
+bugfix/all/firmware_class-log-every-success-and-failure.patch
+bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch



More information about the Kernel-svn-changes mailing list