aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Hutchings <benh@debian.org>2020-09-07 03:38:15 +0100
committerBen Hutchings <benh@debian.org>2020-09-07 03:39:54 +0100
commit908c469bc64738ac2f66667d0f21a5daee9648be (patch)
tree8e03b641c19b5249aceb96f0b53c1539ce21de6a
parent32aad96721bf68f4de4e9f95b7cfe8a0909fe907 (diff)
downloadkernel_replicant_linux-908c469bc64738ac2f66667d0f21a5daee9648be.tar.gz
kernel_replicant_linux-908c469bc64738ac2f66667d0f21a5daee9648be.tar.bz2
kernel_replicant_linux-908c469bc64738ac2f66667d0f21a5daee9648be.zip
Update to 5.9-rc4
* aufs: Disable support patchset until it is updated for Linux 5.9 * Makefile: Do not check for libelf when building OOT module (This is an expanded version of "Revert "objtool: Fix CONFIG_STACK_VALIDATION=y warning for out-of-tree modules"") * Drop/refresh remaining patches as appropriate
-rw-r--r--debian/changelog7
-rw-r--r--debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch677
-rw-r--r--debian/patches/bugfix/all/iwlwifi-yoyo-don-t-print-failure-if-debug-firmware-i.patch35
-rw-r--r--debian/patches/bugfix/all/net-packet-fix-overflow-in-tpacket_rcv.patch55
-rw-r--r--debian/patches/bugfix/all/usbip-tools-fix-build-error-for-multiple-definition.patch33
-rw-r--r--debian/patches/bugfix/sh/sh-boot-do-not-use-hyphen-in-exported-variable-name.patch25
-rw-r--r--debian/patches/bugfix/sh/sh-implement-__get_user_u64.patch91
-rw-r--r--debian/patches/debian/dfsg/drivers-net-appletalk-cops.patch12
-rw-r--r--debian/patches/debian/fanotify-taint-on-use-of-fanotify_access_permissions.patch6
-rw-r--r--debian/patches/debian/makefile-do-not-check-for-libelf-when-building-oot-module.patch72
-rw-r--r--debian/patches/debian/revert-objtool-fix-config_stack_validation-y-warning.patch52
-rw-r--r--debian/patches/features/x86/intel-iommu-add-kconfig-option-to-exclude-igpu-by-default.patch12
-rw-r--r--debian/patches/features/x86/intel-iommu-add-option-to-exclude-integrated-gpu-only.patch19
-rw-r--r--debian/patches/series12
14 files changed, 290 insertions, 818 deletions
diff --git a/debian/changelog b/debian/changelog
index d2f916b849b0..4e2200612fec 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,11 @@
-linux (5.8.7-2) UNRELEASED; urgency=medium
+linux (5.9~rc4-1~exp1) UNRELEASED; urgency=medium
+ * New upstream release candidate
+
+ [ Ben Hutchings ]
* Un-export symbols no longer needed by the Android ashmem and binder drivers
+ * aufs: Disable support patchset until it is updated for Linux 5.9
+ * Makefile: Do not check for libelf when building OOT module
-- Ben Hutchings <benh@debian.org> Mon, 07 Sep 2020 02:19:34 +0100
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
index 4a42ac80639f..106d57ec9725 100644
--- 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
@@ -9,11 +9,9 @@ many other log messages can be removed from drivers.
This will probably need to be split up into multiple patches prior to
upstream submission.
-diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c
-index 3f6b137ef4e6..a02e17a9ae14 100644
--- a/arch/x86/kernel/cpu/microcode/amd.c
+++ b/arch/x86/kernel/cpu/microcode/amd.c
-@@ -901,10 +901,8 @@ static enum ucode_state request_microcode_amd(int cpu, struct device *device,
+@@ -901,10 +901,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);
@@ -25,11 +23,9 @@ index 3f6b137ef4e6..a02e17a9ae14 100644
ret = UCODE_ERROR;
if (!verify_container(fw->data, fw->size, false))
-diff --git a/drivers/atm/ambassador.c b/drivers/atm/ambassador.c
-index c039b8a4fefe..e28b965059c0 100644
--- a/drivers/atm/ambassador.c
+++ b/drivers/atm/ambassador.c
-@@ -1914,10 +1914,8 @@ static int ucode_init(loader_block *lb, amb_dev *dev)
+@@ -1914,10 +1914,8 @@ static int ucode_init(loader_block *lb,
int res;
res = request_ihex_firmware(&fw, "atmsar11.fw", &dev->pci_dev->dev);
@@ -41,11 +37,9 @@ index c039b8a4fefe..e28b965059c0 100644
/* First record contains just the start address */
rec = (const struct ihex_binrec *)fw->data;
-diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c
-index f4ad7ce25ae8..44b8d9f4c7b5 100644
--- a/drivers/atm/fore200e.c
+++ b/drivers/atm/fore200e.c
-@@ -2425,10 +2425,9 @@ static int fore200e_load_and_start_fw(struct fore200e *fore200e)
+@@ -2400,10 +2400,9 @@ static int fore200e_load_and_start_fw(st
int err;
sprintf(buf, "%s%s", fore200e->bus->proc_name, FW_EXT);
@@ -58,11 +52,9 @@ index f4ad7ce25ae8..44b8d9f4c7b5 100644
fw_data = (const __le32 *)firmware->data;
fw_size = firmware->size / sizeof(u32);
-diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
-index 4ce270513695..a2945781827b 100644
--- a/drivers/bluetooth/ath3k.c
+++ b/drivers/bluetooth/ath3k.c
-@@ -417,10 +417,8 @@ static int ath3k_load_patch(struct usb_device *udev)
+@@ -417,10 +417,8 @@ static int ath3k_load_patch(struct usb_d
le32_to_cpu(fw_version.rom_version));
ret = request_firmware(&firmware, filename, &udev->dev);
@@ -74,7 +66,7 @@ index 4ce270513695..a2945781827b 100644
pt_rom_version = get_unaligned_le32(firmware->data +
firmware->size - 8);
-@@ -480,10 +478,8 @@ static int ath3k_load_syscfg(struct usb_device *udev)
+@@ -480,10 +478,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);
@@ -86,11 +78,9 @@ index 4ce270513695..a2945781827b 100644
ret = ath3k_load_fwfile(udev, firmware);
release_firmware(firmware);
-diff --git a/drivers/bluetooth/bcm203x.c b/drivers/bluetooth/bcm203x.c
-index 3b176257b993..9f70b2588916 100644
--- a/drivers/bluetooth/bcm203x.c
+++ b/drivers/bluetooth/bcm203x.c
-@@ -174,7 +174,6 @@ static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id
+@@ -174,7 +174,6 @@ static int bcm203x_probe(struct usb_inte
return -ENOMEM;
if (request_firmware(&firmware, "BCM2033-MD.hex", &udev->dev) < 0) {
@@ -98,7 +88,7 @@ index 3b176257b993..9f70b2588916 100644
usb_free_urb(data->urb);
return -EIO;
}
-@@ -199,7 +198,6 @@ static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id
+@@ -199,7 +198,6 @@ static int bcm203x_probe(struct usb_inte
release_firmware(firmware);
if (request_firmware(&firmware, "BCM2033-FW.bin", &udev->dev) < 0) {
@@ -106,11 +96,9 @@ index 3b176257b993..9f70b2588916 100644
usb_free_urb(data->urb);
kfree(data->buffer);
return -EIO;
-diff --git a/drivers/bluetooth/bfusb.c b/drivers/bluetooth/bfusb.c
-index 5a321b4076aa..fb39d705e2df 100644
--- a/drivers/bluetooth/bfusb.c
+++ b/drivers/bluetooth/bfusb.c
-@@ -636,10 +636,8 @@ static int bfusb_probe(struct usb_interface *intf, const struct usb_device_id *i
+@@ -636,10 +636,8 @@ static int bfusb_probe(struct usb_interf
skb_queue_head_init(&data->pending_q);
skb_queue_head_init(&data->completed_q);
@@ -122,11 +110,9 @@ index 5a321b4076aa..fb39d705e2df 100644
BT_DBG("firmware data %p size %zu", firmware->data, firmware->size);
-diff --git a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c
-index 54713833951a..341ed2d9be1e 100644
--- a/drivers/bluetooth/bt3c_cs.c
+++ b/drivers/bluetooth/bt3c_cs.c
-@@ -569,10 +569,8 @@ static int bt3c_open(struct bt3c_info *info)
+@@ -569,10 +569,8 @@ static int bt3c_open(struct bt3c_info *i
/* Load firmware */
err = request_firmware(&firmware, "BT3CPCC.bin", &info->p_dev->dev);
@@ -138,11 +124,9 @@ index 54713833951a..341ed2d9be1e 100644
err = bt3c_load_firmware(info, firmware->data, firmware->size);
-diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c
-index a296f8526433..27121cb404a6 100644
--- a/drivers/bluetooth/btmrvl_sdio.c
+++ b/drivers/bluetooth/btmrvl_sdio.c
-@@ -526,8 +526,6 @@ static int btmrvl_sdio_download_helper(struct btmrvl_sdio_card *card)
+@@ -529,8 +529,6 @@ static int btmrvl_sdio_download_helper(s
ret = request_firmware(&fw_helper, card->helper,
&card->func->dev);
if ((ret < 0) || !fw_helper) {
@@ -151,7 +135,7 @@ index a296f8526433..27121cb404a6 100644
ret = -ENOENT;
goto done;
}
-@@ -626,8 +624,6 @@ static int btmrvl_sdio_download_fw_w_helper(struct btmrvl_sdio_card *card)
+@@ -629,8 +627,6 @@ static int btmrvl_sdio_download_fw_w_hel
ret = request_firmware(&fw_firmware, card->firmware,
&card->func->dev);
if ((ret < 0) || !fw_firmware) {
@@ -160,11 +144,9 @@ index a296f8526433..27121cb404a6 100644
ret = -ENOENT;
goto done;
}
-diff --git a/drivers/char/dsp56k.c b/drivers/char/dsp56k.c
-index 06749e295ada..27cd3e4121a1 100644
--- a/drivers/char/dsp56k.c
+++ b/drivers/char/dsp56k.c
-@@ -140,11 +140,8 @@ static int dsp56k_upload(u_char __user *bin, int len)
+@@ -140,11 +140,8 @@ static int dsp56k_upload(u_char __user *
}
err = request_firmware(&fw, fw_name, &pdev->dev);
platform_device_unregister(pdev);
@@ -177,11 +159,9 @@ index 06749e295ada..27cd3e4121a1 100644
if (fw->size % 3) {
printk(KERN_ERR "Bogus length %d in image \"%s\"\n",
fw->size, fw_name);
-diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
-index 91774039ae5d..4a4e83c19563 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
-@@ -1735,11 +1735,8 @@ static void sdma_load_firmware(const struct firmware *fw, void *context)
+@@ -1734,11 +1734,8 @@ static void sdma_load_firmware(const str
const struct sdma_script_start_addrs *addr;
unsigned short *ram_code;
@@ -194,11 +174,9 @@ index 91774039ae5d..4a4e83c19563 100644
if (fw->size < sizeof(*header))
goto err_firmware;
-diff --git a/drivers/gpu/drm/mga/mga_warp.c b/drivers/gpu/drm/mga/mga_warp.c
-index b5ef1d2c8b1c..cb0d2fa4c2a8 100644
--- a/drivers/gpu/drm/mga/mga_warp.c
+++ b/drivers/gpu/drm/mga/mga_warp.c
-@@ -77,11 +77,8 @@ int mga_warp_install_microcode(drm_mga_private_t *dev_priv)
+@@ -77,11 +77,8 @@ int mga_warp_install_microcode(drm_mga_p
}
rc = request_ihex_firmware(&fw, firmware_name, &pdev->dev);
platform_device_unregister(pdev);
@@ -211,11 +189,9 @@ index b5ef1d2c8b1c..cb0d2fa4c2a8 100644
size = 0;
where = 0;
-diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
-index f2f5636efac4..0499f6a34a21 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
-@@ -2445,10 +2445,8 @@ gf100_gr_load_fw(struct gf100_gr *gr, const char *name,
+@@ -2445,10 +2445,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);
@@ -227,11 +203,9 @@ index f2f5636efac4..0499f6a34a21 100644
}
blob->size = fw->size;
-diff --git a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c
-index 138af32480d4..be891fcd91ab 100644
--- a/drivers/gpu/drm/r128/r128_cce.c
+++ b/drivers/gpu/drm/r128/r128_cce.c
-@@ -162,11 +162,8 @@ static int r128_cce_load_microcode(drm_r128_private_t *dev_priv)
+@@ -162,11 +162,8 @@ static int r128_cce_load_microcode(drm_r
}
rc = request_firmware(&fw, FIRMWARE_NAME, &pdev->dev);
platform_device_unregister(pdev);
@@ -244,11 +218,9 @@ index 138af32480d4..be891fcd91ab 100644
if (fw->size != 256 * 8) {
pr_err("r128_cce: Bogus length %zu in firmware \"%s\"\n",
-diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
-index 02feb0801fd3..663fcad69e22 100644
--- a/drivers/gpu/drm/radeon/ni.c
+++ b/drivers/gpu/drm/radeon/ni.c
-@@ -833,9 +833,6 @@ int ni_init_microcode(struct radeon_device *rdev)
+@@ -833,9 +833,6 @@ int ni_init_microcode(struct radeon_devi
out:
if (err) {
@@ -258,11 +230,9 @@ index 02feb0801fd3..663fcad69e22 100644
release_firmware(rdev->pfp_fw);
rdev->pfp_fw = NULL;
release_firmware(rdev->me_fw);
-diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c
-index 24c8db673931..ae3acbaa3d0c 100644
--- a/drivers/gpu/drm/radeon/r100.c
+++ b/drivers/gpu/drm/radeon/r100.c
-@@ -1047,9 +1047,7 @@ static int r100_cp_init_microcode(struct radeon_device *rdev)
+@@ -1047,9 +1047,7 @@ static int r100_cp_init_microcode(struct
}
err = request_firmware(&rdev->me_fw, fw_name, rdev->dev);
@@ -273,11 +243,9 @@ index 24c8db673931..ae3acbaa3d0c 100644
pr_err("radeon_cp: Bogus length %zu in firmware \"%s\"\n",
rdev->me_fw->size, fw_name);
err = -EINVAL;
-diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
-index d9a33ca768f3..6f2c599fd64b 100644
--- a/drivers/gpu/drm/radeon/r600.c
+++ b/drivers/gpu/drm/radeon/r600.c
-@@ -2599,9 +2599,6 @@ int r600_init_microcode(struct radeon_device *rdev)
+@@ -2599,9 +2599,6 @@ int r600_init_microcode(struct radeon_de
out:
if (err) {
@@ -287,11 +255,9 @@ index d9a33ca768f3..6f2c599fd64b 100644
release_firmware(rdev->pfp_fw);
rdev->pfp_fw = NULL;
release_firmware(rdev->me_fw);
-diff --git a/drivers/infiniband/hw/qib/qib_sd7220.c b/drivers/infiniband/hw/qib/qib_sd7220.c
-index 4f4a09c2dbcd..7bf90abe699c 100644
--- 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 *dd)
+@@ -406,10 +406,8 @@ int qib_sd7220_init(struct qib_devdata *
}
ret = request_firmware(&fw, SD7220_FW_NAME, &dd->pcidev->dev);
@@ -303,11 +269,9 @@ index 4f4a09c2dbcd..7bf90abe699c 100644
/* Substitute our deduced value for was_reset */
ret = qib_ibsd_ucode_loaded(dd->pport, fw);
-diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
-index a2189739e30f..e552000b71cd 100644
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
-@@ -2777,10 +2777,8 @@ static int mxt_load_fw(struct device *dev, const char *fn)
+@@ -2827,10 +2827,8 @@ static int mxt_load_fw(struct device *de
int ret;
ret = request_firmware(&fw, fn, dev);
@@ -319,8 +283,6 @@ index a2189739e30f..e552000b71cd 100644
/* Check for incorrect enc file */
ret = mxt_check_firmware_format(dev, fw);
-diff --git a/drivers/isdn/hardware/mISDN/speedfax.c b/drivers/isdn/hardware/mISDN/speedfax.c
-index b530c78eca8e..a336db7a8135 100644
--- a/drivers/isdn/hardware/mISDN/speedfax.c
+++ b/drivers/isdn/hardware/mISDN/speedfax.c
@@ -379,11 +379,8 @@ setup_instance(struct sfax_hw *card)
@@ -336,11 +298,9 @@ index b530c78eca8e..a336db7a8135 100644
if (debug & DEBUG_HW)
pr_notice("%s: got firmware %zu bytes\n",
card->name, firmware->size);
-diff --git a/drivers/media/common/siano/smscoreapi.c b/drivers/media/common/siano/smscoreapi.c
-index c1511094fdc7..b5e915b21baf 100644
--- a/drivers/media/common/siano/smscoreapi.c
+++ b/drivers/media/common/siano/smscoreapi.c
-@@ -1156,10 +1156,8 @@ static int smscore_load_firmware_from_file(struct smscore_device_t *coredev,
+@@ -1156,10 +1156,8 @@ static int smscore_load_firmware_from_fi
return -EINVAL;
rc = request_firmware(&fw, fw_filename, coredev->device);
@@ -352,11 +312,9 @@ index c1511094fdc7..b5e915b21baf 100644
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);
-diff --git a/drivers/media/dvb-frontends/af9013.c b/drivers/media/dvb-frontends/af9013.c
-index 7281899bd7ae..a1ddafb4f21a 100644
--- a/drivers/media/dvb-frontends/af9013.c
+++ b/drivers/media/dvb-frontends/af9013.c
-@@ -1049,14 +1049,8 @@ static int af9013_download_firmware(struct af9013_state *state)
+@@ -1049,14 +1049,8 @@ static int af9013_download_firmware(stru
/* Request the firmware, will block and timeout */
ret = request_firmware(&firmware, name, &client->dev);
@@ -372,11 +330,9 @@ index 7281899bd7ae..a1ddafb4f21a 100644
/* Write firmware checksum & size */
for (i = 0; i < firmware->size; i++)
-diff --git a/drivers/media/dvb-frontends/bcm3510.c b/drivers/media/dvb-frontends/bcm3510.c
-index e92542b92d34..cd10feb1f883 100644
--- a/drivers/media/dvb-frontends/bcm3510.c
+++ b/drivers/media/dvb-frontends/bcm3510.c
-@@ -636,10 +636,9 @@ static int bcm3510_download_firmware(struct dvb_frontend* fe)
+@@ -636,10 +636,9 @@ static int bcm3510_download_firmware(str
int ret,i;
deb_info("requesting firmware\n");
@@ -389,11 +345,9 @@ index e92542b92d34..cd10feb1f883 100644
deb_info("got firmware: %zu\n", fw->size);
b = fw->data;
-diff --git a/drivers/media/dvb-frontends/cx24116.c b/drivers/media/dvb-frontends/cx24116.c
-index ea8264ccbb4e..becc7dc68477 100644
--- a/drivers/media/dvb-frontends/cx24116.c
+++ b/drivers/media/dvb-frontends/cx24116.c
-@@ -479,13 +479,8 @@ static int cx24116_firmware_ondemand(struct dvb_frontend *fe)
+@@ -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);
@@ -408,11 +362,9 @@ index ea8264ccbb4e..becc7dc68477 100644
/* Make sure we don't recurse back through here
* during loading */
-diff --git a/drivers/media/dvb-frontends/drxd_hard.c b/drivers/media/dvb-frontends/drxd_hard.c
-index fae6f3763364..751e240bad9f 100644
--- 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_state *state, const char *fw_name)
+@@ -891,10 +891,8 @@ static int load_firmware(struct drxd_sta
{
const struct firmware *fw;
@@ -424,11 +376,9 @@ index fae6f3763364..751e240bad9f 100644
state->microcode = kmemdup(fw->data, fw->size, GFP_KERNEL);
if (!state->microcode) {
-diff --git a/drivers/media/dvb-frontends/drxk_hard.c b/drivers/media/dvb-frontends/drxk_hard.c
-index 7e8e5c308d1c..dbbf29759098 100644
--- a/drivers/media/dvb-frontends/drxk_hard.c
+++ b/drivers/media/dvb-frontends/drxk_hard.c
-@@ -6271,10 +6271,6 @@ static void load_firmware_cb(const struct firmware *fw,
+@@ -6260,10 +6260,6 @@ static void load_firmware_cb(const struc
dprintk(1, ": %s\n", fw ? "firmware loaded" : "firmware not loaded");
if (!fw) {
@@ -439,11 +389,9 @@ index 7e8e5c308d1c..dbbf29759098 100644
state->microcode_name = NULL;
/*
-diff --git a/drivers/media/dvb-frontends/ds3000.c b/drivers/media/dvb-frontends/ds3000.c
-index 20fcf31af165..d8008d582854 100644
--- a/drivers/media/dvb-frontends/ds3000.c
+++ b/drivers/media/dvb-frontends/ds3000.c
-@@ -348,12 +348,8 @@ static int ds3000_firmware_ondemand(struct dvb_frontend *fe)
+@@ -348,12 +348,8 @@ static int ds3000_firmware_ondemand(stru
DS3000_DEFAULT_FIRMWARE);
ret = request_firmware(&fw, DS3000_DEFAULT_FIRMWARE,
state->i2c->dev.parent);
@@ -457,11 +405,9 @@ index 20fcf31af165..d8008d582854 100644
ret = ds3000_load_firmware(fe, fw);
if (ret)
-diff --git a/drivers/media/dvb-frontends/nxt200x.c b/drivers/media/dvb-frontends/nxt200x.c
-index 35b83b1dd82c..564003075325 100644
--- a/drivers/media/dvb-frontends/nxt200x.c
+++ b/drivers/media/dvb-frontends/nxt200x.c
-@@ -876,12 +876,8 @@ static int nxt2002_init(struct dvb_frontend* fe)
+@@ -876,12 +876,8 @@ static int nxt2002_init(struct dvb_front
__func__, NXT2002_DEFAULT_FIRMWARE);
ret = request_firmware(&fw, NXT2002_DEFAULT_FIRMWARE,
state->i2c->dev.parent);
@@ -475,7 +421,7 @@ index 35b83b1dd82c..564003075325 100644
ret = nxt2002_load_firmware(fe, fw);
release_firmware(fw);
-@@ -943,12 +939,8 @@ static int nxt2004_init(struct dvb_frontend* fe)
+@@ -943,12 +939,8 @@ static int nxt2004_init(struct dvb_front
__func__, NXT2004_DEFAULT_FIRMWARE);
ret = request_firmware(&fw, NXT2004_DEFAULT_FIRMWARE,
state->i2c->dev.parent);
@@ -489,11 +435,9 @@ index 35b83b1dd82c..564003075325 100644
ret = nxt2004_load_firmware(fe, fw);
release_firmware(fw);
-diff --git a/drivers/media/dvb-frontends/or51132.c b/drivers/media/dvb-frontends/or51132.c
-index 35a3e47497c2..d89dd35059aa 100644
--- a/drivers/media/dvb-frontends/or51132.c
+++ b/drivers/media/dvb-frontends/or51132.c
-@@ -326,10 +326,8 @@ static int or51132_set_parameters(struct dvb_frontend *fe)
+@@ -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);
@@ -505,11 +449,9 @@ index 35a3e47497c2..d89dd35059aa 100644
ret = or51132_load_firmware(fe, fw);
release_firmware(fw);
if (ret) {
-diff --git a/drivers/media/dvb-frontends/or51211.c b/drivers/media/dvb-frontends/or51211.c
-index ddcaea5c9941..fb198eb3181a 100644
--- a/drivers/media/dvb-frontends/or51211.c
+++ b/drivers/media/dvb-frontends/or51211.c
-@@ -361,11 +361,8 @@ static int or51211_init(struct dvb_frontend* fe)
+@@ -361,11 +361,8 @@ static int or51211_init(struct dvb_front
OR51211_DEFAULT_FIRMWARE);
ret = config->request_firmware(fe, &fw,
OR51211_DEFAULT_FIRMWARE);
@@ -522,11 +464,9 @@ index ddcaea5c9941..fb198eb3181a 100644
ret = or51211_load_firmware(fe, fw);
release_firmware(fw);
-diff --git a/drivers/media/dvb-frontends/sp8870.c b/drivers/media/dvb-frontends/sp8870.c
-index 655db8272268..5c3ff08e924b 100644
--- a/drivers/media/dvb-frontends/sp8870.c
+++ b/drivers/media/dvb-frontends/sp8870.c
-@@ -304,10 +304,8 @@ static int sp8870_init (struct dvb_frontend* fe)
+@@ -304,10 +304,8 @@ static int sp8870_init (struct dvb_front
/* request the firmware, this will block until someone uploads it */
printk("sp8870: waiting for firmware upload (%s)...\n", SP8870_DEFAULT_FIRMWARE);
@@ -538,11 +478,9 @@ index 655db8272268..5c3ff08e924b 100644
if (sp8870_firmware_upload(state, fw)) {
printk("sp8870: writing firmware to device failed\n");
-diff --git a/drivers/media/dvb-frontends/sp887x.c b/drivers/media/dvb-frontends/sp887x.c
-index c89a91a3daf4..9fdf51248c29 100644
--- a/drivers/media/dvb-frontends/sp887x.c
+++ b/drivers/media/dvb-frontends/sp887x.c
-@@ -527,10 +527,8 @@ static int sp887x_init(struct dvb_frontend* fe)
+@@ -527,10 +527,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);
@@ -554,11 +492,9 @@ index c89a91a3daf4..9fdf51248c29 100644
ret = sp887x_initial_setup(fe, fw);
release_firmware(fw);
-diff --git a/drivers/media/dvb-frontends/tda10048.c b/drivers/media/dvb-frontends/tda10048.c
-index d1d206ebdedd..110961be6a0c 100644
--- a/drivers/media/dvb-frontends/tda10048.c
+++ b/drivers/media/dvb-frontends/tda10048.c
-@@ -483,8 +483,6 @@ static int tda10048_firmware_upload(struct dvb_frontend *fe)
+@@ -483,8 +483,6 @@ static int tda10048_firmware_upload(stru
ret = request_firmware(&fw, TDA10048_DEFAULT_FIRMWARE,
state->i2c->dev.parent);
if (ret) {
@@ -567,11 +503,9 @@ index d1d206ebdedd..110961be6a0c 100644
return -EIO;
} else {
printk(KERN_INFO "%s: firmware read %zu bytes.\n",
-diff --git a/drivers/media/dvb-frontends/tda1004x.c b/drivers/media/dvb-frontends/tda1004x.c
-index 83a798ca9b00..f36cc486edf7 100644
--- a/drivers/media/dvb-frontends/tda1004x.c
+++ b/drivers/media/dvb-frontends/tda1004x.c
-@@ -388,10 +388,8 @@ static int tda10045_fwupload(struct dvb_frontend* fe)
+@@ -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);
@@ -583,7 +517,7 @@ index 83a798ca9b00..f36cc486edf7 100644
/* reset chip */
tda1004x_write_mask(state, TDA1004X_CONFC4, 0x10, 0);
-@@ -532,7 +530,6 @@ static int tda10046_fwupload(struct dvb_frontend* fe)
+@@ -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) {
@@ -591,11 +525,9 @@ index 83a798ca9b00..f36cc486edf7 100644
return ret;
} else {
printk(KERN_INFO "tda1004x: please rename the firmware file to %s\n",
-diff --git a/drivers/media/dvb-frontends/tda10071.c b/drivers/media/dvb-frontends/tda10071.c
-index 685c0ac71819..60ee1f6ed146 100644
--- a/drivers/media/dvb-frontends/tda10071.c
+++ b/drivers/media/dvb-frontends/tda10071.c
-@@ -838,12 +838,8 @@ static int tda10071_init(struct dvb_frontend *fe)
+@@ -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);
@@ -609,11 +541,9 @@ index 685c0ac71819..60ee1f6ed146 100644
/* init */
for (i = 0; i < ARRAY_SIZE(tab2); i++) {
-diff --git a/drivers/media/i2c/cx25840/cx25840-firmware.c b/drivers/media/i2c/cx25840/cx25840-firmware.c
-index 02df45ccf57c..9ce75298c6ec 100644
--- 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 *client)
+@@ -113,10 +113,8 @@ int cx25840_loadfw(struct i2c_client *cl
if (is_cx231xx(state) && max_buf_size > 16)
max_buf_size = 16;
@@ -625,8 +555,6 @@ index 02df45ccf57c..9ce75298c6ec 100644
start_fw_load(client);
-diff --git a/drivers/media/pci/bt8xx/bttv-cards.c b/drivers/media/pci/bt8xx/bttv-cards.c
-index 16148802dabb..c2afea668c66 100644
--- a/drivers/media/pci/bt8xx/bttv-cards.c
+++ b/drivers/media/pci/bt8xx/bttv-cards.c
@@ -3904,10 +3904,8 @@ static int pvr_boot(struct bttv *btv)
@@ -641,8 +569,6 @@ index 16148802dabb..c2afea668c66 100644
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");
-diff --git a/drivers/media/pci/cx18/cx18-av-firmware.c b/drivers/media/pci/cx18/cx18-av-firmware.c
-index 61aeb8c9af7f..b93b04885e0a 100644
--- 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)
@@ -657,11 +583,9 @@ index 61aeb8c9af7f..b93b04885e0a 100644
/* The firmware load often has byte errors, so allow for several
retries, both at byte level and at the firmware load level. */
-diff --git a/drivers/media/pci/cx18/cx18-dvb.c b/drivers/media/pci/cx18/cx18-dvb.c
-index 4c57a294b9fa..5d4a00c8e289 100644
--- 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(struct cx18_stream *stream,
+@@ -127,9 +127,7 @@ static int yuan_mpc718_mt352_reqfw(struc
int ret;
ret = request_firmware(fw, fn, &cx->pci_dev->dev);
@@ -672,11 +596,9 @@ index 4c57a294b9fa..5d4a00c8e289 100644
size_t sz = (*fw)->size;
if (sz < 2 || sz > 64 || (sz % 2) != 0) {
CX18_ERR("Firmware %s has a bad size: %lu bytes\n",
-diff --git a/drivers/media/pci/cx18/cx18-firmware.c b/drivers/media/pci/cx18/cx18-firmware.c
-index 876b96c11290..098dafd22276 100644
--- 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 *fn, u8 __iomem *mem, struct cx18 *cx)
+@@ -92,11 +92,8 @@ static int load_cpu_fw_direct(const char
u32 __iomem *dst = (u32 __iomem *)mem;
const u32 *src;
@@ -689,7 +611,7 @@ index 876b96c11290..098dafd22276 100644
src = (const u32 *)fw->data;
-@@ -137,8 +134,6 @@ static int load_apu_fw_direct(const char *fn, u8 __iomem *dst, struct cx18 *cx,
+@@ -137,8 +134,6 @@ static int load_apu_fw_direct(const char
int sz;
if (request_firmware(&fw, fn, &cx->pci_dev->dev)) {
@@ -698,11 +620,9 @@ index 876b96c11290..098dafd22276 100644
cx18_setup_page(cx, 0);
return -ENOMEM;
}
-diff --git a/drivers/media/pci/cx23885/cx23885-417.c b/drivers/media/pci/cx23885/cx23885-417.c
-index 434677bd4ad1..ccf477b778b5 100644
--- 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 cx23885_dev *dev)
+@@ -920,12 +920,8 @@ static int cx23885_load_firmware(struct
retval = request_firmware(&firmware, CX23885_FIRM_IMAGE_NAME,
&dev->pci->dev);
@@ -716,11 +636,9 @@ index 434677bd4ad1..ccf477b778b5 100644
if (firmware->size != CX23885_FIRM_IMAGE_SIZE) {
pr_err("ERROR: Firmware size mismatch (have %zu, expected %d)\n",
-diff --git a/drivers/media/pci/cx23885/cx23885-cards.c b/drivers/media/pci/cx23885/cx23885-cards.c
-index 570a4a09c387..591bfec4569f 100644
--- 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_dev *dev)
+@@ -2480,10 +2480,7 @@ void cx23885_card_setup(struct cx23885_d
cinfo.rev, filename);
ret = request_firmware(&fw, filename, &dev->pci->dev);
@@ -732,11 +650,9 @@ index 570a4a09c387..591bfec4569f 100644
altera_init(&netup_config, fw);
release_firmware(fw);
-diff --git a/drivers/media/pci/cx88/cx88-blackbird.c b/drivers/media/pci/cx88/cx88-blackbird.c
-index fa4ca002ed19..cb8be2cd91c8 100644
--- 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(struct cx8802_dev *dev)
+@@ -462,12 +462,8 @@ static int blackbird_load_firmware(struc
retval = request_firmware(&firmware, CX2341X_FIRM_ENC_FILENAME,
&dev->pci->dev);
@@ -750,11 +666,9 @@ index fa4ca002ed19..cb8be2cd91c8 100644
if (firmware->size != BLACKBIRD_FIRM_IMAGE_SIZE) {
pr_err("Firmware size mismatch (have %zd, expected %d)\n",
-diff --git a/drivers/media/pci/ivtv/ivtv-firmware.c b/drivers/media/pci/ivtv/ivtv-firmware.c
-index 56b25255faf5..ee9c227c4ec3 100644
--- a/drivers/media/pci/ivtv/ivtv-firmware.c
+++ b/drivers/media/pci/ivtv/ivtv-firmware.c
-@@ -68,8 +68,6 @@ static int load_fw_direct(const char *fn, volatile u8 __iomem *mem, struct ivtv
+@@ -68,8 +68,6 @@ retry:
release_firmware(fw);
return size;
}
@@ -763,11 +677,9 @@ index 56b25255faf5..ee9c227c4ec3 100644
return -ENOMEM;
}
-diff --git a/drivers/media/pci/ngene/ngene-core.c b/drivers/media/pci/ngene/ngene-core.c
-index af15ca1c501b..7198ab37a655 100644
--- 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 *dev)
+@@ -1236,19 +1236,14 @@ static int ngene_load_firm(struct ngene
break;
}
@@ -788,11 +700,9 @@ index af15ca1c501b..7198ab37a655 100644
ngene_fw = (u8 *) fw->data;
err = ngene_command_load_firmware(dev, ngene_fw, size);
}
-diff --git a/drivers/media/pci/saa7164/saa7164-fw.c b/drivers/media/pci/saa7164/saa7164-fw.c
-index 363689484c54..447fa2dab1b5 100644
--- a/drivers/media/pci/saa7164/saa7164-fw.c
+++ b/drivers/media/pci/saa7164/saa7164-fw.c
-@@ -406,11 +406,8 @@ int saa7164_downloadfirmware(struct saa7164_dev *dev)
+@@ -406,11 +406,8 @@ int saa7164_downloadfirmware(struct saa7
__func__, fwname);
ret = request_firmware(&fw, fwname, &dev->pci->dev);
@@ -805,11 +715,9 @@ index 363689484c54..447fa2dab1b5 100644
printk(KERN_INFO "%s() firmware read %zu bytes.\n",
__func__, fw->size);
-diff --git a/drivers/media/pci/ttpci/av7110.c b/drivers/media/pci/ttpci/av7110.c
-index d0cdee1c6eb0..9e5e444d2fbe 100644
--- a/drivers/media/pci/ttpci/av7110.c
+++ b/drivers/media/pci/ttpci/av7110.c
-@@ -1500,13 +1500,8 @@ static int get_firmware(struct av7110* av7110)
+@@ -1501,13 +1501,8 @@ static int get_firmware(struct av7110* a
/* request the av7110 firmware, this will block until someone uploads it */
ret = request_firmware(&fw, "dvb-ttpci-01.fw", &av7110->dev->pci->dev);
if (ret) {
@@ -825,11 +733,9 @@ index d0cdee1c6eb0..9e5e444d2fbe 100644
return -EINVAL;
}
-diff --git a/drivers/media/pci/ttpci/av7110_hw.c b/drivers/media/pci/ttpci/av7110_hw.c
-index e8a8ec5405e2..c26c21190a12 100644
--- a/drivers/media/pci/ttpci/av7110_hw.c
+++ b/drivers/media/pci/ttpci/av7110_hw.c
-@@ -235,11 +235,8 @@ int av7110_bootarm(struct av7110 *av7110)
+@@ -235,11 +235,8 @@ int av7110_bootarm(struct av7110 *av7110
//saa7146_setgpio(dev, 3, SAA7146_GPIO_INPUT);
ret = request_firmware(&fw, fw_name, &dev->pci->dev);
@@ -842,11 +748,9 @@ index e8a8ec5405e2..c26c21190a12 100644
mwdebi(av7110, DEBISWAB, DPRAM_BASE, fw->data, fw->size);
release_firmware(fw);
-diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c b/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c
-index da138c314963..226a1a2ecfbd 100644
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c
-@@ -65,10 +65,8 @@ int s5p_mfc_load_firmware(struct s5p_mfc_dev *dev)
+@@ -65,10 +65,8 @@ int s5p_mfc_load_firmware(struct s5p_mfc
}
}
@@ -858,11 +762,9 @@ index da138c314963..226a1a2ecfbd 100644
if (fw_blob->size > dev->fw_buf.size) {
mfc_err("MFC firmware is too big to be loaded\n");
release_firmware(fw_blob);
-diff --git a/drivers/media/radio/radio-wl1273.c b/drivers/media/radio/radio-wl1273.c
-index 112376873167..812303937958 100644
--- a/drivers/media/radio/radio-wl1273.c
+++ b/drivers/media/radio/radio-wl1273.c
-@@ -502,11 +502,8 @@ static int wl1273_fm_upload_firmware_patch(struct wl1273_device *radio)
+@@ -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.
*/
@@ -875,11 +777,9 @@ index 112376873167..812303937958 100644
ptr = (__u8 *) fw_p->data;
packet_num = ptr[0];
-diff --git a/drivers/media/radio/wl128x/fmdrv_common.c b/drivers/media/radio/wl128x/fmdrv_common.c
-index cce97c9d5409..23df585447bf 100644
--- a/drivers/media/radio/wl128x/fmdrv_common.c
+++ b/drivers/media/radio/wl128x/fmdrv_common.c
-@@ -1236,10 +1236,8 @@ static int fm_download_firmware(struct fmdev *fmdev, const u8 *fw_name)
+@@ -1236,10 +1236,8 @@ static int fm_download_firmware(struct f
ret = request_firmware(&fw_entry, fw_name,
&fmdev->radio_dev->dev);
@@ -891,11 +791,9 @@ index cce97c9d5409..23df585447bf 100644
fmdbg("Firmware(%s) length : %zu bytes\n", fw_name, fw_entry->size);
fw_data = (void *)fw_entry->data;
-diff --git a/drivers/media/tuners/tuner-xc2028.c b/drivers/media/tuners/tuner-xc2028.c
-index 574c3bb135d7..16ce85a02480 100644
--- a/drivers/media/tuners/tuner-xc2028.c
+++ b/drivers/media/tuners/tuner-xc2028.c
-@@ -1366,7 +1366,6 @@ static void load_firmware_cb(const struct firmware *fw,
+@@ -1366,7 +1366,6 @@ static void load_firmware_cb(const struc
tuner_dbg("request_firmware_nowait(): %s\n", fw ? "OK" : "error");
if (!fw) {
@@ -903,11 +801,9 @@ index 574c3bb135d7..16ce85a02480 100644
priv->state = XC2028_NODEV;
return;
}
-diff --git a/drivers/media/usb/cpia2/cpia2_core.c b/drivers/media/usb/cpia2/cpia2_core.c
-index 20c50c2d042e..b8a081264516 100644
--- a/drivers/media/usb/cpia2/cpia2_core.c
+++ b/drivers/media/usb/cpia2/cpia2_core.c
-@@ -912,11 +912,8 @@ static int apply_vp_patch(struct camera_data *cam)
+@@ -912,11 +912,8 @@ static int apply_vp_patch(struct camera_
struct cpia2_command cmd;
ret = request_firmware(&fw, fw_name, &cam->dev->dev);
@@ -920,11 +816,9 @@ index 20c50c2d042e..b8a081264516 100644
cmd.req_mode = CAMERAACCESS_TYPE_REPEAT | CAMERAACCESS_VP;
cmd.direction = TRANSFER_WRITE;
-diff --git a/drivers/media/usb/cx231xx/cx231xx-417.c b/drivers/media/usb/cx231xx/cx231xx-417.c
-index b0cd51134654..57e7d1292a1b 100644
--- a/drivers/media/usb/cx231xx/cx231xx-417.c
+++ b/drivers/media/usb/cx231xx/cx231xx-417.c
-@@ -983,11 +983,6 @@ static int cx231xx_load_firmware(struct cx231xx *dev)
+@@ -983,11 +983,6 @@ static int cx231xx_load_firmware(struct
dev->dev);
if (retval != 0) {
@@ -936,11 +830,9 @@ index b0cd51134654..57e7d1292a1b 100644
vfree(p_current_fw);
vfree(p_buffer);
return retval;
-diff --git a/drivers/media/usb/dvb-usb/dib0700_devices.c b/drivers/media/usb/dvb-usb/dib0700_devices.c
-index 4ef3fa98d20f..651d59e17473 100644
--- a/drivers/media/usb/dvb-usb/dib0700_devices.c
+++ b/drivers/media/usb/dvb-usb/dib0700_devices.c
-@@ -2413,12 +2413,9 @@ static int stk9090m_frontend_attach(struct dvb_usb_adapter *adap)
+@@ -2413,12 +2413,9 @@ static int stk9090m_frontend_attach(stru
dib9000_i2c_enumeration(&adap->dev->i2c_adap, 1, 0x10, 0x80);
@@ -955,7 +847,7 @@ index 4ef3fa98d20f..651d59e17473 100644
stk9090m_config.microcode_B_fe_size = state->frontend_firmware->size;
stk9090m_config.microcode_B_fe_buffer = state->frontend_firmware->data;
-@@ -2483,12 +2480,9 @@ static int nim9090md_frontend_attach(struct dvb_usb_adapter *adap)
+@@ -2483,12 +2480,9 @@ static int nim9090md_frontend_attach(str
msleep(20);
dib0700_set_gpio(adap->dev, GPIO0, GPIO_OUT, 1);
@@ -970,11 +862,9 @@ index 4ef3fa98d20f..651d59e17473 100644
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;
-diff --git a/drivers/media/usb/dvb-usb/dvb-usb-firmware.c b/drivers/media/usb/dvb-usb/dvb-usb-firmware.c
-index 0fb3fa6100e4..9788f48f99f2 100644
--- 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_device *udev,
+@@ -90,13 +90,9 @@ int dvb_usb_download_firmware(struct usb
int ret;
const struct firmware *fw = NULL;
@@ -990,11 +880,9 @@ index 0fb3fa6100e4..9788f48f99f2 100644
switch (props->usb_ctrl) {
case CYPRESS_AN2135:
-diff --git a/drivers/media/usb/dvb-usb/gp8psk.c b/drivers/media/usb/dvb-usb/gp8psk.c
-index c07f46f5176e..5cac8e04bcfe 100644
--- 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 dvb_usb_device *d)
+@@ -131,19 +131,14 @@ static int gp8psk_load_bcm4500fw(struct
const u8 *ptr;
u8 *buf;
if ((ret = request_firmware(&fw, bcm4500_firmware,
@@ -1015,11 +903,9 @@ index c07f46f5176e..5cac8e04bcfe 100644
ptr = fw->data;
buf = kmalloc(64, GFP_KERNEL);
if (!buf) {
-diff --git a/drivers/media/usb/dvb-usb/opera1.c b/drivers/media/usb/dvb-usb/opera1.c
-index e8d784b9d119..d11fefab842f 100644
--- a/drivers/media/usb/dvb-usb/opera1.c
+++ b/drivers/media/usb/dvb-usb/opera1.c
-@@ -450,8 +450,6 @@ static int opera1_xilinx_load_firmware(struct usb_device *dev,
+@@ -450,8 +450,6 @@ static int opera1_xilinx_load_firmware(s
info("start downloading fpga firmware %s",filename);
if ((ret = request_firmware(&fw, filename, &dev->dev)) != 0) {
@@ -1028,11 +914,9 @@ index e8d784b9d119..d11fefab842f 100644
return ret;
} else {
p = kmalloc(fw->size, GFP_KERNEL);
-diff --git a/drivers/media/usb/go7007/go7007-driver.c b/drivers/media/usb/go7007/go7007-driver.c
-index 153a0c3e3da6..2b6ffdde3931 100644
--- 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 go7007 *go)
+@@ -84,10 +84,8 @@ static int go7007_load_encoder(struct go
u16 intr_val, intr_data;
if (go->boot_fw == NULL) {
@@ -1044,11 +928,9 @@ index 153a0c3e3da6..2b6ffdde3931 100644
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);
-diff --git a/drivers/media/usb/go7007/go7007-fw.c b/drivers/media/usb/go7007/go7007-fw.c
-index 018019ba47d4..2226047843c7 100644
--- 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 go7007 *go, u8 **fw, int *fwlen)
+@@ -1565,12 +1565,8 @@ int go7007_construct_fw_image(struct go7
default:
return -1;
}
@@ -1062,11 +944,9 @@ index 018019ba47d4..2226047843c7 100644
code = kcalloc(codespace, 2, GFP_KERNEL);
if (code == NULL)
goto fw_failed;
-diff --git a/drivers/media/usb/go7007/go7007-loader.c b/drivers/media/usb/go7007/go7007-loader.c
-index 243aa0ad074c..575bddaa61db 100644
--- 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 usb_interface *interface,
+@@ -67,11 +67,8 @@ static int go7007_loader_probe(struct us
dev_info(&interface->dev, "loading firmware %s\n", fw1);
@@ -1079,7 +959,7 @@ index 243aa0ad074c..575bddaa61db 100644
ret = cypress_load_firmware(usbdev, fw, CYPRESS_FX2);
release_firmware(fw);
if (0 != ret) {
-@@ -82,11 +79,8 @@ static int go7007_loader_probe(struct usb_interface *interface,
+@@ -82,11 +79,8 @@ static int go7007_loader_probe(struct us
if (fw2 == NULL)
return 0;
@@ -1092,11 +972,9 @@ index 243aa0ad074c..575bddaa61db 100644
ret = cypress_load_firmware(usbdev, fw, CYPRESS_FX2);
release_firmware(fw);
if (0 != ret) {
-diff --git a/drivers/media/usb/gspca/vicam.c b/drivers/media/usb/gspca/vicam.c
-index 179b2ec3df57..45b24bd52cb5 100644
--- 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 *gspca_dev)
+@@ -230,10 +230,8 @@ static int sd_init(struct gspca_dev *gsp
ret = request_ihex_firmware(&fw, VICAM_FIRMWARE,
&gspca_dev->dev->dev);
@@ -1108,11 +986,9 @@ index 179b2ec3df57..45b24bd52cb5 100644
firmware_buf = kmalloc(PAGE_SIZE, GFP_KERNEL);
if (!firmware_buf) {
-diff --git a/drivers/media/usb/pvrusb2/pvrusb2-hdw.c b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
-index 1cfb7cf64131..04e52705366a 100644
--- a/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
+++ b/drivers/media/usb/pvrusb2/pvrusb2-hdw.c
-@@ -1371,25 +1371,6 @@ static int pvr2_locate_firmware(struct pvr2_hdw *hdw,
+@@ -1371,25 +1371,6 @@ static int pvr2_locate_firmware(struct p
"request_firmware fatal error with code=%d",ret);
return ret;
}
@@ -1138,11 +1014,9 @@ index 1cfb7cf64131..04e52705366a 100644
return ret;
}
-diff --git a/drivers/media/usb/s2255/s2255drv.c b/drivers/media/usb/s2255/s2255drv.c
-index 4af55e2478be..360bde1184d0 100644
--- a/drivers/media/usb/s2255/s2255drv.c
+++ b/drivers/media/usb/s2255/s2255drv.c
-@@ -2278,10 +2278,8 @@ static int s2255_probe(struct usb_interface *interface,
+@@ -2278,10 +2278,8 @@ static int s2255_probe(struct usb_interf
}
/* load the first chunk */
if (request_firmware(&dev->fw_data->fw,
@@ -1154,11 +1028,9 @@ index 4af55e2478be..360bde1184d0 100644
/* check the firmware is valid */
fw_size = dev->fw_data->fw->size;
pdata = (__le32 *) &dev->fw_data->fw->data[fw_size - 8];
-diff --git a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
-index 4e56ff83566b..fe8224361a64 100644
--- a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
+++ b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
-@@ -291,10 +291,8 @@ static int ttusb_boot_dsp(struct ttusb *ttusb)
+@@ -291,10 +291,8 @@ static int ttusb_boot_dsp(struct ttusb *
err = request_firmware(&fw, "ttusb-budget/dspbootcode.bin",
&ttusb->dev->dev);
@@ -1170,11 +1042,9 @@ index 4e56ff83566b..fe8224361a64 100644
/* BootBlock */
b[0] = 0xaa;
-diff --git a/drivers/media/usb/ttusb-dec/ttusb_dec.c b/drivers/media/usb/ttusb-dec/ttusb_dec.c
-index b8d39b2f777f..4f921a74d8a8 100644
--- a/drivers/media/usb/ttusb-dec/ttusb_dec.c
+++ b/drivers/media/usb/ttusb-dec/ttusb_dec.c
-@@ -1325,11 +1325,8 @@ static int ttusb_dec_boot_dsp(struct ttusb_dec *dec)
+@@ -1325,11 +1325,8 @@ static int ttusb_dec_boot_dsp(struct ttu
dprintk("%s\n", __func__);
result = request_firmware(&fw_entry, dec->firmware_name, &dec->udev->dev);
@@ -1187,11 +1057,9 @@ index b8d39b2f777f..4f921a74d8a8 100644
firmware = fw_entry->data;
firmware_size = fw_entry->size;
-diff --git a/drivers/misc/ti-st/st_kim.c b/drivers/misc/ti-st/st_kim.c
-index a36ed1ff5967..f80321b4a317 100644
--- 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_data_s *kim_gdata)
+@@ -295,11 +295,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) ||
@@ -1203,12 +1071,10 @@ index a36ed1ff5967..f80321b4a317 100644
- }
ptr = (void *)kim_gdata->fw_entry->data;
len = kim_gdata->fw_entry->size;
- /* bts_header to remove out magic number and
-diff --git a/drivers/net/can/softing/softing_fw.c b/drivers/net/can/softing/softing_fw.c
-index 8f44fdd8804b..9490198e6dcb 100644
+ /*
--- 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, struct softing *card)
+@@ -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);
@@ -1221,11 +1087,9 @@ index 8f44fdd8804b..9490198e6dcb 100644
dev_dbg(&card->pdev->dev, "firmware(%s) got %lu bytes\n",
file, (unsigned long)fw->size);
/* parse the firmware */
-diff --git a/drivers/net/ethernet/3com/typhoon.c b/drivers/net/ethernet/3com/typhoon.c
-index 5ed33c2c4742..6840f35d9095 100644
--- a/drivers/net/ethernet/3com/typhoon.c
+++ b/drivers/net/ethernet/3com/typhoon.c
-@@ -1282,11 +1282,8 @@ typhoon_request_firmware(struct typhoon *tp)
+@@ -1282,11 +1282,8 @@ typhoon_request_firmware(struct typhoon
return 0;
err = request_firmware(&typhoon_fw, FIRMWARE_NAME, &tp->pdev->dev);
@@ -1238,11 +1102,9 @@ index 5ed33c2c4742..6840f35d9095 100644
image_data = typhoon_fw->data;
remaining = typhoon_fw->size;
-diff --git a/drivers/net/ethernet/adaptec/starfire.c b/drivers/net/ethernet/adaptec/starfire.c
-index a64191fc2af9..703e272b8c12 100644
--- a/drivers/net/ethernet/adaptec/starfire.c
+++ b/drivers/net/ethernet/adaptec/starfire.c
-@@ -1000,11 +1000,8 @@ static int netdev_open(struct net_device *dev)
+@@ -1000,11 +1000,8 @@ static int netdev_open(struct net_device
#endif /* VLAN_SUPPORT */
retval = request_firmware(&fw_rx, FIRMWARE_RX, &np->pci_dev->dev);
@@ -1255,7 +1117,7 @@ index a64191fc2af9..703e272b8c12 100644
if (fw_rx->size % 4) {
printk(KERN_ERR "starfire: bogus length %zu in \"%s\"\n",
fw_rx->size, FIRMWARE_RX);
-@@ -1012,11 +1009,8 @@ static int netdev_open(struct net_device *dev)
+@@ -1012,11 +1009,8 @@ static int netdev_open(struct net_device
goto out_rx;
}
retval = request_firmware(&fw_tx, FIRMWARE_TX, &np->pci_dev->dev);
@@ -1268,11 +1130,9 @@ index a64191fc2af9..703e272b8c12 100644
if (fw_tx->size % 4) {
printk(KERN_ERR "starfire: bogus length %zu in \"%s\"\n",
fw_tx->size, FIRMWARE_TX);
-diff --git a/drivers/net/ethernet/alacritech/slicoss.c b/drivers/net/ethernet/alacritech/slicoss.c
-index 6234fcd844ee..99ee1f064b08 100644
--- a/drivers/net/ethernet/alacritech/slicoss.c
+++ b/drivers/net/ethernet/alacritech/slicoss.c
-@@ -1051,11 +1051,8 @@ static int slic_load_rcvseq_firmware(struct slic_device *sdev)
+@@ -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);
@@ -1285,7 +1145,7 @@ index 6234fcd844ee..99ee1f064b08 100644
/* Do an initial sanity check concerning firmware size now. A further
* check follows below.
*/
-@@ -1126,10 +1123,8 @@ static int slic_load_firmware(struct slic_device *sdev)
+@@ -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);
@@ -1297,11 +1157,9 @@ index 6234fcd844ee..99ee1f064b08 100644
/* Do an initial sanity check concerning firmware size now. A further
* check follows below.
*/
-diff --git a/drivers/net/ethernet/alteon/acenic.c b/drivers/net/ethernet/alteon/acenic.c
-index 5d192d551623..e41a4a94af90 100644
--- a/drivers/net/ethernet/alteon/acenic.c
+++ b/drivers/net/ethernet/alteon/acenic.c
-@@ -2885,11 +2885,8 @@ static int ace_load_firmware(struct net_device *dev)
+@@ -2880,11 +2880,8 @@ static int ace_load_firmware(struct net_
fw_name = "acenic/tg1.bin";
ret = request_firmware(&fw, fw_name, &ap->pdev->dev);
@@ -1314,11 +1172,9 @@ index 5d192d551623..e41a4a94af90 100644
fw_data = (void *)fw->data;
-diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c
-index e1c236cab2a7..6b0d1f018772 100644
--- a/drivers/net/ethernet/broadcom/bnx2.c
+++ b/drivers/net/ethernet/broadcom/bnx2.c
-@@ -3712,16 +3712,13 @@ static int bnx2_request_uncached_firmware(struct bnx2 *bp)
+@@ -3712,16 +3712,13 @@ static int bnx2_request_uncached_firmwar
}
rc = request_firmware(&bp->mips_firmware, mips_fw_file, &bp->pdev->dev);
@@ -1338,11 +1194,9 @@ index e1c236cab2a7..6b0d1f018772 100644
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) ||
-diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
-index db5107e7937c..c6f4f7cfeb91 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
-@@ -13547,11 +13547,8 @@ static int bnx2x_init_firmware(struct bnx2x *bp)
+@@ -13475,11 +13475,8 @@ static int bnx2x_init_firmware(struct bn
BNX2X_DEV_INFO("Loading %s\n", fw_file_name);
rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev);
@@ -1355,11 +1209,9 @@ index db5107e7937c..c6f4f7cfeb91 100644
rc = bnx2x_check_firmware(bp);
if (rc) {
-diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c
-index ebff1fc0d8ce..1d55e95d0d53 100644
--- a/drivers/net/ethernet/broadcom/tg3.c
+++ b/drivers/net/ethernet/broadcom/tg3.c
-@@ -11404,11 +11404,8 @@ static int tg3_request_firmware(struct tg3 *tp)
+@@ -11413,11 +11413,8 @@ static int tg3_request_firmware(struct t
{
const struct tg3_firmware_hdr *fw_hdr;
@@ -1372,11 +1224,9 @@ index ebff1fc0d8ce..1d55e95d0d53 100644
fw_hdr = (struct tg3_firmware_hdr *)tp->fw->data;
-diff --git a/drivers/net/ethernet/brocade/bna/cna_fwimg.c b/drivers/net/ethernet/brocade/bna/cna_fwimg.c
-index 824eaef30704..17b9de83a281 100644
--- 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, u32 **bfi_image,
+@@ -24,10 +24,8 @@ cna_read_firmware(struct pci_dev *pdev,
const struct firmware *fw;
u32 n;
@@ -1388,11 +1238,9 @@ index 824eaef30704..17b9de83a281 100644
*bfi_image = (u32 *)fw->data;
*bfi_image_size = fw->size/sizeof(u32);
-diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
-index 42c6e9379882..33efb526eed4 100644
--- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
-@@ -1036,12 +1036,8 @@ int t3_get_edc_fw(struct cphy *phy, int edc_idx, int size)
+@@ -1036,12 +1036,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);
@@ -1406,7 +1254,7 @@ index 42c6e9379882..33efb526eed4 100644
/* check size, take checksum in account */
if (fw->size > size + 4) {
-@@ -1078,11 +1074,8 @@ static int upgrade_fw(struct adapter *adap)
+@@ -1078,11 +1074,8 @@ static int upgrade_fw(struct adapter *ad
struct device *dev = &adap->pdev->dev;
ret = request_firmware(&fw, FW_FNAME, dev);
@@ -1419,7 +1267,7 @@ index 42c6e9379882..33efb526eed4 100644
ret = t3_load_fw(adap, fw->data, fw->size);
release_firmware(fw);
-@@ -1127,11 +1120,8 @@ static int update_tpsram(struct adapter *adap)
+@@ -1127,11 +1120,8 @@ static int update_tpsram(struct adapter
snprintf(buf, sizeof(buf), TPSRAM_NAME, rev);
ret = request_firmware(&tpsram, buf, dev);
@@ -1432,11 +1280,9 @@ index 42c6e9379882..33efb526eed4 100644
ret = t3_check_tpsram(adap, tpsram->data, tpsram->size);
if (ret)
-diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c
-index 1b8d015ebfb0..eefb8cb681b9 100644
--- a/drivers/net/ethernet/intel/e100.c
+++ b/drivers/net/ethernet/intel/e100.c
-@@ -1265,9 +1265,6 @@ static const struct firmware *e100_request_firmware(struct nic *nic)
+@@ -1262,9 +1262,6 @@ static const struct firmware *e100_reque
if (err) {
if (required) {
@@ -1446,11 +1292,9 @@ index 1b8d015ebfb0..eefb8cb681b9 100644
return ERR_PTR(err);
} else {
netif_info(nic, probe, nic->netdev,
-diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c
-index e1e1f4e3639e..638bee3a27d2 100644
--- 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_firmware(struct myri10ge_priv *mgp, u32 * size)
+@@ -580,8 +580,6 @@ static int myri10ge_load_hotplug_firmwar
unsigned i;
if ((status = request_firmware(&fw, mgp->fw_name, dev)) < 0) {
@@ -1459,11 +1303,9 @@ index e1e1f4e3639e..638bee3a27d2 100644
status = -EINVAL;
goto abort_with_nothing;
}
-diff --git a/drivers/net/ethernet/smsc/smc91c92_cs.c b/drivers/net/ethernet/smsc/smc91c92_cs.c
-index f2a50eb3c1e0..ce754906fc36 100644
--- a/drivers/net/ethernet/smsc/smc91c92_cs.c
+++ b/drivers/net/ethernet/smsc/smc91c92_cs.c
-@@ -647,10 +647,8 @@ static int osi_load_firmware(struct pcmcia_device *link)
+@@ -647,10 +647,8 @@ static int osi_load_firmware(struct pcmc
int i, err;
err = request_firmware(&fw, FIRMWARE_NAME, &link->dev);
@@ -1475,11 +1317,9 @@ index f2a50eb3c1e0..ce754906fc36 100644
/* Download the Seven of Diamonds firmware */
for (i = 0; i < fw->size; i++) {
-diff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c
-index debd3c3fa6fb..a51df2646ec7 100644
--- a/drivers/net/ethernet/sun/cassini.c
+++ b/drivers/net/ethernet/sun/cassini.c
-@@ -793,11 +793,8 @@ static void cas_saturn_firmware_init(struct cas *cp)
+@@ -793,11 +793,8 @@ static void cas_saturn_firmware_init(str
return;
err = request_firmware(&fw, fw_name, &cp->pdev->dev);
@@ -1492,11 +1332,9 @@ index debd3c3fa6fb..a51df2646ec7 100644
if (fw->size < 2) {
pr_err("bogus length %zu in \"%s\"\n",
fw->size, fw_name);
-diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c
-index 5ab53e9942f3..b05798b5f5e2 100644
--- a/drivers/net/hamradio/yam.c
+++ b/drivers/net/hamradio/yam.c
-@@ -357,11 +357,8 @@ static unsigned char *add_mcs(unsigned char *bits, int bitrate,
+@@ -357,11 +357,8 @@ static unsigned char *add_mcs(unsigned c
}
err = request_firmware(&fw, fw_name[predef], &pdev->dev);
platform_device_unregister(pdev);
@@ -1509,11 +1347,9 @@ index 5ab53e9942f3..b05798b5f5e2 100644
if (fw->size != YAM_FPGA_SIZE) {
printk(KERN_ERR "Bogus length %zu in firmware \"%s\"\n",
fw->size, fw_name[predef]);
-diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c
-index ed01dc964c99..376920410ec1 100644
--- a/drivers/net/usb/kaweth.c
+++ b/drivers/net/usb/kaweth.c
-@@ -378,10 +378,8 @@ static int kaweth_download_firmware(struct kaweth_device *kaweth,
+@@ -378,10 +378,8 @@ static int kaweth_download_firmware(stru
int ret;
ret = request_firmware(&fw, fwname, &kaweth->dev->dev);
@@ -1525,11 +1361,9 @@ index ed01dc964c99..376920410ec1 100644
if (fw->size > KAWETH_FIRMWARE_BUF_SIZE) {
dev_err(&kaweth->intf->dev, "Firmware too big: %zu\n",
-diff --git a/drivers/net/wimax/i2400m/fw.c b/drivers/net/wimax/i2400m/fw.c
-index 6c9a41bff2e0..03e2df8690c9 100644
--- a/drivers/net/wimax/i2400m/fw.c
+++ b/drivers/net/wimax/i2400m/fw.c
-@@ -1578,11 +1578,8 @@ int i2400m_dev_bootstrap(struct i2400m *i2400m, enum i2400m_bri flags)
+@@ -1578,11 +1578,8 @@ int i2400m_dev_bootstrap(struct i2400m *
}
d_printf(1, dev, "trying firmware %s (%d)\n", fw_name, itr);
ret = request_firmware(&fw, fw_name, dev);
@@ -1542,7 +1376,7 @@ index 6c9a41bff2e0..03e2df8690c9 100644
i2400m->fw_name = fw_name;
ret = i2400m_fw_bootstrap(i2400m, fw, flags);
release_firmware(fw);
-@@ -1625,8 +1622,6 @@ void i2400m_fw_cache(struct i2400m *i2400m)
+@@ -1625,8 +1622,6 @@ void i2400m_fw_cache(struct i2400m *i240
kref_init(&i2400m_fw->kref);
result = request_firmware(&i2400m_fw->fw, i2400m->fw_name, dev);
if (result < 0) {
@@ -1551,11 +1385,9 @@ index 6c9a41bff2e0..03e2df8690c9 100644
kfree(i2400m_fw);
i2400m_fw = (void *) ~0;
} else
-diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c
-index 4ed21dad6a8e..a41bfc6a7483 100644
--- a/drivers/net/wireless/ath/ath9k/hif_usb.c
+++ b/drivers/net/wireless/ath/ath9k/hif_usb.c
-@@ -1195,9 +1195,6 @@ static void ath9k_hif_usb_firmware_cb(const struct firmware *fw, void *context)
+@@ -1197,9 +1197,6 @@ static void ath9k_hif_usb_firmware_cb(co
if (!ret)
return;
@@ -1565,11 +1397,9 @@ index 4ed21dad6a8e..a41bfc6a7483 100644
goto err_fw;
}
-diff --git a/drivers/net/wireless/ath/carl9170/usb.c b/drivers/net/wireless/ath/carl9170/usb.c
-index 486957a04bd1..799e2aefab52 100644
--- 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(const struct firmware *fw,
+@@ -1029,7 +1029,6 @@ static void carl9170_usb_firmware_step2(
return;
}
@@ -1577,11 +1407,9 @@ index 486957a04bd1..799e2aefab52 100644
carl9170_usb_firmware_failed(ar);
}
-diff --git a/drivers/net/wireless/atmel/at76c50x-usb.c b/drivers/net/wireless/atmel/at76c50x-usb.c
-index 3b2680772f03..cede709a8a40 100644
--- a/drivers/net/wireless/atmel/at76c50x-usb.c
+++ b/drivers/net/wireless/atmel/at76c50x-usb.c
-@@ -1617,13 +1617,8 @@ static struct fwentry *at76_load_firmware(struct usb_device *udev,
+@@ -1617,13 +1617,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);
@@ -1596,11 +1424,9 @@ index 3b2680772f03..cede709a8a40 100644
at76_dbg(DBG_FW, "got it.");
fwh = (struct at76_fw_header *)(fwe->fw->data);
-diff --git a/drivers/net/wireless/atmel/atmel.c b/drivers/net/wireless/atmel/atmel.c
-index d5875836068c..463db8ae8cda 100644
--- a/drivers/net/wireless/atmel/atmel.c
+++ b/drivers/net/wireless/atmel/atmel.c
-@@ -3892,12 +3892,8 @@ static int reset_atmel_card(struct net_device *dev)
+@@ -3892,12 +3892,8 @@ static int reset_atmel_card(struct net_d
strcpy(priv->firmware_id, "atmel_at76c502.bin");
}
err = request_firmware(&fw_entry, priv->firmware_id, priv->sys_dev);
@@ -1614,11 +1440,9 @@ index d5875836068c..463db8ae8cda 100644
} else {
int fw_index = 0;
int success = 0;
-diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireless/broadcom/b43/main.c
-index 3ad94dad2d89..3fb9f2e29a15 100644
--- a/drivers/net/wireless/broadcom/b43/main.c
+++ b/drivers/net/wireless/broadcom/b43/main.c
-@@ -2243,19 +2243,8 @@ int b43_do_request_fw(struct b43_request_fw_context *ctx,
+@@ -2243,19 +2243,8 @@ int b43_do_request_fw(struct b43_request
}
err = request_firmware(&ctx->blob, ctx->fwname,
ctx->dev->dev->dev);
@@ -1627,23 +1451,21 @@ index 3ad94dad2d89..3fb9f2e29a15 100644
- sizeof(ctx->errors[ctx->req_type]),
- "Firmware file \"%s\" not found\n",
- ctx->fwname);
-- return err;
++ 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);
-+ if (err)
- return err;
+- return err;
- }
fw_ready:
if (ctx->blob->size < sizeof(struct b43_fw_header))
goto err_format;
-diff --git a/drivers/net/wireless/broadcom/b43legacy/main.c b/drivers/net/wireless/broadcom/b43legacy/main.c
-index 5208a39fd6f7..247c99a04bfd 100644
--- a/drivers/net/wireless/broadcom/b43legacy/main.c
+++ b/drivers/net/wireless/broadcom/b43legacy/main.c
-@@ -1523,11 +1523,8 @@ static int do_request_fw(struct b43legacy_wldev *dev,
+@@ -1523,11 +1523,8 @@ static int do_request_fw(struct b43legac
} else {
err = request_firmware(fw, path, dev->dev->dev);
}
@@ -1656,11 +1478,9 @@ index 5208a39fd6f7..247c99a04bfd 100644
if ((*fw)->size < sizeof(struct b43legacy_fw_header))
goto err_format;
hdr = (struct b43legacy_fw_header *)((*fw)->data);
-diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
-index 648efcbc819f..949f260fa521 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c
-@@ -378,19 +378,13 @@ static int brcms_request_fw(struct brcms_info *wl, struct bcma_device *pdev)
+@@ -378,19 +378,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);
@@ -1682,11 +1502,9 @@ index 648efcbc819f..949f260fa521 100644
wl->fw.hdr_num_entries[i] =
wl->fw.fw_hdr[i]->size / (sizeof(struct firmware_hdr));
}
-diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
-index 624fe721e2b5..ad8c9d0dbc78 100644
--- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c
+++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
-@@ -8392,12 +8392,8 @@ static int ipw2100_get_firmware(struct ipw2100_priv *priv,
+@@ -8372,12 +8372,8 @@ static int ipw2100_get_firmware(struct i
rc = request_firmware(&fw->fw_entry, fw_name, &priv->pci_dev->dev);
@@ -1700,11 +1518,9 @@ index 624fe721e2b5..ad8c9d0dbc78 100644
IPW_DEBUG_INFO("firmware data %p size %zd\n", fw->fw_entry->data,
fw->fw_entry->size);
-diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2200.c b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
-index 661e63bfc892..4fa3eb0cc112 100644
--- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c
+++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c
-@@ -3397,10 +3397,8 @@ static int ipw_get_fw(struct ipw_priv *priv,
+@@ -3397,10 +3397,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);
@@ -1716,8 +1532,6 @@ index 661e63bfc892..4fa3eb0cc112 100644
if ((*raw)->size < sizeof(*fw)) {
IPW_ERROR("%s is too small (%zd)\n", name, (*raw)->size);
-diff --git a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
-index 9167c3d2711d..c506917d3afa 100644
--- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c
+++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
@@ -1837,7 +1837,6 @@ il3945_read_ucode(struct il_priv *il)
@@ -1728,11 +1542,9 @@ index 9167c3d2711d..c506917d3afa 100644
if (ret == -ENOENT)
continue;
else
-diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
-index 04f14bfdd091..3b4ceb28d487 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c
-@@ -231,8 +231,6 @@ static int iwl_request_firmware(struct iwl_drv *drv, bool first)
+@@ -231,8 +231,6 @@ static int iwl_request_firmware(struct i
}
if (drv->fw_index < cfg->ucode_api_min) {
@@ -1741,11 +1553,9 @@ index 04f14bfdd091..3b4ceb28d487 100644
if (cfg->ucode_api_min == cfg->ucode_api_max) {
IWL_ERR(drv, "%s%d is required\n", cfg->fw_name_pre,
cfg->ucode_api_max);
-diff --git a/drivers/net/wireless/intersil/orinoco/fw.c b/drivers/net/wireless/intersil/orinoco/fw.c
-index 015af782881b..b8727000c415 100644
--- a/drivers/net/wireless/intersil/orinoco/fw.c
+++ b/drivers/net/wireless/intersil/orinoco/fw.c
-@@ -132,7 +132,6 @@ orinoco_dl_firmware(struct orinoco_private *priv,
+@@ -132,7 +132,6 @@ orinoco_dl_firmware(struct orinoco_priva
err = request_firmware(&fw_entry, firmware, priv->dev);
if (err) {
@@ -1753,7 +1563,7 @@ index 015af782881b..b8727000c415 100644
err = -ENOENT;
goto free;
}
-@@ -292,10 +291,8 @@ symbol_dl_firmware(struct orinoco_private *priv,
+@@ -292,10 +291,8 @@ symbol_dl_firmware(struct orinoco_privat
const struct firmware *fw_entry;
if (!orinoco_cached_fw_get(priv, true)) {
@@ -1765,7 +1575,7 @@ index 015af782881b..b8727000c415 100644
} else
fw_entry = orinoco_cached_fw_get(priv, true);
-@@ -311,10 +308,8 @@ symbol_dl_firmware(struct orinoco_private *priv,
+@@ -311,10 +308,8 @@ symbol_dl_firmware(struct orinoco_privat
}
if (!orinoco_cached_fw_get(priv, false)) {
@@ -1777,11 +1587,9 @@ index 015af782881b..b8727000c415 100644
} else
fw_entry = orinoco_cached_fw_get(priv, false);
-diff --git a/drivers/net/wireless/intersil/orinoco/orinoco_usb.c b/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
-index 651c676b5506..4ccd70437563 100644
--- a/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
+++ b/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
-@@ -1664,7 +1664,6 @@ static int ezusb_probe(struct usb_interface *interface,
+@@ -1664,7 +1664,6 @@ static int ezusb_probe(struct usb_interf
if (ezusb_firmware_download(upriv, &firmware) < 0)
goto error;
} else {
@@ -1789,11 +1597,9 @@ index 651c676b5506..4ccd70437563 100644
goto error;
}
-diff --git a/drivers/net/wireless/intersil/p54/p54pci.c b/drivers/net/wireless/intersil/p54/p54pci.c
-index 80ad0b7eaef4..909b92e1eca9 100644
--- a/drivers/net/wireless/intersil/p54/p54pci.c
+++ b/drivers/net/wireless/intersil/p54/p54pci.c
-@@ -496,7 +496,6 @@ static void p54p_firmware_step2(const struct firmware *fw,
+@@ -500,7 +500,6 @@ static void p54p_firmware_step2(const st
int err;
if (!fw) {
@@ -1801,11 +1607,9 @@ index 80ad0b7eaef4..909b92e1eca9 100644
err = -ENOENT;
goto out;
}
-diff --git a/drivers/net/wireless/intersil/p54/p54spi.c b/drivers/net/wireless/intersil/p54/p54spi.c
-index ab0fe8565851..9c57aab8a224 100644
--- a/drivers/net/wireless/intersil/p54/p54spi.c
+++ b/drivers/net/wireless/intersil/p54/p54spi.c
-@@ -157,10 +157,8 @@ static int p54spi_request_firmware(struct ieee80211_hw *dev)
+@@ -157,10 +157,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);
@@ -1817,11 +1621,9 @@ index ab0fe8565851..9c57aab8a224 100644
ret = p54_parse_firmware(dev, priv->firmware);
if (ret) {
-diff --git a/drivers/net/wireless/intersil/p54/p54usb.c b/drivers/net/wireless/intersil/p54/p54usb.c
-index ff0e30c0c14c..234e6b53338d 100644
--- 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 struct firmware *firmware,
+@@ -929,7 +929,6 @@ static void p54u_load_firmware_cb(const
err = p54u_start_ops(priv);
} else {
err = -ENOENT;
@@ -1829,11 +1631,9 @@ index ff0e30c0c14c..234e6b53338d 100644
}
complete(&priv->fw_wait_load);
-diff --git a/drivers/net/wireless/intersil/prism54/islpci_dev.c b/drivers/net/wireless/intersil/prism54/islpci_dev.c
-index a9bae69222dc..1e9d25d296a9 100644
--- a/drivers/net/wireless/intersil/prism54/islpci_dev.c
+++ b/drivers/net/wireless/intersil/prism54/islpci_dev.c
-@@ -80,12 +80,9 @@ isl_upload_firmware(islpci_private *priv)
+@@ -80,12 +80,9 @@ isl_upload_firmware(islpci_private *priv
const u32 *fw_ptr;
rc = request_firmware(&fw_entry, priv->firmware, PRISM_FW_PDEV);
@@ -1848,11 +1648,9 @@ index a9bae69222dc..1e9d25d296a9 100644
/* prepare the Direct Memory Base register */
reg = ISL38XX_DEV_FIRMWARE_ADDRES;
-diff --git a/drivers/net/wireless/marvell/libertas_tf/if_usb.c b/drivers/net/wireless/marvell/libertas_tf/if_usb.c
-index bedc09215088..cdf74d42d9ac 100644
--- a/drivers/net/wireless/marvell/libertas_tf/if_usb.c
+++ b/drivers/net/wireless/marvell/libertas_tf/if_usb.c
-@@ -817,8 +817,6 @@ static int if_usb_prog_firmware(struct lbtf_private *priv)
+@@ -817,8 +817,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) {
@@ -1861,11 +1659,9 @@ index bedc09215088..cdf74d42d9ac 100644
kernel_param_unlock(THIS_MODULE);
goto done;
}
-diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c
-index 529099137644..3a397c304d8f 100644
--- a/drivers/net/wireless/marvell/mwifiex/main.c
+++ b/drivers/net/wireless/marvell/mwifiex/main.c
-@@ -525,11 +525,8 @@ static int _mwifiex_fw_dpc(const struct firmware *firmware, void *context)
+@@ -525,11 +525,8 @@ static int _mwifiex_fw_dpc(const struct
struct wireless_dev *wdev;
struct completion *fw_done = adapter->fw_done;
@@ -1878,11 +1674,9 @@ index 529099137644..3a397c304d8f 100644
memset(&fw, 0, sizeof(struct mwifiex_fw_image));
adapter->firmware = firmware;
-diff --git a/drivers/net/wireless/marvell/mwl8k.c b/drivers/net/wireless/marvell/mwl8k.c
-index 97f23f93f6e7..a38fb5eea7bd 100644
--- a/drivers/net/wireless/marvell/mwl8k.c
+++ b/drivers/net/wireless/marvell/mwl8k.c
-@@ -5727,16 +5727,12 @@ static int mwl8k_firmware_load_success(struct mwl8k_priv *priv);
+@@ -5727,16 +5727,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;
@@ -1900,7 +1694,7 @@ index 97f23f93f6e7..a38fb5eea7bd 100644
priv->fw_helper = fw;
rc = mwl8k_request_fw(priv, priv->fw_pref, &priv->fw_ucode,
true);
-@@ -5771,11 +5767,8 @@ static void mwl8k_fw_state_machine(const struct firmware *fw, void *context)
+@@ -5771,11 +5767,8 @@ static void mwl8k_fw_state_machine(const
break;
case FW_STATE_LOADING_ALT:
@@ -1913,7 +1707,7 @@ index 97f23f93f6e7..a38fb5eea7bd 100644
priv->fw_ucode = fw;
rc = mwl8k_firmware_load_success(priv);
if (rc)
-@@ -5813,10 +5806,8 @@ static int mwl8k_init_firmware(struct ieee80211_hw *hw, char *fw_image,
+@@ -5813,10 +5806,8 @@ retry:
/* Ask userland hotplug daemon for the device firmware */
rc = mwl8k_request_firmware(priv, fw_image, nowait);
@@ -1925,11 +1719,9 @@ index 97f23f93f6e7..a38fb5eea7bd 100644
if (nowait)
return rc;
-diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00firmware.c b/drivers/net/wireless/ralink/rt2x00/rt2x00firmware.c
-index c20886b02e64..e7ec16d56b4b 100644
--- 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(struct rt2x00_dev *rt2x00dev)
+@@ -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);
@@ -1941,11 +1733,9 @@ index c20886b02e64..e7ec16d56b4b 100644
if (!fw || !fw->size || !fw->data) {
rt2x00_err(rt2x00dev, "Failed to read Firmware\n");
-diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c
-index 4dd82c6052f0..8f37c02eaad0 100644
--- a/drivers/net/wireless/realtek/rtlwifi/core.c
+++ b/drivers/net/wireless/realtek/rtlwifi/core.c
-@@ -89,7 +89,6 @@ static void rtl_fw_do_work(const struct firmware *firmware, void *context,
+@@ -89,7 +89,6 @@ static void rtl_fw_do_work(const struct
if (!err)
goto found_alt;
}
@@ -1953,11 +1743,9 @@ index 4dd82c6052f0..8f37c02eaad0 100644
rtlpriv->max_fw_size = 0;
return;
}
-diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c
-index 7a54497b7df2..f0dab3b26ebb 100644
--- 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 firmware *firmware, void *context)
+@@ -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;
@@ -1971,11 +1759,9 @@ index 7a54497b7df2..f0dab3b26ebb 100644
rtlpriv->max_fw_size = 0;
return;
}
-diff --git a/drivers/net/wireless/ti/wl1251/main.c b/drivers/net/wireless/ti/wl1251/main.c
-index 480a8d084878..4e9d99efe0b8 100644
--- 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 wl1251 *wl)
+@@ -57,10 +57,8 @@ static int wl1251_fetch_firmware(struct
ret = request_firmware(&fw, WL1251_FW_NAME, dev);
@@ -1987,7 +1773,7 @@ index 480a8d084878..4e9d99efe0b8 100644
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 wl1251 *wl)
+@@ -96,10 +94,8 @@ static int wl1251_fetch_nvs(struct wl125
ret = request_firmware(&fw, WL1251_NVS_NAME, dev);
@@ -1999,11 +1785,9 @@ index 480a8d084878..4e9d99efe0b8 100644
if (fw->size % 4) {
wl1251_error("nvs size is not multiple of 32 bits: %zu",
-diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
-index de6c8a7589ca..ff3fd1ed2b8d 100644
--- 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 wl1271 *wl, bool plt)
+@@ -765,10 +765,8 @@ static int wl12xx_fetch_firmware(struct
ret = request_firmware(&fw, fw_name, wl->dev);
@@ -2015,11 +1799,9 @@ index de6c8a7589ca..ff3fd1ed2b8d 100644
if (fw->size % 4) {
wl1271_error("firmware size is not multiple of 32 bits: %zu",
-diff --git a/drivers/net/wireless/zydas/zd1201.c b/drivers/net/wireless/zydas/zd1201.c
-index 41641fc2be74..d05323f24aa1 100644
--- a/drivers/net/wireless/zydas/zd1201.c
+++ b/drivers/net/wireless/zydas/zd1201.c
-@@ -62,8 +62,6 @@ static int zd1201_fw_upload(struct usb_device *dev, int apfw)
+@@ -62,8 +62,6 @@ static int zd1201_fw_upload(struct usb_d
err = request_firmware(&fw_entry, fwfile, &dev->dev);
if (err) {
@@ -2028,11 +1810,9 @@ index 41641fc2be74..d05323f24aa1 100644
dev_err(&dev->dev, "Goto http://linux-lc100020.sourceforge.net for more info.\n");
return err;
}
-diff --git a/drivers/net/wireless/zydas/zd1211rw/zd_usb.c b/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
-index 8ff0374126e4..3b00e98581c1 100644
--- a/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/zydas/zd1211rw/zd_usb.c
-@@ -108,16 +108,9 @@ static void int_urb_complete(struct urb *urb);
+@@ -108,16 +108,9 @@ static void int_urb_complete(struct urb
static int request_fw_file(
const struct firmware **fw, const char *name, struct device *device)
{
@@ -2050,11 +1830,9 @@ index 8ff0374126e4..3b00e98581c1 100644
}
static inline u16 get_bcdDevice(const struct usb_device *udev)
-diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
-index c2c7850ff7b4..77a50f790173 100644
--- a/drivers/scsi/advansys.c
+++ b/drivers/scsi/advansys.c
-@@ -4103,8 +4103,6 @@ static int AscInitAsc1000Driver(ASC_DVC_VAR *asc_dvc)
+@@ -4103,8 +4103,6 @@ static int AscInitAsc1000Driver(ASC_DVC_
err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev);
if (err) {
@@ -2063,7 +1841,7 @@ index c2c7850ff7b4..77a50f790173 100644
asc_dvc->err_code |= ASC_IERR_MCODE_CHKSUM;
return err;
}
-@@ -4469,8 +4467,6 @@ static int AdvInitAsc3550Driver(ADV_DVC_VAR *asc_dvc)
+@@ -4469,8 +4467,6 @@ static int AdvInitAsc3550Driver(ADV_DVC_
err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev);
if (err) {
@@ -2072,7 +1850,7 @@ index c2c7850ff7b4..77a50f790173 100644
asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM;
return err;
}
-@@ -4969,8 +4965,6 @@ static int AdvInitAsc38C0800Driver(ADV_DVC_VAR *asc_dvc)
+@@ -4969,8 +4965,6 @@ static int AdvInitAsc38C0800Driver(ADV_D
err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev);
if (err) {
@@ -2081,7 +1859,7 @@ index c2c7850ff7b4..77a50f790173 100644
asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM;
return err;
}
-@@ -5457,8 +5451,6 @@ static int AdvInitAsc38C1600Driver(ADV_DVC_VAR *asc_dvc)
+@@ -5457,8 +5451,6 @@ static int AdvInitAsc38C1600Driver(ADV_D
err = request_firmware(&fw, fwname, asc_dvc->drv_ptr->dev);
if (err) {
@@ -2090,11 +1868,9 @@ index c2c7850ff7b4..77a50f790173 100644
asc_dvc->err_code = ASC_IERR_MCODE_CHKSUM;
return err;
}
-diff --git a/drivers/scsi/aic94xx/aic94xx_init.c b/drivers/scsi/aic94xx/aic94xx_init.c
-index bef47f38dd0d..43559ec352a2 100644
--- a/drivers/scsi/aic94xx/aic94xx_init.c
+++ b/drivers/scsi/aic94xx/aic94xx_init.c
-@@ -369,8 +369,6 @@ static ssize_t asd_store_update_bios(struct device *dev,
+@@ -369,8 +369,6 @@ static ssize_t asd_store_update_bios(str
filename_ptr,
&asd_ha->pcidev->dev);
if (err) {
@@ -2103,11 +1879,9 @@ index bef47f38dd0d..43559ec352a2 100644
err = FAIL_OPEN_BIOS_FILE;
goto out1;
}
-diff --git a/drivers/scsi/aic94xx/aic94xx_seq.c b/drivers/scsi/aic94xx/aic94xx_seq.c
-index 11853ec29d87..f2015d705186 100644
--- a/drivers/scsi/aic94xx/aic94xx_seq.c
+++ b/drivers/scsi/aic94xx/aic94xx_seq.c
-@@ -1299,11 +1299,8 @@ int asd_init_seqs(struct asd_ha_struct *asd_ha)
+@@ -1302,11 +1302,8 @@ int asd_init_seqs(struct asd_ha_struct *
err = asd_request_firmware(asd_ha);
@@ -2120,11 +1894,9 @@ index 11853ec29d87..f2015d705186 100644
err = asd_seq_download_seqs(asd_ha);
if (err) {
-diff --git a/drivers/scsi/bfa/bfad.c b/drivers/scsi/bfa/bfad.c
-index bc5d84f87d8f..9d5abf731ec9 100644
--- a/drivers/scsi/bfa/bfad.c
+++ b/drivers/scsi/bfa/bfad.c
-@@ -1748,7 +1748,6 @@ bfad_read_firmware(struct pci_dev *pdev, u32 **bfi_image,
+@@ -1748,7 +1748,6 @@ bfad_read_firmware(struct pci_dev *pdev,
const struct firmware *fw;
if (request_firmware(&fw, fw_name, &pdev->dev)) {
@@ -2132,11 +1904,9 @@ index bc5d84f87d8f..9d5abf731ec9 100644
*bfi_image = NULL;
goto out;
}
-diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
-index 7d86f4ca266c..8f2f9f6f8332 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
-@@ -4091,10 +4091,8 @@ static ssize_t ipr_store_update_fw(struct device *dev,
+@@ -4102,10 +4102,8 @@ static ssize_t ipr_store_update_fw(struc
if (endline)
*endline = '\0';
@@ -2148,11 +1918,9 @@ index 7d86f4ca266c..8f2f9f6f8332 100644
image_hdr = (struct ipr_ucode_image_header *)fw_entry->data;
-diff --git a/drivers/scsi/pm8001/pm8001_ctl.c b/drivers/scsi/pm8001/pm8001_ctl.c
-index 3c9f42779dd0..80cf4f4546de 100644
--- a/drivers/scsi/pm8001/pm8001_ctl.c
+++ b/drivers/scsi/pm8001/pm8001_ctl.c
-@@ -818,10 +818,6 @@ static ssize_t pm8001_store_update_fw(struct device *cdev,
+@@ -839,10 +839,6 @@ static ssize_t pm8001_store_update_fw(st
pm8001_ha->dev);
if (ret) {
@@ -2163,11 +1931,9 @@ index 3c9f42779dd0..80cf4f4546de 100644
pm8001_ha->fw_status = FAIL_OPEN_BIOS_FILE;
goto out;
}
-diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c
-index 441a45349349..a420757e51c7 100644
--- a/drivers/scsi/qla1280.c
+++ b/drivers/scsi/qla1280.c
-@@ -1515,8 +1515,6 @@ qla1280_request_firmware(struct scsi_qla_host *ha)
+@@ -1515,8 +1515,6 @@ qla1280_request_firmware(struct scsi_qla
err = request_firmware(&fw, fwname, &ha->pdev->dev);
if (err) {
@@ -2176,11 +1942,9 @@ index 441a45349349..a420757e51c7 100644
fw = ERR_PTR(err);
goto unlock;
}
-diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
-index 2436a17f5cd9..cc8afd4216ab 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
-@@ -7859,10 +7859,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha, uint32_t *srisc_addr)
+@@ -7864,10 +7864,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
/* Load firmware blob. */
blob = qla2x00_request_firmware(vha);
if (!blob) {
@@ -2191,7 +1955,7 @@ index 2436a17f5cd9..cc8afd4216ab 100644
return QLA_FUNCTION_FAILED;
}
-@@ -7965,9 +7961,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *vha, uint32_t *srisc_addr)
+@@ -7970,9 +7966,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
blob = qla2x00_request_firmware(vha);
if (!blob) {
@@ -2201,11 +1965,9 @@ index 2436a17f5cd9..cc8afd4216ab 100644
return QLA_FUNCTION_FAILED;
}
-diff --git a/drivers/scsi/qla2xxx/qla_nx.c b/drivers/scsi/qla2xxx/qla_nx.c
-index 0baf55b7e88f..80396c7c95e9 100644
--- a/drivers/scsi/qla2xxx/qla_nx.c
+++ b/drivers/scsi/qla2xxx/qla_nx.c
-@@ -2436,11 +2436,8 @@ qla82xx_load_fw(scsi_qla_host_t *vha)
+@@ -2432,11 +2432,8 @@ try_blob_fw:
/* Load firmware blob. */
blob = ha->hablob = qla2x00_request_firmware(vha);
@@ -2218,11 +1980,9 @@ index 0baf55b7e88f..80396c7c95e9 100644
/* Validating firmware blob */
if (qla82xx_validate_firmware_blob(vha,
-diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c
-index e92fad99338c..89aba7307a51 100644
--- a/drivers/scsi/qla2xxx/qla_os.c
+++ b/drivers/scsi/qla2xxx/qla_os.c
-@@ -7409,8 +7409,6 @@ qla2x00_request_firmware(scsi_qla_host_t *vha)
+@@ -7439,8 +7439,6 @@ qla2x00_request_firmware(scsi_qla_host_t
goto out;
if (request_firmware(&blob->fw, blob->name, &ha->pdev->dev)) {
@@ -2231,11 +1991,9 @@ index e92fad99338c..89aba7307a51 100644
blob->fw = NULL;
blob = NULL;
}
-diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c
-index 3790e8b70bba..252bf8a56e25 100644
--- a/drivers/scsi/qlogicpti.c
+++ b/drivers/scsi/qlogicpti.c
-@@ -486,11 +486,8 @@ static int qlogicpti_load_firmware(struct qlogicpti *qpti)
+@@ -486,11 +486,8 @@ static int qlogicpti_load_firmware(struc
int i, timeout;
err = request_firmware(&fw, fwname, &qpti->op->dev);
@@ -2248,11 +2006,9 @@ index 3790e8b70bba..252bf8a56e25 100644
if (fw->size % 2) {
printk(KERN_ERR "Bogus length %zu in image \"%s\"\n",
fw->size, fwname);
-diff --git a/drivers/staging/rtl8192u/r819xU_firmware.c b/drivers/staging/rtl8192u/r819xU_firmware.c
-index dd81d210bd49..933fdc31925a 100644
--- a/drivers/staging/rtl8192u/r819xU_firmware.c
+++ b/drivers/staging/rtl8192u/r819xU_firmware.c
-@@ -245,10 +245,8 @@ bool init_firmware(struct net_device *dev)
+@@ -245,10 +245,8 @@ bool init_firmware(struct net_device *de
*/
if (rst_opt == OPT_SYSTEM_RESET) {
rc = request_firmware(&fw_entry, fw_name[init_step], &priv->udev->dev);
@@ -2264,11 +2020,9 @@ index dd81d210bd49..933fdc31925a 100644
if (fw_entry->size > sizeof(pfirmware->firmware_buf)) {
RT_TRACE(COMP_ERR, "img file size exceed the container buffer fail!\n");
-diff --git a/drivers/staging/rtl8712/hal_init.c b/drivers/staging/rtl8712/hal_init.c
-index 40145c0338e4..c3107bb03b00 100644
--- a/drivers/staging/rtl8712/hal_init.c
+++ b/drivers/staging/rtl8712/hal_init.c
-@@ -59,8 +59,6 @@ int rtl871x_load_fw(struct _adapter *padapter)
+@@ -60,8 +60,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);
@@ -2277,11 +2031,9 @@ index 40145c0338e4..c3107bb03b00 100644
return rc;
}
MODULE_FIRMWARE("rtlwifi/rtl8712u.bin");
-diff --git a/drivers/staging/vt6656/main_usb.c b/drivers/staging/vt6656/main_usb.c
-index 8bf851c53f4e..953029373285 100644
--- a/drivers/staging/vt6656/main_usb.c
+++ b/drivers/staging/vt6656/main_usb.c
-@@ -109,11 +109,8 @@ static int vnt_download_firmware(struct vnt_private *priv)
+@@ -109,11 +109,8 @@ static int vnt_download_firmware(struct
dev_dbg(dev, "---->Download firmware\n");
ret = request_firmware(&fw, FIRMWARE_NAME, dev);
@@ -2294,11 +2046,9 @@ index 8bf851c53f4e..953029373285 100644
for (ii = 0; ii < fw->size; ii += FIRMWARE_CHUNK_SIZE) {
length = min_t(int, fw->size - ii, FIRMWARE_CHUNK_SIZE);
-diff --git a/drivers/tty/cyclades.c b/drivers/tty/cyclades.c
-index a6aabfd6e2da..cc36faef39bd 100644
--- a/drivers/tty/cyclades.c
+++ b/drivers/tty/cyclades.c
-@@ -3484,10 +3484,8 @@ static int cyz_load_fw(struct pci_dev *pdev, void __iomem *base_addr,
+@@ -3484,10 +3484,8 @@ static int cyz_load_fw(struct pci_dev *p
int retval;
retval = request_firmware(&fw, "cyzfirm.bin", &pdev->dev);
@@ -2310,11 +2060,9 @@ index a6aabfd6e2da..cc36faef39bd 100644
/* Check whether the firmware is already loaded and running. If
positive, skip this board */
-diff --git a/drivers/tty/moxa.c b/drivers/tty/moxa.c
-index 9f13f7d49dd7..ba3316c073b3 100644
--- a/drivers/tty/moxa.c
+++ b/drivers/tty/moxa.c
-@@ -854,13 +854,8 @@ static int moxa_init_board(struct moxa_board_conf *brd, struct device *dev)
+@@ -854,13 +854,8 @@ static int moxa_init_board(struct moxa_b
}
ret = request_firmware(&fw, file, dev);
@@ -2329,11 +2077,9 @@ index 9f13f7d49dd7..ba3316c073b3 100644
ret = moxa_load_fw(brd, fw);
-diff --git a/drivers/tty/serial/icom.c b/drivers/tty/serial/icom.c
-index 624f3d541c68..fb39c425614d 100644
--- a/drivers/tty/serial/icom.c
+++ b/drivers/tty/serial/icom.c
-@@ -358,7 +358,6 @@ static void load_code(struct icom_port *icom_port)
+@@ -358,7 +358,6 @@ static void load_code(struct icom_port *
/* Load Call Setup into Adapter */
if (request_firmware(&fw, "icom_call_setup.bin", &dev->dev) < 0) {
@@ -2341,7 +2087,7 @@ index 624f3d541c68..fb39c425614d 100644
status = -1;
goto load_code_exit;
}
-@@ -378,7 +377,6 @@ static void load_code(struct icom_port *icom_port)
+@@ -378,7 +377,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) {
@@ -2349,7 +2095,7 @@ index 624f3d541c68..fb39c425614d 100644
status = -1;
goto load_code_exit;
}
-@@ -423,7 +421,6 @@ static void load_code(struct icom_port *icom_port)
+@@ -423,7 +421,6 @@ static void load_code(struct icom_port *
}
if (request_firmware(&fw, "icom_asc.bin", &dev->dev) < 0) {
@@ -2357,11 +2103,9 @@ index 624f3d541c68..fb39c425614d 100644
status = -1;
goto load_code_exit;
}
-diff --git a/drivers/tty/serial/ucc_uart.c b/drivers/tty/serial/ucc_uart.c
-index 3c8c662c69e2..89cb6c851e04 100644
--- a/drivers/tty/serial/ucc_uart.c
+++ b/drivers/tty/serial/ucc_uart.c
-@@ -1161,10 +1161,8 @@ static void uart_firmware_cont(const struct firmware *fw, void *context)
+@@ -1161,10 +1161,8 @@ static void uart_firmware_cont(const str
struct device *dev = context;
int ret;
@@ -2373,11 +2117,9 @@ index 3c8c662c69e2..89cb6c851e04 100644
firmware = (struct qe_firmware *) fw->data;
-diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c
-index 5d41f85a7445..df78902cc942 100644
--- a/drivers/usb/atm/cxacru.c
+++ b/drivers/usb/atm/cxacru.c
-@@ -1088,8 +1088,6 @@ static int cxacru_find_firmware(struct cxacru_data *instance,
+@@ -1088,8 +1088,6 @@ static int cxacru_find_firmware(struct c
return -ENOENT;
}
@@ -2386,11 +2128,9 @@ index 5d41f85a7445..df78902cc942 100644
return 0;
}
-diff --git a/drivers/usb/atm/ueagle-atm.c b/drivers/usb/atm/ueagle-atm.c
-index e9fed9a88737..f159494258bd 100644
--- a/drivers/usb/atm/ueagle-atm.c
+++ b/drivers/usb/atm/ueagle-atm.c
-@@ -606,10 +606,8 @@ static void uea_upload_pre_firmware(const struct firmware *fw_entry,
+@@ -606,10 +606,8 @@ static void uea_upload_pre_firmware(cons
int ret, size;
uea_enters(usb);
@@ -2402,7 +2142,7 @@ index e9fed9a88737..f159494258bd 100644
pfw = fw_entry->data;
size = fw_entry->size;
-@@ -704,10 +702,6 @@ static int uea_load_firmware(struct usb_device *usb, unsigned int ver)
+@@ -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);
@@ -2413,7 +2153,7 @@ index e9fed9a88737..f159494258bd 100644
uea_leaves(usb);
return ret;
-@@ -869,12 +863,8 @@ static int request_dsp(struct uea_softc *sc)
+@@ -869,12 +863,8 @@ static int request_dsp(struct uea_softc
}
ret = request_firmware(&sc->dsp_firm, dsp_name, &sc->usb_dev->dev);
@@ -2427,7 +2167,7 @@ index e9fed9a88737..f159494258bd 100644
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_softc *sc,
+@@ -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);
@@ -2441,7 +2181,7 @@ index e9fed9a88737..f159494258bd 100644
data = (u8 *) (*fw)->data;
size = (*fw)->size;
-@@ -1629,9 +1615,6 @@ static int request_cmvs(struct uea_softc *sc,
+@@ -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);
}
@@ -2451,7 +2191,7 @@ index e9fed9a88737..f159494258bd 100644
return ret;
}
-@@ -1914,11 +1897,8 @@ static int load_XILINX_firmware(struct uea_softc *sc)
+@@ -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);
@@ -2464,11 +2204,9 @@ index e9fed9a88737..f159494258bd 100644
pfw = fw_entry->data;
size = fw_entry->size;
-diff --git a/drivers/usb/misc/emi26.c b/drivers/usb/misc/emi26.c
-index 24d841850e05..84e62e60c8a5 100644
--- a/drivers/usb/misc/emi26.c
+++ b/drivers/usb/misc/emi26.c
-@@ -85,21 +85,17 @@ static int emi26_load_firmware (struct usb_device *dev)
+@@ -85,21 +85,17 @@ static int emi26_load_firmware (struct u
err = request_ihex_firmware(&loader_fw, "emi26/loader.fw", &dev->dev);
if (err)
@@ -2493,11 +2231,9 @@ index 24d841850e05..84e62e60c8a5 100644
/* Assert reset (stop the CPU in the EMI) */
err = emi26_set_reset(dev,1);
-diff --git a/drivers/usb/misc/ezusb.c b/drivers/usb/misc/ezusb.c
-index f058d8029761..4457095c5dde 100644
--- a/drivers/usb/misc/ezusb.c
+++ b/drivers/usb/misc/ezusb.c
-@@ -76,12 +76,8 @@ static int ezusb_ihex_firmware_download(struct usb_device *dev,
+@@ -76,12 +76,8 @@ static int ezusb_ihex_firmware_download(
const struct ihex_binrec *record;
if (request_ihex_firmware(&firmware, firmware_path,
@@ -2511,11 +2247,9 @@ index f058d8029761..4457095c5dde 100644
ret = ezusb_set_reset(dev, fx.cpucs_reg, 0);
if (ret < 0)
-diff --git a/drivers/usb/misc/isight_firmware.c b/drivers/usb/misc/isight_firmware.c
-index 4d30095d6ad2..e217999b1923 100644
--- a/drivers/usb/misc/isight_firmware.c
+++ b/drivers/usb/misc/isight_firmware.c
-@@ -45,7 +45,6 @@ static int isight_firmware_load(struct usb_interface *intf,
+@@ -45,7 +45,6 @@ static int isight_firmware_load(struct u
return -ENOMEM;
if (request_firmware(&firmware, "isight.fw", &dev->dev) != 0) {
@@ -2523,11 +2257,9 @@ index 4d30095d6ad2..e217999b1923 100644
ret = -ENODEV;
goto out;
}
-diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c
-index 4cca0b836f43..81a96791f74e 100644
--- a/drivers/usb/serial/io_edgeport.c
+++ b/drivers/usb/serial/io_edgeport.c
-@@ -375,11 +375,8 @@ static void update_edgeport_E2PROM(struct edgeport_serial *edge_serial)
+@@ -375,11 +375,8 @@ static void update_edgeport_E2PROM(struc
response = request_ihex_firmware(&fw, fw_name,
&edge_serial->serial->dev->dev);
@@ -2540,11 +2272,9 @@ index 4cca0b836f43..81a96791f74e 100644
rec = (const struct ihex_binrec *)fw->data;
BootMajorVersion = rec->data[0];
-diff --git a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c
-index c327d4cf7928..ac3c2ae52f7b 100644
--- a/drivers/usb/serial/io_ti.c
+++ b/drivers/usb/serial/io_ti.c
-@@ -1010,8 +1010,6 @@ static int download_fw(struct edgeport_serial *serial)
+@@ -1010,8 +1010,6 @@ static int download_fw(struct edgeport_s
status = request_firmware(&fw, fw_name, dev);
if (status) {
@@ -2553,11 +2283,9 @@ index c327d4cf7928..ac3c2ae52f7b 100644
return status;
}
-diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
-index 73075b9351c5..aecf9c21cd0f 100644
--- a/drivers/usb/serial/ti_usb_3410_5052.c
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
-@@ -1663,10 +1663,8 @@ static int ti_download_firmware(struct ti_device *tdev)
+@@ -1663,10 +1663,8 @@ static int ti_download_firmware(struct t
}
check_firmware:
@@ -2569,11 +2297,9 @@ index 73075b9351c5..aecf9c21cd0f 100644
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);
-diff --git a/drivers/video/fbdev/broadsheetfb.c b/drivers/video/fbdev/broadsheetfb.c
-index fd66f4d4a621..ef5a29f865b5 100644
--- a/drivers/video/fbdev/broadsheetfb.c
+++ b/drivers/video/fbdev/broadsheetfb.c
-@@ -743,10 +743,8 @@ static ssize_t broadsheet_loadstore_waveform(struct device *dev,
+@@ -743,10 +743,8 @@ static ssize_t broadsheet_loadstore_wave
return -EINVAL;
err = request_firmware(&fw_entry, "broadsheet.wbf", dev);
@@ -2585,11 +2311,9 @@ index fd66f4d4a621..ef5a29f865b5 100644
/* try to enforce reasonable min max on waveform */
if ((fw_entry->size < 8*1024) || (fw_entry->size > 64*1024)) {
-diff --git a/drivers/video/fbdev/metronomefb.c b/drivers/video/fbdev/metronomefb.c
-index a42e2eceee48..13bf75b4dd02 100644
--- a/drivers/video/fbdev/metronomefb.c
+++ b/drivers/video/fbdev/metronomefb.c
-@@ -679,10 +679,8 @@ static int metronomefb_probe(struct platform_device *dev)
+@@ -679,10 +679,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);
@@ -2601,11 +2325,9 @@ index a42e2eceee48..13bf75b4dd02 100644
retval = load_waveform((u8 *) fw_entry->data, fw_entry->size, 3, 31,
par);
-diff --git a/sound/drivers/vx/vx_hwdep.c b/sound/drivers/vx/vx_hwdep.c
-index 01baa6d872e9..0f01e78c0d9c 100644
--- 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 *chip)
+@@ -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]);
@@ -2617,11 +2339,9 @@ index 01baa6d872e9..0f01e78c0d9c 100644
err = chip->ops->load_dsp(chip, i, fw);
if (err < 0) {
release_firmware(fw);
-diff --git a/sound/isa/msnd/msnd_pinnacle.c b/sound/isa/msnd/msnd_pinnacle.c
-index 24b34ecf5e5b..8bb05d10ae70 100644
--- 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_card *card)
+@@ -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);
@@ -2639,11 +2359,9 @@ index 24b34ecf5e5b..8bb05d10ae70 100644
memcpy_toio(chip->mappedbase, perm_fw->data, perm_fw->size);
if (snd_msnd_upload_host(chip, init_fw->data, init_fw->size) < 0) {
-diff --git a/sound/isa/sscape.c b/sound/isa/sscape.c
-index 5363d88cc4b9..209e645be532 100644
--- a/sound/isa/sscape.c
+++ b/sound/isa/sscape.c
-@@ -531,10 +531,8 @@ static int sscape_upload_bootblock(struct snd_card *card)
+@@ -531,10 +531,8 @@ static int sscape_upload_bootblock(struc
int ret;
ret = request_firmware(&init_fw, "scope.cod", card->dev);
@@ -2655,7 +2373,7 @@ index 5363d88cc4b9..209e645be532 100644
ret = upload_dma_data(sscape, init_fw->data, init_fw->size);
release_firmware(init_fw);
-@@ -571,11 +569,8 @@ static int sscape_upload_microcode(struct snd_card *card, int version)
+@@ -571,11 +569,8 @@ static int sscape_upload_microcode(struc
snprintf(name, sizeof(name), "sndscape.co%d", version);
err = request_firmware(&init_fw, name, card->dev);
@@ -2668,11 +2386,9 @@ index 5363d88cc4b9..209e645be532 100644
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",
-diff --git a/sound/isa/wavefront/wavefront_synth.c b/sound/isa/wavefront/wavefront_synth.c
-index d6420d224d09..824c8570cee8 100644
--- a/sound/isa/wavefront/wavefront_synth.c
+++ b/sound/isa/wavefront/wavefront_synth.c
-@@ -1959,10 +1959,8 @@ wavefront_download_firmware (snd_wavefront_t *dev, char *path)
+@@ -1959,10 +1959,8 @@ wavefront_download_firmware (snd_wavefro
const struct firmware *firmware;
err = request_firmware(&firmware, path, dev->card->dev);
@@ -2684,11 +2400,9 @@ index d6420d224d09..824c8570cee8 100644
len = 0;
buf = firmware->data;
-diff --git a/sound/pci/asihpi/hpidspcd.c b/sound/pci/asihpi/hpidspcd.c
-index 9acc0ac75eca..7c1ebc8ec8ec 100644
--- a/sound/pci/asihpi/hpidspcd.c
+++ b/sound/pci/asihpi/hpidspcd.c
-@@ -35,8 +35,6 @@ short hpi_dsp_code_open(u32 adapter, void *os_data, struct dsp_code *dsp_code,
+@@ -35,8 +35,6 @@ short hpi_dsp_code_open(u32 adapter, voi
err = request_firmware(&firmware, fw_name, &dev->dev);
if (err || !firmware) {
@@ -2697,11 +2411,9 @@ index 9acc0ac75eca..7c1ebc8ec8ec 100644
goto error1;
}
if (firmware->size < sizeof(header)) {
-diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c
-index a080d63a9b45..c4ab9e51c0ee 100644
--- a/sound/pci/cs46xx/cs46xx_lib.c
+++ b/sound/pci/cs46xx/cs46xx_lib.c
-@@ -3235,11 +3235,8 @@ int snd_cs46xx_start_dsp(struct snd_cs46xx *chip)
+@@ -3235,11 +3235,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]);
@@ -2714,11 +2426,9 @@ index a080d63a9b45..c4ab9e51c0ee 100644
err = cs46xx_dsp_load_module(chip, chip->modules[i]);
if (err < 0) {
dev_err(chip->card->dev, "image download error [%s]\n",
-diff --git a/sound/pci/echoaudio/echoaudio.c b/sound/pci/echoaudio/echoaudio.c
-index 0941a7a17623..bdb8b7a0b637 100644
--- a/sound/pci/echoaudio/echoaudio.c
+++ b/sound/pci/echoaudio/echoaudio.c
-@@ -48,11 +48,8 @@ static int get_firmware(const struct firmware **fw_entry,
+@@ -49,11 +49,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);
@@ -2731,11 +2441,9 @@ index 0941a7a17623..bdb8b7a0b637 100644
chip->fw_cache[fw_index] = *fw_entry;
#endif
return err;
-diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c
-index 6ff581733a19..2cac43270e0c 100644
--- a/sound/pci/emu10k1/emu10k1_main.c
+++ b/sound/pci/emu10k1/emu10k1_main.c
-@@ -873,10 +873,8 @@ static int snd_emu10k1_emu1010_init(struct snd_emu10k1 *emu)
+@@ -873,10 +873,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);
@@ -2747,11 +2455,9 @@ index 6ff581733a19..2cac43270e0c 100644
/* ID, should read & 0x7f = 0x55 when FPGA programmed. */
snd_emu1010_fpga_read(emu, EMU_HANA_ID, &reg);
-diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
-index 3565e2ab0965..4a630892560d 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
-@@ -2037,8 +2037,6 @@ static void azx_firmware_cb(const struct firmware *fw, void *context)
+@@ -2046,8 +2046,6 @@ static void azx_firmware_cb(const struct
if (fw)
chip->fw = fw;
@@ -2760,11 +2466,9 @@ index 3565e2ab0965..4a630892560d 100644
if (!chip->disabled) {
/* continue probing */
azx_probe_continue(chip);
-diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c
-index 65a887b217ee..d0c664166e5b 100644
--- a/sound/pci/korg1212/korg1212.c
+++ b/sound/pci/korg1212/korg1212.c
-@@ -2333,7 +2333,6 @@ static int snd_korg1212_create(struct snd_card *card, struct pci_dev *pci,
+@@ -2335,7 +2335,6 @@ static int snd_korg1212_create(struct sn
err = request_firmware(&dsp_code, "korg/k1212.dsp", &pci->dev);
if (err < 0) {
@@ -2772,11 +2476,9 @@ index 65a887b217ee..d0c664166e5b 100644
snd_korg1212_free(korg1212);
return err;
}
-diff --git a/sound/pci/mixart/mixart_hwdep.c b/sound/pci/mixart/mixart_hwdep.c
-index 13dcb2fd0a85..1f77e42fba16 100644
--- a/sound/pci/mixart/mixart_hwdep.c
+++ b/sound/pci/mixart/mixart_hwdep.c
-@@ -558,11 +558,8 @@ int snd_mixart_setup_firmware(struct mixart_mgr *mgr)
+@@ -558,11 +558,8 @@ int snd_mixart_setup_firmware(struct mix
for (i = 0; i < 3; i++) {
sprintf(path, "mixart/%s", fw_files[i]);
@@ -2789,11 +2491,9 @@ index 13dcb2fd0a85..1f77e42fba16 100644
/* fake hwdep dsp record */
err = mixart_dsp_load(mgr, i, fw_entry);
release_firmware(fw_entry);
-diff --git a/sound/pci/pcxhr/pcxhr_hwdep.c b/sound/pci/pcxhr/pcxhr_hwdep.c
-index 2258bd698844..9df5c4b2cc21 100644
--- a/sound/pci/pcxhr/pcxhr_hwdep.c
+++ b/sound/pci/pcxhr/pcxhr_hwdep.c
-@@ -372,12 +372,8 @@ int pcxhr_setup_firmware(struct pcxhr_mgr *mgr)
+@@ -372,12 +372,8 @@ int pcxhr_setup_firmware(struct pcxhr_mg
if (!fw_files[fw_set][i])
continue;
sprintf(path, "pcxhr/%s", fw_files[fw_set][i]);
@@ -2807,11 +2507,9 @@ index 2258bd698844..9df5c4b2cc21 100644
/* fake hwdep dsp record */
err = pcxhr_dsp_load(mgr, i, fw_entry);
release_firmware(fw_entry);
-diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c
-index b4f300281822..21edef8027c4 100644
--- a/sound/pci/riptide/riptide.c
+++ b/sound/pci/riptide/riptide.c
-@@ -1216,11 +1216,8 @@ static int try_to_load_firmware(struct cmdif *cif, struct snd_riptide *chip)
+@@ -1216,11 +1216,8 @@ static int try_to_load_firmware(struct c
if (!chip->fw_entry) {
err = request_firmware(&chip->fw_entry, "riptide.hex",
&chip->pci->dev);
@@ -2824,11 +2522,9 @@ index b4f300281822..21edef8027c4 100644
}
err = loadfirmware(cif, chip->fw_entry->data, chip->fw_entry->size);
if (err) {
-diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c
-index 227aece17e39..06003bae69ad 100644
--- a/sound/pci/rme9652/hdsp.c
+++ b/sound/pci/rme9652/hdsp.c
-@@ -5112,11 +5112,8 @@ static int hdsp_request_fw_loader(struct hdsp *hdsp)
+@@ -5112,11 +5112,8 @@ static int hdsp_request_fw_loader(struct
return -EINVAL;
}
@@ -2841,11 +2537,9 @@ index 227aece17e39..06003bae69ad 100644
if (fw->size < HDSP_FIRMWARE_SIZE) {
dev_err(hdsp->card->dev,
"too short firmware size %d (expected %d)\n",
-diff --git a/sound/soc/codecs/wm2000.c b/sound/soc/codecs/wm2000.c
-index 72e165cc6443..d73cc2abdb9a 100644
--- a/sound/soc/codecs/wm2000.c
+++ b/sound/soc/codecs/wm2000.c
-@@ -894,10 +894,8 @@ static int wm2000_i2c_probe(struct i2c_client *i2c,
+@@ -894,10 +894,8 @@ static int wm2000_i2c_probe(struct i2c_c
}
ret = request_firmware(&fw, filename, &i2c->dev);
@@ -2857,8 +2551,6 @@ index 72e165cc6443..d73cc2abdb9a 100644
/* Pre-cook the concatenation of the register address onto the image */
wm2000->anc_download_size = fw->size + 2;
-diff --git a/sound/usb/6fire/firmware.c b/sound/usb/6fire/firmware.c
-index 69137c14d0dc..f410bd6f839d 100644
--- a/sound/usb/6fire/firmware.c
+++ b/sound/usb/6fire/firmware.c
@@ -215,8 +215,6 @@ static int usb6fire_fw_ezusb_upload(
@@ -2879,6 +2571,3 @@ index 69137c14d0dc..f410bd6f839d 100644
kfree(buffer);
return -EIO;
}
---
-2.27.0
-
diff --git a/debian/patches/bugfix/all/iwlwifi-yoyo-don-t-print-failure-if-debug-firmware-i.patch b/debian/patches/bugfix/all/iwlwifi-yoyo-don-t-print-failure-if-debug-firmware-i.patch
deleted file mode 100644
index 0fb0a66f80b6..000000000000
--- a/debian/patches/bugfix/all/iwlwifi-yoyo-don-t-print-failure-if-debug-firmware-i.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From: Wolfram Sang <wsa@kernel.org>
-Date: Thu, 25 Jun 2020 18:52:10 +0200
-Subject: iwlwifi: yoyo: don't print failure if debug firmware is missing
-Origin: https://git.kernel.org/linus/3f4600de8c93917594a8b3c9ca713160ee4d563c
-Bug-Debian: https://bugs.debian.org/966218
-
-Missing this firmware is not fatal, my wifi card still works. Even more,
-I couldn't find any documentation what it is or where to get it. So, I
-don't think the users should be notified if it is missing. If you browse
-the net, you see the message is present is in quite some logs. Better
-remove it.
-
-Signed-off-by: Wolfram Sang <wsa@kernel.org>
-Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-Link: https://lore.kernel.org/r/20200625165210.14904-1-wsa@kernel.org
----
- drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
-index 7987a288917b..f180db2936e3 100644
---- a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
-+++ b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
-@@ -468,7 +468,7 @@ void iwl_dbg_tlv_load_bin(struct device *dev, struct iwl_trans *trans)
- if (!iwlwifi_mod_params.enable_ini)
- return;
-
-- res = request_firmware(&fw, "iwl-debug-yoyo.bin", dev);
-+ res = firmware_request_nowarn(&fw, "iwl-debug-yoyo.bin", dev);
- if (res)
- return;
-
---
-2.28.0
-
diff --git a/debian/patches/bugfix/all/net-packet-fix-overflow-in-tpacket_rcv.patch b/debian/patches/bugfix/all/net-packet-fix-overflow-in-tpacket_rcv.patch
deleted file mode 100644
index d7b45e77364f..000000000000
--- a/debian/patches/bugfix/all/net-packet-fix-overflow-in-tpacket_rcv.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From: Or Cohen <orcohen@paloaltonetworks.com>
-Date: Thu, 3 Sep 2020 21:05:28 -0700
-Subject: net/packet: fix overflow in tpacket_rcv
-Origin: https://git.kernel.org/linus/acf69c946233259ab4d64f8869d4037a198c7f06
-Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2020-14386
-
-Using tp_reserve to calculate netoff can overflow as
-tp_reserve is unsigned int and netoff is unsigned short.
-
-This may lead to macoff receving a smaller value then
-sizeof(struct virtio_net_hdr), and if po->has_vnet_hdr
-is set, an out-of-bounds write will occur when
-calling virtio_net_hdr_from_skb.
-
-The bug is fixed by converting netoff to unsigned int
-and checking if it exceeds USHRT_MAX.
-
-This addresses CVE-2020-14386
-
-Fixes: 8913336a7e8d ("packet: add PACKET_RESERVE sockopt")
-Signed-off-by: Or Cohen <orcohen@paloaltonetworks.com>
-Signed-off-by: Eric Dumazet <edumazet@google.com>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
----
- net/packet/af_packet.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
-index da8254e680f9..2b33e977a905 100644
---- a/net/packet/af_packet.c
-+++ b/net/packet/af_packet.c
-@@ -2170,7 +2170,8 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev,
- int skb_len = skb->len;
- unsigned int snaplen, res;
- unsigned long status = TP_STATUS_USER;
-- unsigned short macoff, netoff, hdrlen;
-+ unsigned short macoff, hdrlen;
-+ unsigned int netoff;
- struct sk_buff *copy_skb = NULL;
- struct timespec64 ts;
- __u32 ts_status;
-@@ -2239,6 +2240,10 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev,
- }
- macoff = netoff - maclen;
- }
-+ if (netoff > USHRT_MAX) {
-+ atomic_inc(&po->tp_drops);
-+ goto drop_n_restore;
-+ }
- if (po->tp_version <= TPACKET_V2) {
- if (macoff + snaplen > po->rx_ring.frame_size) {
- if (po->copy_thresh &&
---
-2.28.0
-
diff --git a/debian/patches/bugfix/all/usbip-tools-fix-build-error-for-multiple-definition.patch b/debian/patches/bugfix/all/usbip-tools-fix-build-error-for-multiple-definition.patch
deleted file mode 100644
index af8544f6c677..000000000000
--- a/debian/patches/bugfix/all/usbip-tools-fix-build-error-for-multiple-definition.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From: Antonio Borneo <borneo.antonio@gmail.com>
-Date: Thu, 18 Jun 2020 02:08:44 +0200
-Subject: usbip: tools: fix build error for multiple definition
-Origin: https://lore.kernel.org/lkml/20200618000844.1048309-1-borneo.antonio@gmail.com/
-
-With GCC 10, building usbip triggers error for multiple definition
-of 'udev_context', in:
-- libsrc/vhci_driver.c:18 and
-- libsrc/usbip_host_common.c:27.
-
-Declare as extern the definition in libsrc/usbip_host_common.c.
-
-Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
----
- tools/usb/usbip/libsrc/usbip_host_common.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/usb/usbip/libsrc/usbip_host_common.c b/tools/usb/usbip/libsrc/usbip_host_common.c
-index d1d8ba2a4a40..ca78aa368476 100644
---- a/tools/usb/usbip/libsrc/usbip_host_common.c
-+++ b/tools/usb/usbip/libsrc/usbip_host_common.c
-@@ -23,7 +23,7 @@
- #include "list.h"
- #include "sysfs_utils.h"
-
--struct udev *udev_context;
-+extern struct udev *udev_context;
-
- static int32_t read_attr_usbip_status(struct usbip_usb_device *udev)
- {
---
-2.28.0.rc1
-
diff --git a/debian/patches/bugfix/sh/sh-boot-do-not-use-hyphen-in-exported-variable-name.patch b/debian/patches/bugfix/sh/sh-boot-do-not-use-hyphen-in-exported-variable-name.patch
index a3c69f88f478..25e5b1044298 100644
--- a/debian/patches/bugfix/sh/sh-boot-do-not-use-hyphen-in-exported-variable-name.patch
+++ b/debian/patches/bugfix/sh/sh-boot-do-not-use-hyphen-in-exported-variable-name.patch
@@ -23,11 +23,9 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/sh/boot/romimage/Makefile | 4 ++--
4 files changed, 18 insertions(+), 18 deletions(-)
-diff --git a/arch/sh/Makefile b/arch/sh/Makefile
-index 974bbd9dcfcf..bb952611af6a 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
-@@ -106,16 +106,16 @@ UTS_MACHINE := sh
+@@ -102,16 +102,16 @@ UTS_MACHINE := sh
LDFLAGS_vmlinux += -e _stext
ifdef CONFIG_CPU_LITTLE_ENDIAN
@@ -49,8 +47,6 @@ index 974bbd9dcfcf..bb952611af6a 100644
head-y := arch/sh/kernel/head_32.o
-diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile
-index 58592dfa5cb6..296b25474395 100644
--- a/arch/sh/boot/Makefile
+++ b/arch/sh/boot/Makefile
@@ -19,12 +19,12 @@ CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000
@@ -72,7 +68,7 @@ index 58592dfa5cb6..296b25474395 100644
targets := zImage vmlinux.srec romImage uImage uImage.srec uImage.gz \
uImage.bz2 uImage.lzma uImage.xz uImage.lzo uImage.bin
-@@ -106,10 +106,10 @@ OBJCOPYFLAGS_uImage.srec := -I binary -O srec
+@@ -106,10 +106,10 @@ OBJCOPYFLAGS_uImage.srec := -I binary -O
$(obj)/uImage.srec: $(obj)/uImage
$(call if_changed,objcopy)
@@ -85,20 +81,18 @@ index 58592dfa5cb6..296b25474395 100644
CONFIG_PHYSICAL_START CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET \
- KERNEL_MEMORY suffix-y
+ KERNEL_MEMORY suffix_y
-diff --git a/arch/sh/boot/compressed/Makefile b/arch/sh/boot/compressed/Makefile
-index ad0e2403e56f..c711416699bd 100644
--- a/arch/sh/boot/compressed/Makefile
+++ b/arch/sh/boot/compressed/Makefile
-@@ -33,7 +33,7 @@ ORIG_CFLAGS := $(KBUILD_CFLAGS)
- KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
- endif
+@@ -30,7 +30,7 @@ endif
+
+ ccflags-remove-$(CONFIG_MCOUNT) += -pg
-LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(IMAGE_OFFSET) -e startup \
+LDFLAGS_vmlinux := --oformat $(ld_bfd) -Ttext $(IMAGE_OFFSET) -e startup \
-T $(obj)/../../kernel/vmlinux.lds
#
-@@ -71,7 +71,7 @@ $(obj)/vmlinux.bin.lzo: $(vmlinux.bin.all-y) FORCE
+@@ -68,7 +68,7 @@ $(obj)/vmlinux.bin.lzo: $(vmlinux.bin.al
OBJCOPYFLAGS += -R .empty_zero_page
@@ -108,11 +102,9 @@ index ad0e2403e56f..c711416699bd 100644
-$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix-y) FORCE
+$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.$(suffix_y) FORCE
$(call if_changed,ld)
-diff --git a/arch/sh/boot/romimage/Makefile b/arch/sh/boot/romimage/Makefile
-index c7c8be58400c..17b03df0a8de 100644
--- a/arch/sh/boot/romimage/Makefile
+++ b/arch/sh/boot/romimage/Makefile
-@@ -13,7 +13,7 @@ mmcif-obj-$(CONFIG_CPU_SUBTYPE_SH7724) := $(obj)/mmcif-sh7724.o
+@@ -13,7 +13,7 @@ mmcif-obj-$(CONFIG_CPU_SUBTYPE_SH7724) :
load-$(CONFIG_ROMIMAGE_MMCIF) := $(mmcif-load-y)
obj-$(CONFIG_ROMIMAGE_MMCIF) := $(mmcif-obj-y)
@@ -130,6 +122,3 @@ index c7c8be58400c..17b03df0a8de 100644
$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/zeropage.bin arch/sh/boot/zImage FORCE
$(call if_changed,ld)
---
-2.27.0
-
diff --git a/debian/patches/bugfix/sh/sh-implement-__get_user_u64.patch b/debian/patches/bugfix/sh/sh-implement-__get_user_u64.patch
deleted file mode 100644
index 0af66991f9fb..000000000000
--- a/debian/patches/bugfix/sh/sh-implement-__get_user_u64.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From c3e23bbfbaebff42df99e11f6f9041ed316be809 Mon Sep 17 00:00:00 2001
-From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
-Date: Thu, 11 Jun 2020 09:52:15 +0200
-Subject: [PATCH] sh: Implement __get_user_u64() required for 64-bit get_user()
-
-Trying to build the kernel with CONFIG_INFINIBAND_USER_ACCESS enabled fails
-
- ERROR: "__get_user_unknown" [drivers/infiniband/core/ib_uverbs.ko] undefined!
-
-with on SH since the kernel misses a 64-bit implementation of get_user().
-
-Implement the missing 64-bit get_user() as __get_user_u64(), matching the
-already existing __put_user_u64() which implements the 64-bit put_user().
----
- arch/sh/include/asm/uaccess_32.h | 53 ++++++++++++++++++++++++++++++++
- 1 file changed, 53 insertions(+)
-
-diff --git a/arch/sh/include/asm/uaccess_32.h b/arch/sh/include/asm/uaccess_32.h
-index 624cf55acc27..5d7ddc092afd 100644
---- a/arch/sh/include/asm/uaccess_32.h
-+++ b/arch/sh/include/asm/uaccess_32.h
-@@ -26,6 +26,9 @@ do { \
- case 4: \
- __get_user_asm(x, ptr, retval, "l"); \
- break; \
-+ case 8: \
-+ __get_user_u64(x, ptr, retval); \
-+ break; \
- default: \
- __get_user_unknown(); \
- break; \
-@@ -66,6 +69,56 @@ do { \
-
- extern void __get_user_unknown(void);
-
-+#if defined(CONFIG_CPU_LITTLE_ENDIAN)
-+#define __get_user_u64(x, addr, err) \
-+({ \
-+__asm__ __volatile__( \
-+ "1:\n\t" \
-+ "mov.l %2,%R1\n\t" \
-+ "mov.l %T2,%S1\n\t" \
-+ "2:\n" \
-+ ".section .fixup,\"ax\"\n" \
-+ "3:\n\t" \
-+ "mov #0,%R1\n\t" \
-+ "mov #0,%S1\n\t" \
-+ "mov.l 4f, %0\n\t" \
-+ "jmp @%0\n\t" \
-+ " mov %3, %0\n\t" \
-+ ".balign 4\n" \
-+ "4: .long 2b\n\t" \
-+ ".previous\n" \
-+ ".section __ex_table,\"a\"\n\t" \
-+ ".long 1b, 3b\n\t" \
-+ ".long 1b + 2, 3b\n\t" \
-+ ".previous" \
-+ :"=&r" (err), "=&r" (x) \
-+ :"m" (__m(addr)), "i" (-EFAULT), "0" (err)); })
-+#else
-+#define __get_user_u64(x, addr, err) \
-+({ \
-+__asm__ __volatile__( \
-+ "1:\n\t" \
-+ "mov.l %2,%S1\n\t" \
-+ "mov.l %T2,%R1\n\t" \
-+ "2:\n" \
-+ ".section .fixup,\"ax\"\n" \
-+ "3:\n\t" \
-+ "mov #0,%S1\n\t" \
-+ "mov #0,%R1\n\t" \
-+ "mov.l 4f, %0\n\t" \
-+ "jmp @%0\n\t" \
-+ " mov %3, %0\n\t" \
-+ ".balign 4\n" \
-+ "4: .long 2b\n\t" \
-+ ".previous\n" \
-+ ".section __ex_table,\"a\"\n\t" \
-+ ".long 1b, 3b\n\t" \
-+ ".long 1b + 2, 3b\n\t" \
-+ ".previous" \
-+ :"=&r" (err), "=&r" (x) \
-+ :"m" (__m(addr)), "i" (-EFAULT), "0" (err)); })
-+#endif
-+
- #define __put_user_size(x,ptr,size,retval) \
- do { \
- retval = 0; \
---
-2.27.0
-
diff --git a/debian/patches/debian/dfsg/drivers-net-appletalk-cops.patch b/debian/patches/debian/dfsg/drivers-net-appletalk-cops.patch
index c2c966b2e86a..e4c020be41f7 100644
--- a/debian/patches/debian/dfsg/drivers-net-appletalk-cops.patch
+++ b/debian/patches/debian/dfsg/drivers-net-appletalk-cops.patch
@@ -8,11 +8,9 @@ Forwarded: not-needed
drivers/net/appletalk/Makefile | 1 -
2 files changed, 27 deletions(-)
-diff --git a/drivers/net/appletalk/Kconfig b/drivers/net/appletalk/Kconfig
-index 09f94d4b14e2..14f8cf40f035 100644
--- a/drivers/net/appletalk/Kconfig
+++ b/drivers/net/appletalk/Kconfig
-@@ -50,32 +50,6 @@ config LTPC
+@@ -50,33 +50,6 @@ config LTPC
This driver is experimental, which means that it may not work.
See the file <file:Documentation/networking/ltpc.rst>.
@@ -25,7 +23,8 @@ index 09f94d4b14e2..14f8cf40f035 100644
- package. This driver is experimental, which means that it may not
- work. This driver will only work if you choose "AppleTalk DDP"
- networking support, above.
-- Please read the file <file:Documentation/networking/cops.rst>.
+- Please read the file
+- <file:Documentation/networking/device_drivers/appletalk/cops.rst>.
-
-config COPS_DAYNA
- bool "Dayna firmware support"
@@ -45,8 +44,6 @@ index 09f94d4b14e2..14f8cf40f035 100644
config IPDDP
tristate "Appletalk-IP driver support"
depends on DEV_APPLETALK && ATALK
-diff --git a/drivers/net/appletalk/Makefile b/drivers/net/appletalk/Makefile
-index 903da3303f41..7482020f7e77 100644
--- a/drivers/net/appletalk/Makefile
+++ b/drivers/net/appletalk/Makefile
@@ -4,5 +4,4 @@
@@ -55,6 +52,3 @@ index 903da3303f41..7482020f7e77 100644
obj-$(CONFIG_IPDDP) += ipddp.o
-obj-$(CONFIG_COPS) += cops.o
obj-$(CONFIG_LTPC) += ltpc.o
---
-2.27.0
-
diff --git a/debian/patches/debian/fanotify-taint-on-use-of-fanotify_access_permissions.patch b/debian/patches/debian/fanotify-taint-on-use-of-fanotify_access_permissions.patch
index d2d9d70f41dd..82cdda18eef5 100644
--- a/debian/patches/debian/fanotify-taint-on-use-of-fanotify_access_permissions.patch
+++ b/debian/patches/debian/fanotify-taint-on-use-of-fanotify_access_permissions.patch
@@ -12,9 +12,9 @@ actually used.
---
--- a/fs/notify/fanotify/fanotify_user.c
+++ b/fs/notify/fanotify/fanotify_user.c
-@@ -846,6 +846,14 @@ static int do_fanotify_mark(int fanotify
- if (mask & ~valid_mask)
- return -EINVAL;
+@@ -1170,6 +1170,14 @@ static int do_fanotify_mark(int fanotify
+ if (ignored)
+ mask &= ~FANOTIFY_EVENT_FLAGS;
+#ifdef CONFIG_FANOTIFY_ACCESS_PERMISSIONS
+ if (mask & FANOTIFY_PERM_EVENTS) {
diff --git a/debian/patches/debian/makefile-do-not-check-for-libelf-when-building-oot-module.patch b/debian/patches/debian/makefile-do-not-check-for-libelf-when-building-oot-module.patch
new file mode 100644
index 000000000000..f71c2e185246
--- /dev/null
+++ b/debian/patches/debian/makefile-do-not-check-for-libelf-when-building-oot-module.patch
@@ -0,0 +1,72 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Mon, 07 Sep 2020 03:38:04 +0100
+Subject: Makefile: Do not check for libelf when building OOT module
+
+When building out-of-tree modules, the necessary tools should have
+already been built. We therefore do not need libelf-dev to be
+installed.
+
+This effectively reverts commit 9f0c18aec620 "objtool: Fix
+CONFIG_STACK_VALIDATION=y warning for out-of-tree modules", and
+similarly moves the check introduced by commit 33a57ce0a54d "bpf:
+Compile resolve_btfids tool at kernel compilation start".
+---
+ Makefile | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -1071,26 +1071,6 @@ export mod_sign_cmd
+
+ HOST_LIBELF_LIBS = $(shell pkg-config libelf --libs 2>/dev/null || echo -lelf)
+
+-has_libelf = $(call try-run,\
+- echo "int main() {}" | $(HOSTCC) -xc -o /dev/null $(HOST_LIBELF_LIBS) -,1,0)
+-
+-ifdef CONFIG_STACK_VALIDATION
+- ifeq ($(has_libelf),1)
+- objtool_target := tools/objtool FORCE
+- else
+- SKIP_STACK_VALIDATION := 1
+- export SKIP_STACK_VALIDATION
+- endif
+-endif
+-
+-ifdef CONFIG_DEBUG_INFO_BTF
+- ifeq ($(has_libelf),1)
+- resolve_btfids_target := tools/bpf/resolve_btfids FORCE
+- else
+- ERROR_RESOLVE_BTFIDS := 1
+- endif
+-endif
+-
+ PHONY += prepare0
+
+ export MODORDER := $(extmod-prefix)modules.order
+@@ -1214,6 +1194,26 @@ uapi-asm-generic:
+ $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm \
+ generic=include/uapi/asm-generic
+
++has_libelf = $(call try-run,\
++ echo "int main() {}" | $(HOSTCC) -xc -o /dev/null $(HOST_LIBELF_LIBS) -,1,0)
++
++ifdef CONFIG_STACK_VALIDATION
++ ifeq ($(has_libelf),1)
++ objtool_target := tools/objtool FORCE
++ else
++ SKIP_STACK_VALIDATION := 1
++ export SKIP_STACK_VALIDATION
++ endif
++endif
++
++ifdef CONFIG_DEBUG_INFO_BTF
++ ifeq ($(has_libelf),1)
++ resolve_btfids_target := tools/bpf/resolve_btfids FORCE
++ else
++ ERROR_RESOLVE_BTFIDS := 1
++ endif
++endif
++
+ PHONY += prepare-objtool prepare-resolve_btfids
+ prepare-objtool: $(objtool_target)
+ ifeq ($(SKIP_STACK_VALIDATION),1)
diff --git a/debian/patches/debian/revert-objtool-fix-config_stack_validation-y-warning.patch b/debian/patches/debian/revert-objtool-fix-config_stack_validation-y-warning.patch
deleted file mode 100644
index 1693933529a8..000000000000
--- a/debian/patches/debian/revert-objtool-fix-config_stack_validation-y-warning.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From: Ben Hutchings <ben@decadent.org.uk>
-Date: Sun, 14 Jan 2018 19:27:18 +0000
-Subject: Revert "objtool: Fix CONFIG_STACK_VALIDATION=y warning for
- out-of-tree modules"
-
-This reverts commit 9f0c18aec620bc9d82268b3cb937568dd07b43ff. This
-check doesn't make sense for OOT modules as they should always use
-a pre-built objtool.
----
- Makefile | 22 +++++++++++-----------
- 1 file changed, 11 insertions(+), 11 deletions(-)
-
-Index: debian-kernel/Makefile
-===================================================================
---- debian-kernel.orig/Makefile
-+++ debian-kernel/Makefile
-@@ -993,17 +993,6 @@ export mod_sign_cmd
-
- HOST_LIBELF_LIBS = $(shell pkg-config libelf --libs 2>/dev/null || echo -lelf)
-
--ifdef CONFIG_STACK_VALIDATION
-- has_libelf := $(call try-run,\
-- echo "int main() {}" | $(HOSTCC) -xc -o /dev/null $(HOST_LIBELF_LIBS) -,1,0)
-- ifeq ($(has_libelf),1)
-- objtool_target := tools/objtool FORCE
-- else
-- SKIP_STACK_VALIDATION := 1
-- export SKIP_STACK_VALIDATION
-- endif
--endif
--
- PHONY += prepare0
-
- export MODORDER := $(extmod-prefix)modules.order
-@@ -1122,6 +1111,17 @@ uapi-asm-generic:
- $(Q)$(MAKE) $(asm-generic)=arch/$(SRCARCH)/include/generated/uapi/asm \
- generic=include/uapi/asm-generic
-
-+ifdef CONFIG_STACK_VALIDATION
-+ has_libelf := $(call try-run,\
-+ echo "int main() {}" | $(HOSTCC) -xc -o /dev/null $(HOST_LIBELF_LIBS) -,1,0)
-+ ifeq ($(has_libelf),1)
-+ objtool_target := tools/objtool FORCE
-+ else
-+ SKIP_STACK_VALIDATION := 1
-+ export SKIP_STACK_VALIDATION
-+ endif
-+endif
-+
- PHONY += prepare-objtool
- prepare-objtool: $(objtool_target)
- ifeq ($(SKIP_STACK_VALIDATION),1)
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 f8a163e39faa..1840fc4bdd44 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
@@ -13,9 +13,9 @@ corresponding to "on", "off", and "on,intgpu_off".
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
---- a/drivers/iommu/Kconfig
-+++ b/drivers/iommu/Kconfig
-@@ -221,14 +221,28 @@ config INTEL_IOMMU_SVM
+--- a/drivers/iommu/intel/Kconfig
++++ b/drivers/iommu/intel/Kconfig
+@@ -45,14 +45,28 @@ config INTEL_IOMMU_SVM
to access DMA resources through process address space by
means of a Process Address Space ID (PASID).
@@ -53,7 +53,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
bool "Workaround broken graphics drivers (going away soon)"
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
-@@ -368,11 +368,7 @@ static int intel_iommu_attach_device(str
+@@ -338,11 +338,7 @@ static int intel_iommu_attach_device(str
static phys_addr_t intel_iommu_iova_to_phys(struct iommu_domain *domain,
dma_addr_t iova);
@@ -66,7 +66,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
#ifdef CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON
int intel_iommu_sm = 1;
-@@ -384,7 +380,7 @@ int intel_iommu_enabled = 0;
+@@ -354,7 +350,7 @@ int intel_iommu_enabled = 0;
EXPORT_SYMBOL_GPL(intel_iommu_enabled);
static int dmar_map_gfx = 1;
@@ -75,7 +75,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
static int dmar_forcedac;
static int intel_iommu_strict;
static int intel_iommu_superpage = 1;
-@@ -464,6 +460,7 @@ static int __init intel_iommu_setup(char
+@@ -442,6 +438,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 aa223bd46dc0..1717d8fe2485 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
@@ -20,21 +20,17 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/iommu/intel/iommu.c | 14 ++++++++++++++
2 files changed, 16 insertions(+)
-diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
-index fb95fad81c79..d387ff772ae5 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
-@@ -1814,6 +1814,8 @@
+@@ -1837,6 +1837,8 @@
bypassed by not enabling DMAR with this option. In
this case, gfx device will use physical address for
DMA.
+ intgpu_off [Default Off]
+ Bypass the DMAR unit for an integrated GPU only.
- forcedac [x86_64]
+ forcedac [X86-64]
With this option iommu will not optimize to look
for io virtual address below 32-bit forcing dual
-diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
-index d759e7234e98..cf38b7c496b6 100644
--- a/drivers/iommu/intel/iommu.c
+++ b/drivers/iommu/intel/iommu.c
@@ -54,6 +54,9 @@
@@ -55,7 +51,7 @@ index d759e7234e98..cf38b7c496b6 100644
static int dmar_forcedac;
static int intel_iommu_strict;
static int intel_iommu_superpage = 1;
-@@ -359,6 +363,7 @@ static int intel_no_bounce;
+@@ -360,6 +364,7 @@ static int iommu_skip_te_disable;
#define IDENTMAP_GFX 2
#define IDENTMAP_AZALIA 4
@@ -63,7 +59,7 @@ index d759e7234e98..cf38b7c496b6 100644
int intel_iommu_gfx_mapped;
EXPORT_SYMBOL_GPL(intel_iommu_gfx_mapped);
-@@ -446,6 +451,9 @@ static int __init intel_iommu_setup(char *str)
+@@ -445,6 +450,9 @@ static int __init intel_iommu_setup(char
} else if (!strncmp(str, "igfx_off", 8)) {
dmar_map_gfx = 0;
pr_info("Disable GFX device mapping\n");
@@ -73,7 +69,7 @@ index d759e7234e98..cf38b7c496b6 100644
} else if (!strncmp(str, "forcedac", 8)) {
pr_info("Forcing DAC for PCI devices\n");
dmar_forcedac = 1;
-@@ -2838,6 +2846,9 @@ static int device_def_domain_type(struct device *dev)
+@@ -2890,6 +2898,9 @@ static int device_def_domain_type(struct
if ((iommu_identity_mapping & IDENTMAP_GFX) && IS_GFX_DEVICE(pdev))
return IOMMU_DOMAIN_IDENTITY;
@@ -83,7 +79,7 @@ index d759e7234e98..cf38b7c496b6 100644
}
return 0;
-@@ -3273,6 +3284,9 @@ static int __init init_dmars(void)
+@@ -3325,6 +3336,9 @@ static int __init init_dmars(void)
if (!dmar_map_gfx)
iommu_identity_mapping |= IDENTMAP_GFX;
@@ -93,6 +89,3 @@ index d759e7234e98..cf38b7c496b6 100644
check_tylersburg_isoch();
ret = si_domain_init(hw_pass_through);
---
-2.20.1
-
diff --git a/debian/patches/series b/debian/patches/series
index 38e9c8e8b317..8b05377db2d3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -34,9 +34,9 @@ debian/firmware_class-refer-to-debian-wiki-firmware-page.patch
# Patches from aufs5 repository, imported with debian/bin/genpatch-aufs.
# These are only the changes needed to allow aufs to be built out-of-tree.
-features/all/aufs5/aufs5-base.patch
-features/all/aufs5/aufs5-mmap.patch
-features/all/aufs5/aufs5-standalone.patch
+#features/all/aufs5/aufs5-base.patch
+#features/all/aufs5/aufs5-mmap.patch
+#features/all/aufs5/aufs5-standalone.patch
# Change some defaults for security reasons
debian/af_802154-Disable-auto-loading-as-mitigation-against.patch
@@ -69,7 +69,6 @@ bugfix/arm/arm-dts-kirkwood-fix-sata-pinmux-ing-for-ts419.patch
bugfix/arm64/dts-rockchip-correct-voltage-selector-firefly-RK3399.patch
bugfix/x86/perf-tools-fix-unwind-build-on-i386.patch
bugfix/sh/sh-boot-do-not-use-hyphen-in-exported-variable-name.patch
-bugfix/sh/sh-implement-__get_user_u64.patch
bugfix/arm/arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch
bugfix/powerpc/powerpc-boot-fix-missing-crc32poly.h-when-building-with-kernel_xz.patch
bugfix/arm64/arm64-acpi-Add-fixup-for-HPE-m400-quirks.patch
@@ -83,10 +82,8 @@ features/x86/x86-make-x32-syscall-support-conditional.patch
bugfix/all/disable-some-marvell-phys.patch
bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
bugfix/all/partially-revert-usb-kconfig-using-select-for-usb_co.patch
-debian/revert-objtool-fix-config_stack_validation-y-warning.patch
+debian/makefile-do-not-check-for-libelf-when-building-oot-module.patch
bugfix/all/partially-revert-net-socket-implement-64-bit-timestamps.patch
-bugfix/all/usbip-tools-fix-build-error-for-multiple-definition.patch
-bugfix/all/iwlwifi-yoyo-don-t-print-failure-if-debug-firmware-i.patch
# Miscellaneous features
@@ -109,7 +106,6 @@ features/all/db-mok-keyring/KEYS-Make-use-of-platform-keyring-for-module-signatu
# Security fixes
debian/i386-686-pae-pci-set-pci-nobios-by-default.patch
debian/ntfs-mark-it-as-broken.patch
-bugfix/all/net-packet-fix-overflow-in-tpacket_rcv.patch
# Fix exported symbol versions
bugfix/all/module-disable-matching-missing-version-crc.patch