summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-07 13:11:37 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-07 13:11:37 +0000
commit85f603d4fd6d85c425502723a17daa94574977de (patch)
tree188a21432c3b8e8ddb8a08e9a09397164a88181c /debian/patches
parentMerging upstream version 6.9.7. (diff)
downloadlinux-85f603d4fd6d85c425502723a17daa94574977de.tar.xz
linux-85f603d4fd6d85c425502723a17daa94574977de.zip
Adding debian version 6.9.7-1.debian/6.9.7-1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch2311
-rw-r--r--debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch83
-rw-r--r--debian/patches/bugfix/x86/revert-perf-build-fix-libunwind-feature-detection-on.patch2
-rw-r--r--debian/patches/debian/af_802154-Disable-auto-loading-as-mitigation-against.patch4
-rw-r--r--debian/patches/debian/dfsg/video-remove-nvidiafb-and-rivafb.patch4
-rw-r--r--debian/patches/debian/documentation-drop-sphinx-version-check.patch4
-rw-r--r--debian/patches/debian/export-symbols-needed-by-android-drivers.patch26
-rw-r--r--debian/patches/debian/firmware_class-refer-to-debian-wiki-firmware-page.patch48
-rw-r--r--debian/patches/debian/firmware_loader-log-direct-loading-failures-as-info-for-d-i.path37
-rw-r--r--debian/patches/debian/ntfs-mark-it-as-broken.patch23
-rw-r--r--debian/patches/debian/sched-autogroup-disabled.patch19
-rw-r--r--debian/patches/debian/tools-rtla-Restore-option-to-set-VERSION-var-to-VERS.patch36
-rw-r--r--debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch6
-rw-r--r--debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch98
-rw-r--r--debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch16
-rw-r--r--debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch24
-rw-r--r--debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch4
-rw-r--r--debian/patches/series8
18 files changed, 118 insertions, 2635 deletions
diff --git a/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch b/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
deleted file mode 100644
index ef0201ec34..0000000000
--- a/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
+++ /dev/null
@@ -1,2311 +0,0 @@
-From: Ben Hutchings <ben@decadent.org.uk>
-Subject: firmware: Remove redundant log messages from drivers
-Date: Sun, 09 Dec 2012 16:40:31 +0000
-Forwarded: no
-
-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/x86/kernel/cpu/microcode/amd.c
-+++ b/arch/x86/kernel/cpu/microcode/amd.c
-@@ -894,10 +894,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_direct(&fw, (const char *)fw_name, device)) {
-- pr_debug("failed to load file %s\n", fw_name);
-+ if (request_firmware_direct(&fw, (const char *)fw_name, device))
- goto out;
-- }
-
- ret = UCODE_ERROR;
- if (!verify_container(fw->data, fw->size))
---- a/drivers/atm/fore200e.c
-+++ b/drivers/atm/fore200e.c
-@@ -2398,10 +2398,9 @@ static int fore200e_load_and_start_fw(st
- int err;
-
- sprintf(buf, "%s%s", fore200e->bus->proc_name, FW_EXT);
-- if ((err = request_firmware(&firmware, buf, fore200e->dev)) < 0) {
-- printk(FORE200E "problem loading firmware image %s\n", fore200e->bus->model_name);
-+ err = request_firmware(&firmware, buf, fore200e->dev);
-+ if (err)
- return err;
-- }
-
- fw_data = (const __le32 *)firmware->data;
- fw_size = firmware->size / sizeof(u32);
---- a/drivers/bluetooth/ath3k.c
-+++ b/drivers/bluetooth/ath3k.c
-@@ -381,10 +381,8 @@ static int ath3k_load_patch(struct usb_d
- le32_to_cpu(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_rom_version = get_unaligned_le32(firmware->data +
- firmware->size - 8);
-@@ -444,10 +442,8 @@ static int ath3k_load_syscfg(struct usb_
- le32_to_cpu(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
-@@ -173,7 +173,6 @@ static int bcm203x_probe(struct usb_inte
- return -ENOMEM;
-
- if (request_firmware(&firmware, "BCM2033-MD.hex", &udev->dev) < 0) {
-- BT_ERR("Mini driver request failed");
- usb_free_urb(data->urb);
- return -EIO;
- }
-@@ -198,7 +197,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);
- return -EIO;
---- a/drivers/bluetooth/bfusb.c
-+++ b/drivers/bluetooth/bfusb.c
-@@ -639,10 +639,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 done;
-- }
-
- BT_DBG("firmware data %p size %zu", firmware->data, firmware->size);
-
---- a/drivers/bluetooth/bt3c_cs.c
-+++ b/drivers/bluetooth/bt3c_cs.c
-@@ -569,10 +569,8 @@ static int bt3c_open(struct bt3c_info *i
-
- /* 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
-@@ -470,8 +470,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;
- }
-@@ -570,8 +568,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
-@@ -142,11 +142,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
-@@ -1933,11 +1933,8 @@ static void sdma_load_firmware(const str
- const struct sdma_script_start_addrs *addr;
- unsigned short *ram_code;
-
-- if (!fw) {
-- dev_info(sdma->dev, "external firmware not found, using ROM firmware\n");
-- /* In this case we just use the ROM firmware. */
-+ if (!fw)
- return;
-- }
-
- if (fw->size < sizeof(*header))
- goto err_firmware;
---- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
-@@ -2579,10 +2579,8 @@ gf100_gr_load_fw(struct gf100_gr *gr, co
- if (ret) {
- snprintf(f, sizeof(f), "nouveau/%s", name);
- ret = request_firmware(&fw, f, device->dev);
-- if (ret) {
-- nvkm_error(subdev, "failed to load %s\n", name);
-+ if (ret)
- return ret;
-- }
- }
-
- blob->size = fw->size;
---- a/drivers/gpu/drm/radeon/ni.c
-+++ b/drivers/gpu/drm/radeon/ni.c
-@@ -820,9 +820,6 @@ int ni_init_microcode(struct radeon_devi
-
- out:
- if (err) {
-- if (err != -EINVAL)
-- pr_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
-@@ -1057,9 +1057,7 @@ static int r100_cp_init_microcode(struct
- }
-
- err = request_firmware(&rdev->me_fw, fw_name, rdev->dev);
-- if (err) {
-- pr_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) {
- pr_err("radeon_cp: Bogus length %zu in firmware \"%s\"\n",
- rdev->me_fw->size, fw_name);
- err = -EINVAL;
---- a/drivers/gpu/drm/radeon/r600.c
-+++ b/drivers/gpu/drm/radeon/r600.c
-@@ -2600,9 +2600,6 @@ int r600_init_microcode(struct radeon_de
-
- out:
- if (err) {
-- if (err != -EINVAL)
-- pr_err("r600_cp: Failed to load firmware \"%s\"\n",
-- fw_name);
- release_firmware(rdev->pfp_fw);
- rdev->pfp_fw = NULL;
- release_firmware(rdev->me_fw);
---- a/drivers/infiniband/hw/qib/qib_sd7220.c
-+++ b/drivers/infiniband/hw/qib/qib_sd7220.c
-@@ -406,10 +406,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
-@@ -2927,10 +2927,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;
-- }
-
- /* Check for incorrect enc file */
- ret = mxt_check_firmware_format(dev, fw);
---- a/drivers/isdn/hardware/mISDN/speedfax.c
-+++ b/drivers/isdn/hardware/mISDN/speedfax.c
-@@ -379,11 +379,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/siano/smscoreapi.c
-+++ b/drivers/media/common/siano/smscoreapi.c
-@@ -1152,10 +1152,8 @@ static int smscore_load_firmware_from_fi
- return -EINVAL;
-
- rc = request_firmware(&fw, fw_filename, coredev->device);
-- if (rc < 0) {
-- pr_err("failed to open firmware file '%s'\n", fw_filename);
-+ if (rc < 0)
- return rc;
-- }
- pr_debug("read fw %s, buffer size=0x%zx\n", fw_filename, fw->size);
- fw_buf = kmalloc(ALIGN(fw->size + sizeof(struct sms_firmware),
- SMS_ALLOC_ALIGNMENT), GFP_KERNEL | coredev->gfp_buf_flags);
---- a/drivers/media/dvb-frontends/af9013.c
-+++ b/drivers/media/dvb-frontends/af9013.c
-@@ -1049,14 +1049,8 @@ static int af9013_download_firmware(stru
-
- /* Request the firmware, will block and timeout */
- ret = request_firmware(&firmware, name, &client->dev);
-- if (ret) {
-- dev_info(&client->dev, "firmware file '%s' not found %d\n",
-- name, ret);
-+ if (ret)
- goto err;
-- }
--
-- dev_info(&client->dev, "downloading firmware from file '%s'\n",
-- name);
-
- /* Write firmware checksum & size */
- for (i = 0; i < firmware->size; i++)
---- a/drivers/media/dvb-frontends/bcm3510.c
-+++ b/drivers/media/dvb-frontends/bcm3510.c
-@@ -636,10 +636,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: %zu\n", fw->size);
-
- b = fw->data;
---- a/drivers/media/dvb-frontends/cx24116.c
-+++ b/drivers/media/dvb-frontends/cx24116.c
-@@ -479,13 +479,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
-@@ -891,10 +891,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 = kmemdup(fw->data, fw->size, GFP_KERNEL);
- if (!state->microcode) {
---- a/drivers/media/dvb-frontends/drxk_hard.c
-+++ b/drivers/media/dvb-frontends/drxk_hard.c
-@@ -6228,10 +6228,6 @@ static void load_firmware_cb(const struc
-
- dprintk(1, ": %s\n", fw ? "firmware loaded" : "firmware not loaded");
- if (!fw) {
-- pr_err("Could not load firmware file %s.\n",
-- state->microcode_name);
-- pr_info("Copy %s to your hotplug directory!\n",
-- state->microcode_name);
- state->microcode_name = NULL;
-
- /*
---- a/drivers/media/dvb-frontends/ds3000.c
-+++ b/drivers/media/dvb-frontends/ds3000.c
-@@ -348,12 +348,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;
-- }
-
- ret = ds3000_load_firmware(fe, fw);
- if (ret)
---- a/drivers/media/dvb-frontends/nxt200x.c
-+++ b/drivers/media/dvb-frontends/nxt200x.c
-@@ -861,12 +861,8 @@ static int nxt2002_init(struct dvb_front
- __func__, NXT2002_DEFAULT_FIRMWARE);
- ret = request_firmware(&fw, NXT2002_DEFAULT_FIRMWARE,
- state->i2c->dev.parent);
-- pr_debug("%s: Waiting for firmware upload(2)...\n", __func__);
-- if (ret) {
-- pr_err("%s: No firmware uploaded (timeout or file not found?)\n",
-- __func__);
-+ if (ret)
- return ret;
-- }
-
- ret = nxt2002_load_firmware(fe, fw);
- release_firmware(fw);
-@@ -928,12 +924,8 @@ static int nxt2004_init(struct dvb_front
- __func__, NXT2004_DEFAULT_FIRMWARE);
- ret = request_firmware(&fw, NXT2004_DEFAULT_FIRMWARE,
- state->i2c->dev.parent);
-- pr_debug("%s: Waiting for firmware upload(2)...\n", __func__);
-- if (ret) {
-- pr_err("%s: No firmware uploaded (timeout or file not found?)\n",
-- __func__);
-+ 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
-@@ -326,10 +326,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 uploaded(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
-@@ -361,11 +361,8 @@ static int or51211_init(struct dvb_front
- OR51211_DEFAULT_FIRMWARE);
- ret = config->request_firmware(fe, &fw,
- OR51211_DEFAULT_FIRMWARE);
-- pr_info("Got Hotplug firmware\n");
-- if (ret) {
-- pr_warn("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/sp887x.c
-+++ b/drivers/media/dvb-frontends/sp887x.c
-@@ -525,10 +525,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
-@@ -483,8 +483,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
-@@ -388,10 +388,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);
-@@ -532,7 +530,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
-@@ -838,12 +838,8 @@ static int tda10071_init(struct dvb_fron
-
- /* request the firmware, this will block and timeout */
- ret = request_firmware(&fw, fw_file, &client->dev);
-- if (ret) {
-- dev_err(&client->dev,
-- "did not find the firmware file '%s' (status %d). You can use <kernel_dir>/scripts/get_dvb_firmware to get the firmware\n",
-- fw_file, ret);
-+ if (ret)
- goto error;
-- }
-
- /* init */
- for (i = 0; i < ARRAY_SIZE(tab2); i++) {
---- a/drivers/media/i2c/cx25840/cx25840-firmware.c
-+++ b/drivers/media/i2c/cx25840/cx25840-firmware.c
-@@ -113,10 +113,8 @@ int cx25840_loadfw(struct i2c_client *cl
- if (is_cx231xx(state) && max_buf_size > 16)
- max_buf_size = 16;
-
-- 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/pci/bt8xx/bttv-cards.c
-+++ b/drivers/media/pci/bt8xx/bttv-cards.c
-@@ -3902,10 +3902,8 @@ static int pvr_boot(struct bttv *btv)
- 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/pci/cx18/cx18-av-firmware.c
-+++ b/drivers/media/pci/cx18/cx18-av-firmware.c
-@@ -70,10 +70,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/pci/cx18/cx18-dvb.c
-+++ b/drivers/media/pci/cx18/cx18-dvb.c
-@@ -127,9 +127,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",
---- a/drivers/media/pci/cx18/cx18-firmware.c
-+++ b/drivers/media/pci/cx18/cx18-firmware.c
-@@ -92,11 +92,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;
-
-@@ -137,8 +134,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/pci/cx23885/cx23885-417.c
-+++ b/drivers/media/pci/cx23885/cx23885-417.c
-@@ -920,12 +920,8 @@ static int cx23885_load_firmware(struct
- retval = request_firmware(&firmware, CX23885_FIRM_IMAGE_NAME,
- &dev->pci->dev);
-
-- if (retval != 0) {
-- pr_err("ERROR: Hotplug firmware request failed (%s).\n",
-- CX23885_FIRM_IMAGE_NAME);
-- pr_err("Please fix your hotplug setup, the board will not work without firmware loaded!\n");
-+ if (retval != 0)
- return -1;
-- }
-
- if (firmware->size != CX23885_FIRM_IMAGE_SIZE) {
- pr_err("ERROR: Firmware size mismatch (have %zu, expected %d)\n",
---- a/drivers/media/pci/cx23885/cx23885-cards.c
-+++ b/drivers/media/pci/cx23885/cx23885-cards.c
-@@ -2480,10 +2480,7 @@ void cx23885_card_setup(struct cx23885_d
- cinfo.rev, filename);
-
- ret = request_firmware(&fw, filename, &dev->pci->dev);
-- if (ret != 0)
-- pr_err("did not find the firmware file '%s'. You can use <kernel_dir>/scripts/get_dvb_firmware to get the firmware.",
-- filename);
-- else
-+ if (ret == 0)
- altera_init(&netup_config, fw);
-
- release_firmware(fw);
---- a/drivers/media/pci/cx88/cx88-blackbird.c
-+++ b/drivers/media/pci/cx88/cx88-blackbird.c
-@@ -462,12 +462,8 @@ static int blackbird_load_firmware(struc
- retval = request_firmware(&firmware, CX2341X_FIRM_ENC_FILENAME,
- &dev->pci->dev);
-
-- if (retval != 0) {
-- pr_err("Hotplug firmware request failed (%s).\n",
-- CX2341X_FIRM_ENC_FILENAME);
-- pr_err("Please fix your hotplug setup, the board will not work without firmware loaded!\n");
-+ if (retval != 0)
- return -EIO;
-- }
-
- if (firmware->size != BLACKBIRD_FIRM_IMAGE_SIZE) {
- pr_err("Firmware size mismatch (have %zd, expected %d)\n",
---- a/drivers/media/pci/ivtv/ivtv-firmware.c
-+++ b/drivers/media/pci/ivtv/ivtv-firmware.c
-@@ -68,8 +68,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/pci/ngene/ngene-core.c
-+++ b/drivers/media/pci/ngene/ngene-core.c
-@@ -1236,19 +1236,14 @@ static int ngene_load_firm(struct ngene
- break;
- }
-
-- if (request_firmware(&fw, fw_name, &dev->pci_dev->dev) < 0) {
-- dev_err(pdev, "Could not load firmware file %s.\n", fw_name);
-- dev_info(pdev, "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) {
- dev_err(pdev, "Firmware %s has invalid size!", fw_name);
- err = -1;
- } else {
-- dev_info(pdev, "Loading firmware file %s.\n", fw_name);
- ngene_fw = (u8 *) fw->data;
- err = ngene_command_load_firmware(dev, ngene_fw, size);
- }
---- a/drivers/media/pci/saa7164/saa7164-fw.c
-+++ b/drivers/media/pci/saa7164/saa7164-fw.c
-@@ -405,11 +405,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/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c
-+++ b/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c
-@@ -65,10 +65,8 @@ int s5p_mfc_load_firmware(struct s5p_mfc
- }
- }
-
-- 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_buf.size) {
- mfc_err("MFC firmware is too big to be loaded\n");
- release_firmware(fw_blob);
---- a/drivers/media/radio/radio-wl1273.c
-+++ b/drivers/media/radio/radio-wl1273.c
-@@ -502,11 +502,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
-@@ -1240,10 +1240,8 @@ static int 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 : %zu bytes\n", fw_name, fw_entry->size);
-
- fw_data = (void *)fw_entry->data;
---- a/drivers/media/tuners/xc2028.c
-+++ b/drivers/media/tuners/xc2028.c
-@@ -1366,7 +1366,6 @@ static void load_firmware_cb(const struc
-
- tuner_dbg("request_firmware_nowait(): %s\n", fw ? "OK" : "error");
- if (!fw) {
-- tuner_err("Could not load firmware %s.\n", priv->fname);
- priv->state = XC2028_NODEV;
- return;
- }
---- a/drivers/media/usb/cx231xx/cx231xx-417.c
-+++ b/drivers/media/usb/cx231xx/cx231xx-417.c
-@@ -982,11 +982,6 @@ static int cx231xx_load_firmware(struct
- dev->dev);
-
- if (retval != 0) {
-- dev_err(dev->dev,
-- "ERROR: Hotplug firmware request failed (%s).\n",
-- CX231xx_FIRM_IMAGE_NAME);
-- dev_err(dev->dev,
-- "Please fix your hotplug setup, the board will not work without firmware loaded!\n");
- vfree(p_current_fw);
- vfree(p_buffer);
- return retval;
---- a/drivers/media/usb/dvb-usb/dib0700_devices.c
-+++ b/drivers/media/usb/dvb-usb/dib0700_devices.c
-@@ -2401,12 +2401,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;
-
-@@ -2471,12 +2468,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/usb/dvb-usb/dvb-usb-firmware.c
-+++ b/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
-@@ -90,13 +90,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' (status %d). You can use <kernel_dir>/scripts/get_dvb_firmware to get the firmware",
-- 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/usb/dvb-usb/gp8psk.c
-+++ b/drivers/media/usb/dvb-usb/gp8psk.c
-@@ -131,19 +131,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' (status %d). You can use <kernel_dir>/scripts/get_dvb_firmware to get the firmware",
-- 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);
- if (!buf) {
---- a/drivers/media/usb/dvb-usb/opera1.c
-+++ b/drivers/media/usb/dvb-usb/opera1.c
-@@ -459,8 +459,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'. You can use <kernel_dir>/scripts/get_dvb_firmware to get the firmware",
-- filename);
- return ret;
- } else {
- p = kmalloc(fw->size, GFP_KERNEL);
---- a/drivers/media/usb/go7007/go7007-driver.c
-+++ b/drivers/media/usb/go7007/go7007-driver.c
-@@ -84,10 +84,8 @@ static int go7007_load_encoder(struct go
- u16 intr_val, intr_data;
-
- if (go->boot_fw == NULL) {
-- if (request_firmware(&fw_entry, fw_name, go->dev)) {
-- v4l2_err(go, "unable to load firmware from file \"%s\"\n", fw_name);
-+ if (request_firmware(&fw_entry, fw_name, go->dev))
- return -1;
-- }
- if (fw_entry->size < 16 || memcmp(fw_entry->data, "WISGO7007FW", 11)) {
- v4l2_err(go, "file \"%s\" does not appear to be go7007 firmware\n", fw_name);
- release_firmware(fw_entry);
---- a/drivers/media/usb/go7007/go7007-fw.c
-+++ b/drivers/media/usb/go7007/go7007-fw.c
-@@ -1565,12 +1565,8 @@ int go7007_construct_fw_image(struct go7
- default:
- return -1;
- }
-- if (request_firmware(&fw_entry, GO7007_FW_NAME, go->dev)) {
-- dev_err(go->dev,
-- "unable to load firmware from file \"%s\"\n",
-- GO7007_FW_NAME);
-+ if (request_firmware(&fw_entry, GO7007_FW_NAME, go->dev))
- return -1;
-- }
- code = kcalloc(codespace, 2, GFP_KERNEL);
- if (code == NULL)
- goto fw_failed;
---- a/drivers/media/usb/go7007/go7007-loader.c
-+++ b/drivers/media/usb/go7007/go7007-loader.c
-@@ -67,11 +67,8 @@ static int go7007_loader_probe(struct us
-
- dev_info(&interface->dev, "loading firmware %s\n", fw1);
-
-- if (request_firmware(&fw, fw1, &usbdev->dev)) {
-- dev_err(&interface->dev,
-- "unable to load firmware from file \"%s\"\n", fw1);
-+ if (request_firmware(&fw, fw1, &usbdev->dev))
- goto failed2;
-- }
- ret = cypress_load_firmware(usbdev, fw, CYPRESS_FX2);
- release_firmware(fw);
- if (0 != ret) {
-@@ -82,11 +79,8 @@ static int go7007_loader_probe(struct us
- if (fw2 == NULL)
- return 0;
-
-- if (request_firmware(&fw, fw2, &usbdev->dev)) {
-- dev_err(&interface->dev,
-- "unable to load firmware from file \"%s\"\n", fw2);
-+ if (request_firmware(&fw, fw2, &usbdev->dev))
- goto failed2;
-- }
- ret = cypress_load_firmware(usbdev, fw, CYPRESS_FX2);
- release_firmware(fw);
- if (0 != ret) {
---- a/drivers/media/usb/gspca/vicam.c
-+++ b/drivers/media/usb/gspca/vicam.c
-@@ -230,10 +230,8 @@ static int sd_init(struct gspca_dev *gsp
-
- ret = request_ihex_firmware(&fw, VICAM_FIRMWARE,
- &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/usb/pvrusb2/pvrusb2-hdw.c
-+++ b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
-@@ -1370,25 +1370,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/usb/s2255/s2255drv.c
-+++ b/drivers/media/usb/s2255/s2255drv.c
-@@ -2276,10 +2276,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)) {
-- dev_err(&interface->dev, "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/usb/ttusb-budget/dvb-ttusb-budget.c
-+++ b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
-@@ -282,10 +282,8 @@ static int ttusb_boot_dsp(struct ttusb *
-
- err = request_firmware(&fw, "ttusb-budget/dspbootcode.bin",
- &ttusb->dev->dev);
-- if (err) {
-- pr_err("failed to request firmware\n");
-+ if (err)
- return err;
-- }
-
- /* BootBlock */
- b[0] = 0xaa;
---- a/drivers/media/usb/ttusb-dec/ttusb_dec.c
-+++ b/drivers/media/usb/ttusb-dec/ttusb_dec.c
-@@ -1317,11 +1317,8 @@ static int ttusb_dec_boot_dsp(struct ttu
- dprintk("%s\n", __func__);
-
- result = request_firmware(&fw_entry, dec->firmware_name, &dec->udev->dev);
-- if (result) {
-- printk(KERN_ERR "%s: Firmware (%s) unavailable.\n",
-- __func__, dec->firmware_name);
-+ if (result)
- return result;
-- }
-
- firmware = fw_entry->data;
- firmware_size = fw_entry->size;
---- a/drivers/misc/ti-st/st_kim.c
-+++ b/drivers/misc/ti-st/st_kim.c
-@@ -288,11 +288,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;
- /*
---- a/drivers/net/can/softing/softing_fw.c
-+++ b/drivers/net/can/softing/softing_fw.c
-@@ -226,11 +226,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
-@@ -1279,11 +1279,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 = typhoon_fw->data;
- remaining = typhoon_fw->size;
---- a/drivers/net/ethernet/adaptec/starfire.c
-+++ b/drivers/net/ethernet/adaptec/starfire.c
-@@ -1004,11 +1004,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);
-@@ -1016,11 +1013,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/alacritech/slicoss.c
-+++ b/drivers/net/ethernet/alacritech/slicoss.c
-@@ -1051,11 +1051,8 @@ static int slic_load_rcvseq_firmware(str
- file = (sdev->model == SLIC_MODEL_OASIS) ? SLIC_RCV_FIRMWARE_OASIS :
- SLIC_RCV_FIRMWARE_MOJAVE;
- err = request_firmware(&fw, file, &sdev->pdev->dev);
-- if (err) {
-- dev_err(&sdev->pdev->dev,
-- "failed to load receive sequencer firmware %s\n", file);
-+ if (err)
- return err;
-- }
- /* Do an initial sanity check concerning firmware size now. A further
- * check follows below.
- */
-@@ -1126,10 +1123,8 @@ static int slic_load_firmware(struct sli
- file = (sdev->model == SLIC_MODEL_OASIS) ? SLIC_FIRMWARE_OASIS :
- SLIC_FIRMWARE_MOJAVE;
- err = request_firmware(&fw, file, &sdev->pdev->dev);
-- if (err) {
-- dev_err(&sdev->pdev->dev, "failed to load firmware %s\n", file);
-+ if (err)
- return err;
-- }
- /* Do an initial sanity check concerning firmware size now. A further
- * check follows below.
- */
---- a/drivers/net/ethernet/alteon/acenic.c
-+++ b/drivers/net/ethernet/alteon/acenic.c
-@@ -2877,11 +2877,8 @@ static int ace_load_firmware(struct net_
- 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
-@@ -3710,16 +3710,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/tg3.c
-+++ b/drivers/net/ethernet/broadcom/tg3.c
-@@ -11474,11 +11474,8 @@ static int tg3_request_firmware(struct t
- {
- const struct tg3_firmware_hdr *fw_hdr;
-
-- 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_hdr = (struct tg3_firmware_hdr *)tp->fw->data;
-
---- a/drivers/net/ethernet/brocade/bna/cna_fwimg.c
-+++ b/drivers/net/ethernet/brocade/bna/cna_fwimg.c
-@@ -24,10 +24,8 @@ cna_read_firmware(struct pci_dev *pdev,
- const struct firmware *fw;
- u32 n;
-
-- if (request_firmware(&fw, fw_name, &pdev->dev)) {
-- dev_alert(&pdev->dev, "can't load 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
-@@ -1035,12 +1035,8 @@ int t3_get_edc_fw(struct cphy *phy, int
- fw_name = get_edc_fw_name(edc_idx);
- if (fw_name)
- ret = request_firmware(&fw, fw_name, &adapter->pdev->dev);
-- if (ret < 0) {
-- dev_err(&adapter->pdev->dev,
-- "could not upgrade firmware: unable to load %s\n",
-- fw_name);
-+ if (ret)
- return ret;
-- }
-
- /* check size, take checksum in account */
- if (fw->size > size + 4) {
-@@ -1077,11 +1073,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);
-
-@@ -1126,11 +1119,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/intel/e100.c
-+++ b/drivers/net/ethernet/intel/e100.c
-@@ -1262,9 +1262,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
-@@ -580,8 +580,6 @@ static int myri10ge_load_hotplug_firmwar
- unsigned i;
-
- if (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
-@@ -651,10 +651,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
-@@ -792,11 +792,8 @@ static void cas_saturn_firmware_init(str
- return;
-
- err = request_firmware(&fw, fw_name, &cp->pdev->dev);
-- if (err) {
-- pr_err("Failed to load firmware \"%s\"\n",
-- fw_name);
-+ if (err)
- return;
-- }
- 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
-@@ -357,11 +357,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
-@@ -305,10 +305,8 @@ static int kaweth_download_firmware(stru
- int ret;
-
- ret = request_firmware(&fw, fwname, &kaweth->dev->dev);
-- if (ret) {
-- dev_err(&kaweth->intf->dev, "Firmware request failed\n");
-+ if (ret)
- return ret;
-- }
-
- if (fw->size > KAWETH_FIRMWARE_BUF_SIZE) {
- dev_err(&kaweth->intf->dev, "Firmware too big: %zu\n",
---- a/drivers/net/wireless/ath/ath9k/hif_usb.c
-+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
-@@ -1250,9 +1250,6 @@ static void ath9k_hif_usb_firmware_cb(co
- if (!ret)
- return;
-
-- dev_err(&hif_dev->udev->dev,
-- "ath9k_htc: Failed to get firmware %s\n",
-- hif_dev->fw_name);
- goto err_fw;
- }
-
---- a/drivers/net/wireless/ath/carl9170/usb.c
-+++ b/drivers/net/wireless/ath/carl9170/usb.c
-@@ -1029,7 +1029,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/at76c50x-usb.c
-+++ b/drivers/net/wireless/atmel/at76c50x-usb.c
-@@ -1616,13 +1616,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_err(&udev->dev, "firmware %s not found!\n",
-- fwe->fwname);
-- dev_err(&udev->dev,
-- "you may need to download the firmware from http://developer.berlios.de/projects/at76c503a/\n");
-+ if (ret)
- goto exit;
-- }
-
- at76_dbg(DBG_FW, "got it.");
- fwh = (struct at76_fw_header *)(fwe->fw->data);
---- a/drivers/net/wireless/broadcom/b43/main.c
-+++ b/drivers/net/wireless/broadcom/b43/main.c
-@@ -2245,19 +2245,8 @@ int b43_do_request_fw(struct b43_request
- }
- err = request_firmware(&ctx->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;
-- }
- fw_ready:
- if (ctx->blob->size < sizeof(struct b43_fw_header))
- goto err_format;
---- a/drivers/net/wireless/broadcom/b43legacy/main.c
-+++ b/drivers/net/wireless/broadcom/b43legacy/main.c
-@@ -1524,11 +1524,8 @@ static int do_request_fw(struct b43legac
- } else {
- 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/broadcom/brcm80211/brcmsmac/mac80211_if.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
-@@ -376,19 +376,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/intel/ipw2x00/ipw2100.c
-+++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
-@@ -8354,12 +8354,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/intel/ipw2x00/ipw2200.c
-+++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
-@@ -3350,10 +3350,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/intel/iwlegacy/3945-mac.c
-+++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
-@@ -1829,7 +1829,6 @@ il3945_read_ucode(struct il_priv *il)
- sprintf(buf, "%s%u%s", name_pre, idx, ".ucode");
- ret = request_firmware(&ucode_raw, buf, &il->pci_dev->dev);
- if (ret < 0) {
-- IL_ERR("%s firmware file req failed: %d\n", buf, ret);
- if (ret == -ENOENT)
- continue;
- else
---- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
-+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
-@@ -249,8 +249,6 @@ static int iwl_request_firmware(struct i
- drv->fw_index--;
-
- if (drv->fw_index < cfg->ucode_api_min) {
-- IWL_ERR(drv, "no suitable firmware found!\n");
--
- if (cfg->ucode_api_min == cfg->ucode_api_max) {
- IWL_ERR(drv, "%s-%d is required\n", fw_name_pre,
- cfg->ucode_api_max);
---- a/drivers/net/wireless/intersil/p54/p54pci.c
-+++ b/drivers/net/wireless/intersil/p54/p54pci.c
-@@ -502,7 +502,6 @@ static void p54p_firmware_step2(const st
- int err;
-
- if (!fw) {
-- dev_err(&pdev->dev, "Cannot find firmware (isl3886pci)\n");
- err = -ENOENT;
- goto out;
- }
---- a/drivers/net/wireless/intersil/p54/p54spi.c
-+++ b/drivers/net/wireless/intersil/p54/p54spi.c
-@@ -158,10 +158,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/intersil/p54/p54usb.c
-+++ b/drivers/net/wireless/intersil/p54/p54usb.c
-@@ -929,7 +929,6 @@ static void p54u_load_firmware_cb(const
- err = p54u_start_ops(priv);
- } else {
- err = -ENOENT;
-- dev_err(&udev->dev, "Firmware not found.\n");
- }
-
- complete(&priv->fw_wait_load);
---- a/drivers/net/wireless/marvell/libertas_tf/if_usb.c
-+++ b/drivers/net/wireless/marvell/libertas_tf/if_usb.c
-@@ -820,8 +820,6 @@ static int if_usb_prog_firmware(struct l
- kernel_param_lock(THIS_MODULE);
- 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);
- kernel_param_unlock(THIS_MODULE);
- goto done;
- }
---- a/drivers/net/wireless/marvell/mwifiex/main.c
-+++ b/drivers/net/wireless/marvell/mwifiex/main.c
-@@ -549,11 +549,8 @@ static int _mwifiex_fw_dpc(const struct
- struct wireless_dev *wdev;
- struct completion *fw_done = adapter->fw_done;
-
-- if (!firmware) {
-- mwifiex_dbg(adapter, ERROR,
-- "Failed to get firmware %s\n", adapter->fw_name);
-+ if (!firmware)
- goto err_dnld_fw;
-- }
-
- memset(&fw, 0, sizeof(struct mwifiex_fw_image));
- adapter->firmware = firmware;
---- a/drivers/net/wireless/marvell/mwl8k.c
-+++ b/drivers/net/wireless/marvell/mwl8k.c
-@@ -5736,16 +5736,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);
-@@ -5780,11 +5776,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)
-@@ -5822,10 +5815,8 @@ retry:
-
- /* 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/ralink/rt2x00/rt2x00firmware.c
-+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00firmware.c
-@@ -38,10 +38,8 @@ static int rt2x00lib_request_firmware(st
- rt2x00_info(rt2x00dev, "Loading firmware file '%s'\n", fw_name);
-
- retval = request_firmware(&fw, fw_name, device);
-- if (retval) {
-- rt2x00_err(rt2x00dev, "Failed to request Firmware\n");
-+ if (retval)
- return retval;
-- }
-
- if (!fw || !fw->size || !fw->data) {
- rt2x00_err(rt2x00dev, "Failed to read Firmware\n");
---- a/drivers/net/wireless/realtek/rtlwifi/core.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/core.c
-@@ -88,7 +88,6 @@ static void rtl_fw_do_work(const struct
- if (!err)
- goto found_alt;
- }
-- pr_err("Selected firmware is not available\n");
- rtlpriv->max_fw_size = 0;
- goto exit;
- }
---- a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
-+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
-@@ -63,13 +63,11 @@ static void rtl92se_fw_cb(const struct f
- struct ieee80211_hw *hw = context;
- struct rtl_priv *rtlpriv = rtl_priv(hw);
- struct rt_firmware *pfirmware = NULL;
-- char *fw_name = "rtlwifi/rtl8192sefw.bin";
-
- rtl_dbg(rtlpriv, COMP_ERR, DBG_LOUD,
- "Firmware callback routine entered!\n");
- complete(&rtlpriv->firmware_loading_complete);
- if (!firmware) {
-- pr_err("Firmware %s not available\n", fw_name);
- rtlpriv->max_fw_size = 0;
- return;
- }
---- a/drivers/net/wireless/ti/wl1251/main.c
-+++ b/drivers/net/wireless/ti/wl1251/main.c
-@@ -57,10 +57,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",
-@@ -96,10 +94,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/ti/wlcore/main.c
-+++ b/drivers/net/wireless/ti/wlcore/main.c
-@@ -756,10 +756,8 @@ static int wl12xx_fetch_firmware(struct
-
- ret = request_firmware(&fw, fw_name, wl->dev);
-
-- if (ret < 0) {
-- wl1271_error("could not get firmware %s: %d", fw_name, ret);
-+ if (ret)
- return ret;
-- }
-
- if (fw->size % 4) {
- wl1271_error("firmware size is not multiple of 32 bits: %zu",
---- a/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
-+++ b/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
-@@ -107,16 +107,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
-@@ -4054,8 +4054,6 @@ static int AscInitAsc1000Driver(ASC_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;
- }
-@@ -4420,8 +4418,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;
- }
-@@ -4920,8 +4916,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;
- }
-@@ -5408,8 +5402,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
-@@ -370,8 +370,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
-@@ -1302,11 +1302,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
-@@ -1737,7 +1737,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
-@@ -4013,10 +4013,8 @@ static ssize_t ipr_store_update_fw(struc
- if (endline)
- *endline = '\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
-@@ -842,9 +842,6 @@ static ssize_t pm8001_store_update_fw(st
- pm8001_ha->dev);
-
- if (ret) {
-- pm8001_dbg(pm8001_ha, FAIL,
-- "Failed to load firmware image file %s, error %d\n",
-- filename_ptr, ret);
- pm8001_ha->fw_status = FAIL_OPEN_BIOS_FILE;
- goto out;
- }
---- a/drivers/scsi/qla1280.c
-+++ b/drivers/scsi/qla1280.c
-@@ -1506,8 +1506,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
-@@ -8560,10 +8560,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,
-- "Firmware image unavailable.\n");
-- ql_log(ql_log_info, vha, 0x0084,
-- "Firmware images can be retrieved from: "QLA_FW_URL ".\n");
- return QLA_FUNCTION_FAILED;
- }
-
-@@ -8666,9 +8662,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
-
- blob = qla2x00_request_firmware(vha);
- if (!blob) {
-- ql_log(ql_log_warn, vha, 0x0092,
-- "-> Firmware file not found.\n");
--
- return QLA_FUNCTION_FAILED;
- }
-
---- a/drivers/scsi/qla2xxx/qla_nx.c
-+++ b/drivers/scsi/qla2xxx/qla_nx.c
-@@ -2427,11 +2427,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 present.\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
-@@ -7697,8 +7697,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;
- }
---- a/drivers/scsi/qlogicpti.c
-+++ b/drivers/scsi/qlogicpti.c
-@@ -486,11 +486,8 @@ static int qlogicpti_load_firmware(struc
- 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/rtl8712/hal_init.c
-+++ b/drivers/staging/rtl8712/hal_init.c
-@@ -72,8 +72,6 @@ int rtl871x_load_fw(struct _adapter *pad
- dev_info(dev, "r8712u: Loading firmware from \"%s\"\n", firmware_file);
- rc = request_firmware_nowait(THIS_MODULE, 1, firmware_file, dev,
- GFP_KERNEL, padapter, rtl871x_load_fw_cb);
-- if (rc)
-- dev_err(dev, "r8712u: Firmware request error %d\n", rc);
- return rc;
- }
- MODULE_FIRMWARE("rtlwifi/rtl8712u.bin");
---- a/drivers/staging/vt6656/main_usb.c
-+++ b/drivers/staging/vt6656/main_usb.c
-@@ -107,11 +107,8 @@ static int vnt_download_firmware(struct
- dev_dbg(dev, "---->Download firmware\n");
-
- ret = request_firmware(&fw, FIRMWARE_NAME, dev);
-- if (ret) {
-- dev_err(dev, "firmware file %s request failed (%d)\n",
-- FIRMWARE_NAME, ret);
-+ if (ret)
- goto end;
-- }
-
- for (ii = 0; ii < fw->size; ii += FIRMWARE_CHUNK_SIZE) {
- length = min_t(int, fw->size - ii, FIRMWARE_CHUNK_SIZE);
---- a/drivers/tty/moxa.c
-+++ b/drivers/tty/moxa.c
-@@ -1154,13 +1154,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
-@@ -621,7 +621,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;
- }
-@@ -641,7 +640,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;
- }
-@@ -686,7 +684,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
-@@ -1149,10 +1149,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
-@@ -1084,8 +1084,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
-@@ -606,10 +606,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;
-@@ -704,10 +702,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;
-@@ -869,12 +863,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);
-@@ -1587,12 +1577,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;
-@@ -1629,9 +1615,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;
- }
-
-@@ -1914,11 +1897,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
-@@ -85,21 +85,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/ezusb.c
-+++ b/drivers/usb/misc/ezusb.c
-@@ -64,12 +64,8 @@ static int ezusb_ihex_firmware_download(
- const struct ihex_binrec *record;
-
- if (request_ihex_firmware(&firmware, firmware_path,
-- &dev->dev)) {
-- dev_err(&dev->dev,
-- "%s - request \"%s\" failed\n",
-- __func__, firmware_path);
-+ &dev->dev))
- goto out;
-- }
-
- ret = ezusb_set_reset(dev, fx.cpucs_reg, 0);
- if (ret < 0)
---- a/drivers/usb/misc/isight_firmware.c
-+++ b/drivers/usb/misc/isight_firmware.c
-@@ -45,7 +45,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
-@@ -332,11 +332,8 @@ static void update_edgeport_E2PROM(struc
-
- response = request_ihex_firmware(&fw, fw_name,
- &edge_serial->serial->dev->dev);
-- if (response) {
-- dev_err(dev, "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
-@@ -1009,8 +1009,6 @@ static int download_fw(struct edgeport_s
-
- status = request_firmware(&fw, fw_name, dev);
- if (status) {
-- dev_err(dev, "Failed to load image \"%s\" err %d\n",
-- fw_name, status);
- return status;
- }
-
---- a/drivers/usb/serial/ti_usb_3410_5052.c
-+++ b/drivers/usb/serial/ti_usb_3410_5052.c
-@@ -1635,10 +1635,8 @@ static int ti_download_firmware(struct t
- }
-
- check_firmware:
-- 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/video/fbdev/broadsheetfb.c
-+++ b/drivers/video/fbdev/broadsheetfb.c
-@@ -743,10 +743,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/fbdev/metronomefb.c
-+++ b/drivers/video/fbdev/metronomefb.c
-@@ -621,10 +621,8 @@ static int metronomefb_probe(struct plat
- 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
-@@ -58,10 +58,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
-@@ -376,15 +376,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
-@@ -520,10 +520,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);
-@@ -560,11 +558,8 @@ static int sscape_upload_microcode(struc
- scnprintf(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 %zu KBs\n",
---- a/sound/isa/wavefront/wavefront_synth.c
-+++ b/sound/isa/wavefront/wavefront_synth.c
-@@ -1970,10 +1970,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
-@@ -35,8 +35,6 @@ short hpi_dsp_code_open(u32 adapter, voi
- err = request_firmware(&firmware, fw_name, &dev->dev);
-
- if (err || !firmware) {
-- dev_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
-@@ -3196,11 +3196,8 @@ int snd_cs46xx_start_dsp(struct snd_cs46
- #ifdef CONFIG_SND_CS46XX_NEW_DSP
- for (i = 0; i < CS46XX_DSP_MODULES; i++) {
- err = load_firmware(chip, &chip->modules[i], module_names[i]);
-- if (err < 0) {
-- dev_err(chip->card->dev, "firmware load error [%s]\n",
-- module_names[i]);
-+ if (err < 0)
- return err;
-- }
- err = cs46xx_dsp_load_module(chip, chip->modules[i]);
- if (err < 0) {
- dev_err(chip->card->dev, "image download error [%s]\n",
---- a/sound/pci/echoaudio/echoaudio.c
-+++ b/sound/pci/echoaudio/echoaudio.c
-@@ -48,11 +48,8 @@ static int get_firmware(const struct fir
- "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, &chip->pci->dev);
-- if (err < 0)
-- dev_err(chip->card->dev,
-- "get_firmware(): Firmware not available (%d)\n", err);
- #ifdef CONFIG_PM_SLEEP
-- 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
-@@ -864,10 +864,8 @@ static int snd_emu10k1_emu1010_init(stru
- dev_info(emu->card->dev, "emu1010: EMU_HANA_ID = 0x%x\n", reg);
-
- err = snd_emu1010_load_firmware(emu, 0, &emu->firmware);
-- if (err < 0) {
-- dev_info(emu->card->dev, "emu1010: Loading Firmware failed\n");
-+ if (err < 0)
- return err;
-- }
-
- /* ID, should read & 0x7f = 0x55 when FPGA programmed. */
- snd_emu1010_fpga_read(emu, EMU_HANA_ID, &reg);
---- a/sound/pci/hda/hda_intel.c
-+++ b/sound/pci/hda/hda_intel.c
-@@ -2034,8 +2034,6 @@ static void azx_firmware_cb(const struct
-
- if (fw)
- chip->fw = fw;
-- else
-- dev_err(card->dev, "Cannot load firmware, continue without patching\n");
- if (!chip->disabled) {
- /* continue probing */
- azx_probe_continue(chip);
---- a/sound/pci/korg1212/korg1212.c
-+++ b/sound/pci/korg1212/korg1212.c
-@@ -2232,7 +2232,6 @@ static int snd_korg1212_create(struct sn
-
- err = request_firmware(&dsp_code, "korg/k1212.dsp", &pci->dev);
- if (err < 0) {
-- snd_printk(KERN_ERR "firmware not available\n");
- return err;
- }
-
---- a/sound/pci/mixart/mixart_hwdep.c
-+++ b/sound/pci/mixart/mixart_hwdep.c
-@@ -566,11 +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)) {
-- dev_err(&mgr->pci->dev,
-- "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
-@@ -375,12 +375,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)) {
-- dev_err(&mgr->pci->dev,
-- "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
-@@ -1222,11 +1222,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
-@@ -5171,11 +5171,8 @@ static int hdsp_request_fw_loader(struct
- return -EINVAL;
- }
-
-- if (request_firmware(&fw, fwfile, &hdsp->pci->dev)) {
-- dev_err(hdsp->card->dev,
-- "cannot load firmware %s\n", fwfile);
-+ if (request_firmware(&fw, fwfile, &hdsp->pci->dev))
- return -ENOENT;
-- }
- if (fw->size < HDSP_FIRMWARE_SIZE) {
- dev_err(hdsp->card->dev,
- "too short firmware size %d (expected %d)\n",
---- a/sound/soc/codecs/wm2000.c
-+++ b/sound/soc/codecs/wm2000.c
-@@ -891,10 +891,8 @@ static int wm2000_i2c_probe(struct i2c_c
- }
-
- 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_supplies;
-- }
-
- /* 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
-@@ -203,8 +203,6 @@ static int usb6fire_fw_ezusb_upload(
- ret = request_firmware(&fw, fwname, &device->dev);
- if (ret < 0) {
- kfree(rec);
-- dev_err(&intf->dev,
-- "error requesting ezusb firmware %s.\n", fwname);
- return ret;
- }
- ret = usb6fire_fw_ihex_init(fw, rec);
-@@ -280,8 +278,6 @@ static int usb6fire_fw_fpga_upload(
-
- ret = request_firmware(&fw, fwname, &device->dev);
- if (ret < 0) {
-- dev_err(&intf->dev, "unable to get fpga firmware %s.\n",
-- fwname);
- kfree(buffer);
- return -EIO;
- }
diff --git a/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch b/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch
deleted file mode 100644
index 092a744961..0000000000
--- a/debian/patches/bugfix/all/firmware_class-log-every-success-and-failure.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From: Ben Hutchings <ben@decadent.org.uk>
-Subject: firmware_class: Log every success and failure against given device
-Date: Sun, 09 Dec 2012 16:02:00 +0000
-Forwarded: no
-
-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.
-
-This makes many error messages in drivers redundant, which will be
-removed in later patches.
-
-This does not cover the case where we fall back to a user-mode helper
-(which is no longer enabled in Debian).
-
-NOTE: hw-detect will depend on the "firmware: failed to load %s (%d)\n"
-format to detect missing firmware.
----
- drivers/base/firmware_loader/fallback.c | 2 +-
- drivers/base/firmware_loader/main.c | 17 ++++++++---------
- 2 files changed, 9 insertions(+), 10 deletions(-)
-
---- a/drivers/base/firmware_loader/fallback.c
-+++ b/drivers/base/firmware_loader/fallback.c
-@@ -558,7 +558,7 @@ static int fw_load_from_user_helper(stru
- if (opt_flags & FW_OPT_NOWAIT) {
- timeout = usermodehelper_read_lock_wait(timeout);
- if (!timeout) {
-- dev_dbg(device, "firmware: %s loading timed out\n",
-+ dev_err(device, "firmware: %s loading timed out\n",
- name);
- return -EBUSY;
- }
---- a/drivers/base/firmware_loader/main.c
-+++ b/drivers/base/firmware_loader/main.c
-@@ -535,18 +535,15 @@ fw_get_filesystem_firmware(struct device
- file_size_ptr,
- READING_FIRMWARE);
- if (rc < 0) {
-- if (rc != -ENOENT)
-- dev_warn(device, "loading %s failed with error %d\n",
-- path, rc);
-- else
-- dev_dbg(device, "loading %s failed for no such file or directory.\n",
-- path);
-+ dev_dbg(device, "loading %s failed with error %d\n",
-+ path, rc);
- continue;
- }
- size = rc;
- rc = 0;
-
-- dev_dbg(device, "Loading firmware from %s\n", path);
-+ dev_info(device, "firmware: direct-loading firmware %s\n",
-+ fw_priv->fw_name);
- if (decompress) {
- dev_dbg(device, "f/w decompressing %s\n",
- fw_priv->fw_name);
-@@ -559,8 +556,6 @@ fw_get_filesystem_firmware(struct device
- continue;
- }
- } else {
-- dev_dbg(device, "direct-loading %s\n",
-- fw_priv->fw_name);
- if (!fw_priv->data)
- fw_priv->data = buffer;
- fw_priv->size = size;
-@@ -570,6 +565,10 @@ fw_get_filesystem_firmware(struct device
- }
- __putname(path);
-
-+ if (rc)
-+ dev_err(device, "firmware: failed to load %s (%d)\n",
-+ fw_priv->fw_name, rc);
-+
- return rc;
- }
-
diff --git a/debian/patches/bugfix/x86/revert-perf-build-fix-libunwind-feature-detection-on.patch b/debian/patches/bugfix/x86/revert-perf-build-fix-libunwind-feature-detection-on.patch
index cfbf98e824..e962b04bdf 100644
--- a/debian/patches/bugfix/x86/revert-perf-build-fix-libunwind-feature-detection-on.patch
+++ b/debian/patches/bugfix/x86/revert-perf-build-fix-libunwind-feature-detection-on.patch
@@ -18,5 +18,5 @@ It broke feature detection that was working just fine for us.
- LIBUNWIND_LIBS = -lunwind-x86 -llzma -lunwind
+ LIBUNWIND_LIBS = -lunwind -lunwind-x86
endif
- NO_PERF_REGS := 0
endif
+
diff --git a/debian/patches/debian/af_802154-Disable-auto-loading-as-mitigation-against.patch b/debian/patches/debian/af_802154-Disable-auto-loading-as-mitigation-against.patch
index 3b33f845ab..7c530cb0bd 100644
--- a/debian/patches/debian/af_802154-Disable-auto-loading-as-mitigation-against.patch
+++ b/debian/patches/debian/af_802154-Disable-auto-loading-as-mitigation-against.patch
@@ -21,9 +21,9 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- a/net/ieee802154/socket.c
+++ b/net/ieee802154/socket.c
-@@ -1122,4 +1122,4 @@ module_init(af_ieee802154_init);
- module_exit(af_ieee802154_remove);
+@@ -1138,4 +1138,4 @@ module_init(af_ieee802154_init);
MODULE_LICENSE("GPL");
+ MODULE_DESCRIPTION("IEEE 802.15.4 socket interface");
-MODULE_ALIAS_NETPROTO(PF_IEEE802154);
+/* MODULE_ALIAS_NETPROTO(PF_IEEE802154); */
diff --git a/debian/patches/debian/dfsg/video-remove-nvidiafb-and-rivafb.patch b/debian/patches/debian/dfsg/video-remove-nvidiafb-and-rivafb.patch
index 5f1258c910..8c6ae9ab99 100644
--- a/debian/patches/debian/dfsg/video-remove-nvidiafb-and-rivafb.patch
+++ b/debian/patches/debian/dfsg/video-remove-nvidiafb-and-rivafb.patch
@@ -15,7 +15,7 @@ probably discontinued 10 years ago.
---
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
-@@ -690,102 +690,6 @@ config FB_ATMEL
+@@ -654,100 +654,6 @@ config FB_ATMEL
help
This enables support for the AT91 LCD Controller.
@@ -29,7 +29,6 @@ probably discontinued 10 years ago.
- select FB_IOMEM_FOPS
- select BITREVERSE
- select VGASTATE
-- select VIDEO_NOMODESET
- help
- This driver supports graphics boards with the nVidia chips, TNT
- and newer. For very old chipsets, such as the RIVA128, then use
@@ -78,7 +77,6 @@ probably discontinued 10 years ago.
- select FB_MODE_HELPERS
- select BITREVERSE
- select VGASTATE
-- select VIDEO_NOMODESET
- help
- This driver supports graphics boards with the nVidia Riva/Geforce
- chips.
diff --git a/debian/patches/debian/documentation-drop-sphinx-version-check.patch b/debian/patches/debian/documentation-drop-sphinx-version-check.patch
index cb74a8115b..b2ae2626a9 100644
--- a/debian/patches/debian/documentation-drop-sphinx-version-check.patch
+++ b/debian/patches/debian/documentation-drop-sphinx-version-check.patch
@@ -10,7 +10,7 @@ Forwarded: not-needed
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
-@@ -112,7 +112,6 @@ $(YNL_RST_DIR)/%.rst: $(YNL_YAML_DIR)/%.yaml $(YNL_TOOL)
+@@ -114,7 +114,6 @@ $(YNL_RST_DIR)/%.rst: $(YNL_YAML_DIR)/%.yaml $(YNL_TOOL)
htmldocs texinfodocs latexdocs epubdocs xmldocs: $(YNL_INDEX)
htmldocs:
@@ -42,7 +42,7 @@ Forwarded: not-needed
$(foreach var,$(SPHINXDIRS), \
$(MAKE) PDFLATEX="$(PDFLATEX)" LATEXOPTS="$(LATEXOPTS)" -C $(BUILDDIR)/$(var)/latex || exit; \
mkdir -p $(BUILDDIR)/$(var)/pdf; \
-@@ -160,11 +156,9 @@ pdfdocs: latexdocs
+@@ -162,11 +158,9 @@ pdfdocs: latexdocs
endif # HAVE_PDFLATEX
epubdocs:
diff --git a/debian/patches/debian/export-symbols-needed-by-android-drivers.patch b/debian/patches/debian/export-symbols-needed-by-android-drivers.patch
index eeb02a66de..ee654b3405 100644
--- a/debian/patches/debian/export-symbols-needed-by-android-drivers.patch
+++ b/debian/patches/debian/export-symbols-needed-by-android-drivers.patch
@@ -22,7 +22,7 @@ Export the currently un-exported symbols they depend on.
--- a/fs/file.c
+++ b/fs/file.c
-@@ -816,6 +816,7 @@ struct file *file_close_fd(unsigned
+@@ -818,6 +818,7 @@ struct file *file_close_fd(unsigned
return file;
}
@@ -32,7 +32,7 @@ Export the currently un-exported symbols they depend on.
{
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
-@@ -7253,6 +7253,7 @@ static bool is_nice_reduction(const stru
+@@ -7339,6 +7339,7 @@ static bool is_nice_reduction(const stru
return (nice_rlim <= task_rlimit(p, RLIMIT_NICE));
}
@@ -42,7 +42,7 @@ Export the currently un-exported symbols they depend on.
* can_nice - check if a task can reduce its nice value
--- a/kernel/sched/wait.c
+++ b/kernel/sched/wait.c
-@@ -252,6 +252,7 @@ void __wake_up_pollfree(struct wait_queu
+@@ -212,6 +212,7 @@ void __wake_up_pollfree(struct wait_queu
/* POLLFREE must have cleared the queue. */
WARN_ON_ONCE(waitqueue_active(wq_head));
}
@@ -62,7 +62,7 @@ Export the currently un-exported symbols they depend on.
* task_work_cancel_match - cancel a pending work added by task_work_add()
--- a/mm/memory.c
+++ b/mm/memory.c
-@@ -1770,6 +1770,7 @@ void zap_page_range_single(struct vm_area_struc
+@@ -1918,6 +1918,7 @@ void zap_page_range_single(struct vm_area_struc
tlb_finish_mmu(&tlb);
hugetlb_zap_end(vma, details);
}
@@ -72,7 +72,7 @@ Export the currently un-exported symbols they depend on.
* zap_vma_ptes - remove ptes mapping the vma
--- a/mm/shmem.c
+++ b/mm/shmem.c
-@@ -4871,6 +4871,7 @@ int shmem_zero_setup(struct vm_area_stru
+@@ -4939,6 +4939,7 @@ int shmem_zero_setup(struct vm_area_stru
return 0;
}
@@ -82,33 +82,33 @@ Export the currently un-exported symbols they depend on.
* shmem_read_folio_gfp - read into page cache, using specified page allocation flags.
--- a/security/security.c
+++ b/security/security.c
-@@ -799,6 +799,7 @@ int security_binder_set_context_mgr(const struct cred *mgr)
+@@ -890,6 +890,7 @@ int security_binder_set_context_mgr(const struct cred *mgr)
{
- return call_int_hook(binder_set_context_mgr, 0, mgr);
+ return call_int_hook(binder_set_context_mgr, mgr);
}
+EXPORT_SYMBOL_GPL(security_binder_set_context_mgr);
/**
* security_binder_transaction() - Check if a binder transaction is allowed
-@@ -814,6 +815,7 @@ int security_binder_transaction(const struct cred *from,
+@@ -905,6 +906,7 @@ int security_binder_transaction(const struct cred *from,
{
- return call_int_hook(binder_transaction, 0, from, to);
+ return call_int_hook(binder_transaction, from, to);
}
+EXPORT_SYMBOL_GPL(security_binder_transaction);
/**
* security_binder_transfer_binder() - Check if a binder transfer is allowed
-@@ -829,6 +831,7 @@ int security_binder_transfer_binder(const struct cred *from,
+@@ -920,6 +922,7 @@ int security_binder_transfer_binder(const struct cred *from,
{
- return call_int_hook(binder_transfer_binder, 0, from, to);
+ return call_int_hook(binder_transfer_binder, from, to);
}
+EXPORT_SYMBOL_GPL(security_binder_transfer_binder);
/**
* security_binder_transfer_file() - Check if a binder file xfer is allowed
-@@ -845,6 +848,7 @@ int security_binder_transfer_file(const struct cred *from,
+@@ -936,6 +939,7 @@ int security_binder_transfer_file(const struct cred *from,
{
- return call_int_hook(binder_transfer_file, 0, from, to, file);
+ return call_int_hook(binder_transfer_file, from, to, file);
}
+EXPORT_SYMBOL_GPL(security_binder_transfer_file);
diff --git a/debian/patches/debian/firmware_class-refer-to-debian-wiki-firmware-page.patch b/debian/patches/debian/firmware_class-refer-to-debian-wiki-firmware-page.patch
deleted file mode 100644
index 208eb1e788..0000000000
--- a/debian/patches/debian/firmware_class-refer-to-debian-wiki-firmware-page.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From: Ben Hutchings <ben@decadent.org.uk>
-Date: Mon, 12 Mar 2018 01:14:03 +0000
-Subject: firmware_class: Refer to Debian wiki page when logging missing firmware
-Bug-Debian: https://bugs.debian.org/888405
-Bug-Debian: https://bugs.debian.org/1053764
-Forwarded: not-needed
-Last-Update: 2023-11-08
-
-If firmware loading fails due to a missing file, log a second error
-message referring to our wiki page about firmware. This will explain
-why some firmware is in non-free, or can't be packaged at all. Only
-do this once per boot.
-
-Do something similar in the radeon drivers, where we have an early
-check to avoid failing at a point where we cannot display anything.
-
-Update 2023-11-08:
-In bug 1053764 Mario Limonciello <mario.limonciello@amd.com> states
-that the patch isn't needed anymore for amdgpu, so remove that part
-of the patch
-
----
---- a/drivers/base/firmware_loader/main.c
-+++ b/drivers/base/firmware_loader/main.c
-@@ -580,9 +580,12 @@ fw_get_filesystem_firmware(struct device
- }
- __putname(path);
-
-- if (rc)
-+ if (rc) {
- dev_err(device, "firmware: failed to load %s (%d)\n",
- fw_priv->fw_name, rc);
-+ if (rc == -ENOENT)
-+ pr_err_once("See https://wiki.debian.org/Firmware for information about missing firmware\n");
-+ }
-
- return rc;
- }
---- a/drivers/gpu/drm/radeon/radeon_drv.c
-+++ b/drivers/gpu/drm/radeon/radeon_drv.c
-@@ -322,6 +322,7 @@ static int radeon_pci_probe(struct pci_d
- if ((ent->driver_data & RADEON_FAMILY_MASK) >= CHIP_R600 &&
- !radeon_firmware_installed()) {
- DRM_ERROR("radeon kernel modesetting for R600 or later requires firmware installed\n");
-+ pr_err_once("See https://wiki.debian.org/Firmware for information about missing firmware\n");
- return -ENODEV;
- }
-
diff --git a/debian/patches/debian/firmware_loader-log-direct-loading-failures-as-info-for-d-i.path b/debian/patches/debian/firmware_loader-log-direct-loading-failures-as-info-for-d-i.path
new file mode 100644
index 0000000000..2de25ac042
--- /dev/null
+++ b/debian/patches/debian/firmware_loader-log-direct-loading-failures-as-info-for-d-i.path
@@ -0,0 +1,37 @@
+From: Ben Hutchings <benh@debian.org>
+Subject: firmware_loader: Log direct loading failures as info for d-i
+Date: Thu, 30 May 2024 13:14:32 +0100
+Forwarded: not-needed
+
+On an installed Debian system, firmware packages will normally be
+installed automatically based on a mapping of device IDs to firmware.
+Within the Debian installer this has not yet happened and we need a
+way to detect missing firmware.
+
+Although many/most drivers log firmware loading failures, they do so
+using many different formats. This adds a single log message to the
+firmware loader, which the installer's hw-detect package will look
+for. The log level is set to "info" because some failures are
+expected and we do not want to confuse users with bogus error messages
+(like in bug #966218).
+
+NOTE: The log message format must not be changed without coordinating
+this with the check-missing-firmware.sh in hw-detect.
+---
+ drivers/base/firmware_loader/fallback.c | 2 +-
+ drivers/base/firmware_loader/main.c | 17 ++++++++---------
+ 2 files changed, 9 insertions(+), 10 deletions(-)
+
+--- a/drivers/base/firmware_loader/main.c
++++ b/drivers/base/firmware_loader/main.c
+@@ -586,6 +586,10 @@ fw_get_filesystem_firmware(struct device
+ }
+ __putname(path);
+
++ if (rc)
++ dev_info(device, "firmware: failed to load %s (%d)\n",
++ fw_priv->fw_name, rc);
++
+ return rc;
+ }
+
diff --git a/debian/patches/debian/ntfs-mark-it-as-broken.patch b/debian/patches/debian/ntfs-mark-it-as-broken.patch
deleted file mode 100644
index 0f59a9f44f..0000000000
--- a/debian/patches/debian/ntfs-mark-it-as-broken.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From: Ben Hutchings <ben@decadent.org.uk>
-Date: Thu, 25 Apr 2019 15:31:33 +0100
-Subject: ntfs: mark it as broken
-Forwarded: not-needed
-
-NTFS has unfixed issues CVE-2018-12929, CVE-2018-12930, and
-CVE-2018-12931. ntfs-3g is a better supported alternative.
-
-Make sure it can't be enabled even in custom kernels.
-
----
-Index: debian-kernel/fs/ntfs/Kconfig
-===================================================================
---- debian-kernel.orig/fs/ntfs/Kconfig
-+++ debian-kernel/fs/ntfs/Kconfig
-@@ -1,6 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0-only
- config NTFS_FS
- tristate "NTFS file system support"
-+ depends on BROKEN
- select BUFFER_HEAD
- select NLS
- help
diff --git a/debian/patches/debian/sched-autogroup-disabled.patch b/debian/patches/debian/sched-autogroup-disabled.patch
deleted file mode 100644
index c616fa46ef..0000000000
--- a/debian/patches/debian/sched-autogroup-disabled.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From: Ben Hutchings <ben@decadent.org.uk>
-Subject: sched: Do not enable autogrouping by default
-Date: Wed, 16 Mar 2011 03:17:06 +0000
-Forwarded: not-needed
-
-We want to provide the option of autogrouping but without enabling
-it by default yet.
-
---- a/kernel/sched/autogroup.c
-+++ b/kernel/sched/autogroup.c
-@@ -4,7 +4,7 @@
- * Auto-group scheduling implementation:
- */
-
--unsigned int __read_mostly sysctl_sched_autogroup_enabled = 1;
-+unsigned int __read_mostly sysctl_sched_autogroup_enabled = 0;
- static struct autogroup autogroup_default;
- static atomic_t autogroup_seq_nr;
-
diff --git a/debian/patches/debian/tools-rtla-Restore-option-to-set-VERSION-var-to-VERS.patch b/debian/patches/debian/tools-rtla-Restore-option-to-set-VERSION-var-to-VERS.patch
new file mode 100644
index 0000000000..0e78387285
--- /dev/null
+++ b/debian/patches/debian/tools-rtla-Restore-option-to-set-VERSION-var-to-VERS.patch
@@ -0,0 +1,36 @@
+From 6640548d40a85053cf065f4c66f298bb5253557f Mon Sep 17 00:00:00 2001
+From: Diederik de Haas <didi.debian@cknow.org>
+Date: Tue, 18 Jun 2024 09:46:18 +0200
+Subject: [PATCH] tools/rtla: Restore option to set VERSION var to VERSION file's contents
+Forwarded: not-needed
+
+In upstream commit 01474dc706ca ("tools/rtla: Use tools/build makefiles
+to build rtla") the ``Makefile`` was completely restructered to make
+use of the ``tools/build`` infrastructure.
+
+For some reason, the restructuring also caused the ``cat VERSION`` part
+to detect the kernel version to be dropped and only runs the
+``kernelversion`` (toplevel) Makefile target.
+Previously that was used as fallback when ``VERSION`` didn't exist.
+Re-add the ``cat VERSION`` part as that is used in the Debian build
+system.
+---
+ tools/tracing/rtla/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/tracing/rtla/Makefile b/tools/tracing/rtla/Makefile
+index b5878be36125..fec9e0a1086c 100644
+--- a/tools/tracing/rtla/Makefile
++++ b/tools/tracing/rtla/Makefile
+@@ -27,7 +27,7 @@ endif
+ RTLA := $(OUTPUT)rtla
+ RTLA_IN := $(RTLA)-in.o
+
+-VERSION := $(shell sh -c "make -sC ../../.. kernelversion | grep -v make")
++VERSION := $(shell cat VERSION 2> /dev/null || sh -c "make -sC ../../.. kernelversion | grep -v make")
+ DOCSRC := ../../../Documentation/tools/rtla/
+
+ FEATURE_TESTS := libtraceevent
+--
+2.45.2
+
diff --git a/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch b/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
index d224208d4e..f836c8b83d 100644
--- a/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
+++ b/debian/patches/features/all/lockdown/efi-lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
@@ -35,7 +35,7 @@ Signed-off-by: Salvatore Bonaccorso <carnil@debian.org>
reserve_ibft_region();
x86_init.resources.dmi_setup();
-@@ -1063,8 +1065,6 @@ void __init setup_arch(char **cmdline_p)
+@@ -1061,8 +1063,6 @@ void __init setup_arch(char **cmdline_p)
/* Allocate bigger log buffer */
setup_log_buf(1);
@@ -67,7 +67,7 @@ Signed-off-by: Salvatore Bonaccorso <carnil@debian.org>
default:
--- a/include/linux/security.h
+++ b/include/linux/security.h
-@@ -496,6 +496,7 @@ int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen);
+@@ -509,6 +509,7 @@ int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen);
int security_locked_down(enum lockdown_reason what);
int lsm_fill_user_ctx(struct lsm_ctx __user *uctx, u32 *uctx_len,
void *val, size_t val_len, u64 id, u64 flags);
@@ -75,7 +75,7 @@ Signed-off-by: Salvatore Bonaccorso <carnil@debian.org>
#else /* CONFIG_SECURITY */
static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data)
-@@ -1439,6 +1440,11 @@ static inline int lsm_fill_user_ctx(struct lsm_ctx __user *uctx,
+@@ -1483,6 +1484,11 @@ static inline int lsm_fill_user_ctx(struct lsm_ctx __user *uctx,
{
return -EOPNOTSUPP;
}
diff --git a/debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch b/debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch
deleted file mode 100644
index dd7c02e005..0000000000
--- a/debian/patches/features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From: "Christoph Lameter (Ampere)" <cl@gentwo.org>
-Date: Wed, 6 Mar 2024 17:45:04 -0800
-Subject: ARM64: Dynamically allocate cpumasks and increase supported CPUs to
- 512
-Forwarded: https://lore.kernel.org/lkml/37099a57-b655-3b3a-56d0-5f7fbd49d7db@gentwo.org/
-Applied-Upstream: 3fbd56f0e7c14e7c7a7597fd4a368753fe70d76f
-
- [ a.k.a. Revert "Revert "ARM64: Dynamically allocate cpumasks and
- increase supported CPUs to 512""; originally reverted because of a
- bug in the cpufreq-dt code not using zalloc_cpumask_var() ]
-
-Currently defconfig selects NR_CPUS=256, but some vendors (e.g. Ampere
-Computing) are planning to ship systems with 512 CPUs. So that all CPUs on
-these systems can be used with defconfig, we'd like to bump NR_CPUS to 512.
-Therefore this patch increases the default NR_CPUS from 256 to 512.
-
-As increasing NR_CPUS will increase the size of cpumasks, there's a fear that
-this might have a significant impact on stack usage due to code which places
-cpumasks on the stack. To mitigate that concern, we can select
-CPUMASK_OFFSTACK. As that doesn't seem to be a problem today with
-NR_CPUS=256, we only select this when NR_CPUS > 256.
-
-CPUMASK_OFFSTACK configures the cpumasks in the kernel to be
-dynamically allocated. This was used in the X86 architecture in the
-past to enable support for larger CPU configurations up to 8k cpus.
-
-With that is becomes possible to dynamically size the allocation of
-the cpu bitmaps depending on the quantity of processors detected on
-bootup. Memory used for cpumasks will increase if the kernel is
-run on a machine with more cores.
-
-Further increases may be needed if ARM processor vendors start
-supporting more processors. Given the current inflationary trends
-in core counts from multiple processor manufacturers this may occur.
-
-There are minor regressions for hackbench. The kernel data size
-for 512 cpus is smaller with offstack than with onstack.
-
-Benchmark results using hackbench average over 10 runs of
-
- hackbench -s 512 -l 2000 -g 15 -f 25 -P
-
-on Altra 80 Core
-
-Support for 256 CPUs on stack. Baseline
-
- 7.8564 sec
-
-Support for 512 CUs on stack.
-
- 7.8713 sec + 0.18%
-
-512 CPUS offstack
-
- 7.8916 sec + 0.44%
-
-Kernel size comparison:
-
- text data filename Difference to onstack256 baseline
-25755648 9589248 vmlinuz-6.8.0-rc4-onstack256
-25755648 9607680 vmlinuz-6.8.0-rc4-onstack512 +0.19%
-25755648 9603584 vmlinuz-6.8.0-rc4-offstack512 +0.14%
-
-Tested-by: Eric Mackay <eric.mackay@oracle.com>
-Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
-Signed-off-by: Christoph Lameter (Ampere) <cl@linux.com>
-Acked-by: Mark Rutland <mark.rutland@arm.com>
-Link: https://lore.kernel.org/r/37099a57-b655-3b3a-56d0-5f7fbd49d7db@gentwo.org
-Link: https://lore.kernel.org/r/20240314125457.186678-1-m.szyprowski@samsung.com
-[catalin.marinas@arm.com: use 'select' instead of duplicating 'config CPUMASK_OFFSTACK']
-Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
----
- arch/arm64/Kconfig | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
-index 4869265ace2ddd..a03de40bd4cd7c 100644
---- a/arch/arm64/Kconfig
-+++ b/arch/arm64/Kconfig
-@@ -120,6 +120,7 @@ config ARM64
- select CLONE_BACKWARDS
- select COMMON_CLK
- select CPU_PM if (SUSPEND || CPU_IDLE)
-+ select CPUMASK_OFFSTACK if NR_CPUS > 256
- select CRC32
- select DCACHE_WORD_ACCESS
- select DYNAMIC_FTRACE if FUNCTION_TRACER
-@@ -1430,7 +1431,7 @@ config SCHED_SMT
- config NR_CPUS
- int "Maximum number of CPUs (2-4096)"
- range 2 4096
-- default "256"
-+ default "512"
-
- config HOTPLUG_CPU
- bool "Support for hot-pluggable CPUs"
---
-cgit 1.2.3-korg
diff --git a/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch b/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch
index a4576e75f4..fedbab5d78 100644
--- a/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch
+++ b/debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch
@@ -15,7 +15,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/drivers/iommu/intel/Kconfig
+++ b/drivers/iommu/intel/Kconfig
-@@ -56,14 +56,25 @@ config INTEL_IOMMU_SVM
+@@ -57,13 +57,24 @@ config INTEL_IOMMU_SVM
to access DMA resources through process address space by
means of a Process Address Space ID (PASID).
@@ -41,15 +41,14 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+
+config INTEL_IOMMU_DEFAULT_OFF
+ bool "Disable"
-
++
+endchoice
-+
- config INTEL_IOMMU_BROKEN_GFX_WA
- bool "Workaround broken graphics drivers (going away soon)"
- depends on BROKEN && X86
+
+ config INTEL_IOMMU_FLOPPY_WA
+ def_bool y
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
-@@ -284,14 +284,14 @@ static LIST_HEAD(dmar_satc_units);
+@@ -218,13 +218,13 @@ static LIST_HEAD(dmar_satc_units);
static void intel_iommu_domain_free(struct iommu_domain *domain);
@@ -60,13 +59,12 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
int intel_iommu_enabled = 0;
EXPORT_SYMBOL_GPL(intel_iommu_enabled);
- static int dmar_map_gfx = 1;
-static int dmar_map_intgpu = 1;
+static int dmar_map_intgpu = IS_ENABLED(CONFIG_INTEL_IOMMU_DEFAULT_ON);
static int intel_iommu_superpage = 1;
static int iommu_identity_mapping;
static int iommu_skip_te_disable;
-@@ -333,6 +333,7 @@ static int __init intel_iommu_setup(char
+@@ -263,6 +263,7 @@ static int __init intel_iommu_setup(char
while (*str) {
if (!strncmp(str, "on", 2)) {
dmar_disabled = 0;
diff --git a/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch b/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch
index 6950c937d5..8c82cce244 100644
--- a/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch
+++ b/debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch
@@ -22,7 +22,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -2122,6 +2122,8 @@
+@@ -2174,6 +2174,8 @@
bypassed by not enabling DMAR with this option. In
this case, gfx device will use physical address for
DMA.
@@ -33,7 +33,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
sp_off [Default Off]
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
-@@ -36,6 +36,9 @@
+@@ -35,6 +35,9 @@
#define CONTEXT_SIZE VTD_PAGE_SIZE
#define IS_GFX_DEVICE(pdev) ((pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY)
@@ -43,24 +43,24 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
#define IS_USB_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_SERIAL_USB)
#define IS_ISA_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_BRIDGE_ISA)
#define IS_AZALIA(pdev) ((pdev)->vendor == 0x8086 && (pdev)->device == 0x3a3e)
-@@ -291,12 +294,14 @@ int intel_iommu_enabled = 0;
+@@ -221,12 +224,14 @@ int intel_iommu_sm = IS_ENABLED(CONFIG_I
+ int intel_iommu_enabled = 0;
EXPORT_SYMBOL_GPL(intel_iommu_enabled);
- static int dmar_map_gfx = 1;
+static int dmar_map_intgpu = 1;
static int intel_iommu_superpage = 1;
static int iommu_identity_mapping;
static int iommu_skip_te_disable;
+ static int disable_igfx_iommu;
- #define IDENTMAP_GFX 2
#define IDENTMAP_AZALIA 4
+#define IDENTMAP_INTGPU 8
const struct iommu_ops intel_iommu_ops;
static const struct iommu_dirty_ops intel_dirty_ops;
-@@ -336,6 +341,9 @@ static int __init intel_iommu_setup(char
+@@ -266,6 +271,9 @@ static int __init intel_iommu_setup(char
} else if (!strncmp(str, "igfx_off", 8)) {
- dmar_map_gfx = 0;
+ disable_igfx_iommu = 1;
pr_info("Disable GFX device mapping\n");
+ } else if (!strncmp(str, "intgpu_off", 10)) {
+ dmar_map_intgpu = 0;
@@ -68,9 +68,9 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
} else if (!strncmp(str, "forcedac", 8)) {
pr_warn("intel_iommu=forcedac deprecated; use iommu.forcedac instead\n");
iommu_dma_forcedac = true;
-@@ -2548,6 +2556,9 @@ static int device_def_domain_type(struct
+@@ -2401,6 +2409,9 @@ static int device_def_domain_type(struct
- if ((iommu_identity_mapping & IDENTMAP_GFX) && IS_GFX_DEVICE(pdev))
+ if ((iommu_identity_mapping & IDENTMAP_AZALIA) && IS_AZALIA(pdev))
return IOMMU_DOMAIN_IDENTITY;
+
+ if ((iommu_identity_mapping & IDENTMAP_INTGPU) && IS_INTGPU_DEVICE(pdev))
@@ -78,9 +78,9 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
}
return 0;
-@@ -2855,6 +2866,9 @@ static int __init init_dmars(void)
- if (!dmar_map_gfx)
- iommu_identity_mapping |= IDENTMAP_GFX;
+@@ -2701,6 +2712,9 @@ static int __init init_dmars(void)
+ iommu_set_root_entry(iommu);
+ }
+ if (!dmar_map_intgpu)
+ iommu_identity_mapping |= IDENTMAP_INTGPU;
diff --git a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch
index 55f43dcd32..b4dd9b9102 100644
--- a/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch
+++ b/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch
@@ -29,7 +29,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -6468,6 +6468,10 @@
+@@ -6498,6 +6498,10 @@
later by a loaded module cannot be set this way.
Example: sysctl.vm.swappiness=40
@@ -42,7 +42,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Ignore sysrq setting - this boot parameter will
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -3052,6 +3052,14 @@ config COMPAT_32
+@@ -3058,6 +3058,14 @@ config COMPAT_32
select HAVE_UID16
select OLD_SIGSUSPEND3
diff --git a/debian/patches/series b/debian/patches/series
index f1d452ac4e..85dc5ff40a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -25,14 +25,13 @@ debian/kbuild-abort-build-if-subdirs-used.patch
debian/module-avoid-abi-changes-when-debug-info-is-disabled.patch
debian/makefile-make-compiler-version-comparison-optional.patch
debian/fixdep-allow-overriding-hostcc-and-hostld.patch
+debian/tools-rtla-Restore-option-to-set-VERSION-var-to-VERS.patch
# Fixes/improvements to firmware loading
features/all/drivers-media-dvb-usb-af9005-request_firmware.patch
debian/iwlwifi-do-not-request-unreleased-firmware.patch
-bugfix/all/firmware_class-log-every-success-and-failure.patch
-bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
+debian/firmware_loader-log-direct-loading-failures-as-info-for-d-i.path
bugfix/all/radeon-amdgpu-firmware-is-required-for-drm-and-kms-on-r600-onward.patch
-debian/firmware_class-refer-to-debian-wiki-firmware-page.patch
# Change some defaults for security reasons
debian/af_802154-Disable-auto-loading-as-mitigation-against.patch
@@ -42,7 +41,6 @@ debian/hamradio-disable-auto-loading-as-mitigation-against-local-exploits.patch
debian/fs-enable-link-security-restrictions-by-default.patch
# Set various features runtime-disabled by default
-debian/sched-autogroup-disabled.patch
debian/yama-disable-by-default.patch
debian/add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch
features/all/security-perf-allow-further-restriction-of-perf_event_open.patch
@@ -71,7 +69,6 @@ bugfix/alpha/alpha-fix-missing-symbol-versions-for-str-n-cat-cpy.patch
# Arch features
features/x86/x86-memtest-WARN-if-bad-RAM-found.patch
features/x86/x86-make-x32-syscall-support-conditional.patch
-features/arm64/arm64-dynamically-allocate-cpumasks-and-increase-supported-cpus-to-512.patch
# Miscellaneous bug fixes
bugfix/all/disable-some-marvell-phys.patch
@@ -92,7 +89,6 @@ features/all/db-mok-keyring/trust-machine-keyring-by-default.patch
# Security fixes
debian/i386-686-pae-pci-set-pci-nobios-by-default.patch
-debian/ntfs-mark-it-as-broken.patch
# Fix exported symbol versions
bugfix/all/module-disable-matching-missing-version-crc.patch