Update to 3.14-rc5
Drop/refresh patches as necessary - 'DocBook: Make mandocs parallel-safe' finally went upstream - Firmware loading in cs46xx has been implemented upstream, including the 'new DSP' case svn path=/dists/trunk/linux/; revision=21123
This commit is contained in:
parent
67f1f011f3
commit
07e9b9f710
|
@ -1,3 +1,9 @@
|
||||||
|
linux (3.14~rc5-1~exp1) UNRELEASED; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release candidate
|
||||||
|
|
||||||
|
-- Ben Hutchings <ben@decadent.org.uk> Thu, 06 Mar 2014 01:04:33 +0000
|
||||||
|
|
||||||
linux (3.13.5-1) unstable; urgency=medium
|
linux (3.13.5-1) unstable; urgency=medium
|
||||||
|
|
||||||
* New upstream stable update:
|
* New upstream stable update:
|
||||||
|
|
|
@ -14,16 +14,16 @@ correctness.
|
||||||
|
|
||||||
--- a/drivers/net/phy/marvell.c
|
--- a/drivers/net/phy/marvell.c
|
||||||
+++ b/drivers/net/phy/marvell.c
|
+++ b/drivers/net/phy/marvell.c
|
||||||
@@ -963,6 +963,7 @@
|
@@ -975,6 +975,7 @@ static struct phy_driver marvell_drivers
|
||||||
.set_wol = &m88e1318_set_wol,
|
.suspend = &genphy_suspend,
|
||||||
.driver = { .owner = THIS_MODULE },
|
.driver = { .owner = THIS_MODULE },
|
||||||
},
|
},
|
||||||
+#if 0
|
+#if 0
|
||||||
{
|
{
|
||||||
.phy_id = MARVELL_PHY_ID_88E1145,
|
.phy_id = MARVELL_PHY_ID_88E1145,
|
||||||
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
||||||
@@ -976,6 +977,8 @@
|
@@ -990,6 +991,8 @@ static struct phy_driver marvell_drivers
|
||||||
.config_intr = &marvell_config_intr,
|
.suspend = &genphy_suspend,
|
||||||
.driver = { .owner = THIS_MODULE },
|
.driver = { .owner = THIS_MODULE },
|
||||||
},
|
},
|
||||||
+#endif
|
+#endif
|
||||||
|
@ -31,8 +31,8 @@ correctness.
|
||||||
{
|
{
|
||||||
.phy_id = MARVELL_PHY_ID_88E1149R,
|
.phy_id = MARVELL_PHY_ID_88E1149R,
|
||||||
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
||||||
@@ -989,6 +992,8 @@
|
@@ -1005,6 +1008,8 @@ static struct phy_driver marvell_drivers
|
||||||
.config_intr = &marvell_config_intr,
|
.suspend = &genphy_suspend,
|
||||||
.driver = { .owner = THIS_MODULE },
|
.driver = { .owner = THIS_MODULE },
|
||||||
},
|
},
|
||||||
+#endif
|
+#endif
|
||||||
|
@ -40,15 +40,15 @@ correctness.
|
||||||
{
|
{
|
||||||
.phy_id = MARVELL_PHY_ID_88E1240,
|
.phy_id = MARVELL_PHY_ID_88E1240,
|
||||||
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
||||||
@@ -1002,6 +1007,7 @@
|
@@ -1020,6 +1025,7 @@ static struct phy_driver marvell_drivers
|
||||||
.config_intr = &marvell_config_intr,
|
.suspend = &genphy_suspend,
|
||||||
.driver = { .owner = THIS_MODULE },
|
.driver = { .owner = THIS_MODULE },
|
||||||
},
|
},
|
||||||
+#endif
|
+#endif
|
||||||
{
|
{
|
||||||
.phy_id = MARVELL_PHY_ID_88E1116R,
|
.phy_id = MARVELL_PHY_ID_88E1116R,
|
||||||
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
.phy_id_mask = MARVELL_PHY_ID_MASK,
|
||||||
@@ -1051,9 +1057,9 @@
|
@@ -1073,9 +1079,9 @@ static struct mdio_device_id __maybe_unu
|
||||||
{ MARVELL_PHY_ID_88E1111, MARVELL_PHY_ID_MASK },
|
{ MARVELL_PHY_ID_88E1111, MARVELL_PHY_ID_MASK },
|
||||||
{ MARVELL_PHY_ID_88E1118, MARVELL_PHY_ID_MASK },
|
{ MARVELL_PHY_ID_88E1118, MARVELL_PHY_ID_MASK },
|
||||||
{ MARVELL_PHY_ID_88E1121R, MARVELL_PHY_ID_MASK },
|
{ MARVELL_PHY_ID_88E1121R, MARVELL_PHY_ID_MASK },
|
||||||
|
|
|
@ -51,15 +51,15 @@ upstream submission.
|
||||||
data = (u32 *) fw_entry->data;
|
data = (u32 *) fw_entry->data;
|
||||||
|
|
||||||
/* disable MPU */
|
/* disable MPU */
|
||||||
--- a/arch/x86/kernel/microcode_amd.c
|
--- a/arch/x86/kernel/cpu/microcode/amd.c
|
||||||
+++ b/arch/x86/kernel/microcode_amd.c
|
+++ b/arch/x86/kernel/cpu/microcode/amd.c
|
||||||
@@ -430,10 +430,8 @@ static enum ucode_state request_microcod
|
@@ -433,10 +433,8 @@ static enum ucode_state request_microcod
|
||||||
if (c->x86 >= 0x15)
|
if (c->x86 >= 0x15)
|
||||||
snprintf(fw_name, sizeof(fw_name), "amd-ucode/microcode_amd_fam%.2xh.bin", c->x86);
|
snprintf(fw_name, sizeof(fw_name), "amd-ucode/microcode_amd_fam%.2xh.bin", c->x86);
|
||||||
|
|
||||||
- if (request_firmware(&fw, (const char *)fw_name, device)) {
|
- if (request_firmware_direct(&fw, (const char *)fw_name, device)) {
|
||||||
- pr_debug("failed to load file %s\n", fw_name);
|
- pr_debug("failed to load file %s\n", fw_name);
|
||||||
+ if (request_firmware(&fw, (const char *)fw_name, device))
|
+ if (request_firmware_direct(&fw, (const char *)fw_name, device))
|
||||||
goto out;
|
goto out;
|
||||||
- }
|
- }
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ upstream submission.
|
||||||
fw_size = firmware->size / sizeof(u32);
|
fw_size = firmware->size / sizeof(u32);
|
||||||
--- a/drivers/bluetooth/ath3k.c
|
--- a/drivers/bluetooth/ath3k.c
|
||||||
+++ b/drivers/bluetooth/ath3k.c
|
+++ b/drivers/bluetooth/ath3k.c
|
||||||
@@ -359,10 +359,8 @@ static int ath3k_load_patch(struct usb_d
|
@@ -363,10 +363,8 @@ static int ath3k_load_patch(struct usb_d
|
||||||
fw_version.rom_version);
|
fw_version.rom_version);
|
||||||
|
|
||||||
ret = request_firmware(&firmware, filename, &udev->dev);
|
ret = request_firmware(&firmware, filename, &udev->dev);
|
||||||
|
@ -108,7 +108,7 @@ upstream submission.
|
||||||
|
|
||||||
pt_version.rom_version = *(int *)(firmware->data + firmware->size - 8);
|
pt_version.rom_version = *(int *)(firmware->data + firmware->size - 8);
|
||||||
pt_version.build_version = *(int *)
|
pt_version.build_version = *(int *)
|
||||||
@@ -421,10 +419,8 @@ static int ath3k_load_syscfg(struct usb_
|
@@ -425,10 +423,8 @@ static int ath3k_load_syscfg(struct usb_
|
||||||
fw_version.rom_version, clk_value, ".dfu");
|
fw_version.rom_version, clk_value, ".dfu");
|
||||||
|
|
||||||
ret = request_firmware(&firmware, filename, &udev->dev);
|
ret = request_firmware(&firmware, filename, &udev->dev);
|
||||||
|
@ -168,7 +168,7 @@ upstream submission.
|
||||||
|
|
||||||
--- a/drivers/bluetooth/btmrvl_sdio.c
|
--- a/drivers/bluetooth/btmrvl_sdio.c
|
||||||
+++ b/drivers/bluetooth/btmrvl_sdio.c
|
+++ b/drivers/bluetooth/btmrvl_sdio.c
|
||||||
@@ -291,8 +291,6 @@ static int btmrvl_sdio_download_helper(s
|
@@ -288,8 +288,6 @@ static int btmrvl_sdio_download_helper(s
|
||||||
ret = request_firmware(&fw_helper, card->helper,
|
ret = request_firmware(&fw_helper, card->helper,
|
||||||
&card->func->dev);
|
&card->func->dev);
|
||||||
if ((ret < 0) || !fw_helper) {
|
if ((ret < 0) || !fw_helper) {
|
||||||
|
@ -177,7 +177,7 @@ upstream submission.
|
||||||
ret = -ENOENT;
|
ret = -ENOENT;
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
@@ -391,8 +389,6 @@ static int btmrvl_sdio_download_fw_w_hel
|
@@ -388,8 +386,6 @@ static int btmrvl_sdio_download_fw_w_hel
|
||||||
ret = request_firmware(&fw_firmware, card->firmware,
|
ret = request_firmware(&fw_firmware, card->firmware,
|
||||||
&card->func->dev);
|
&card->func->dev);
|
||||||
if ((ret < 0) || !fw_firmware) {
|
if ((ret < 0) || !fw_firmware) {
|
||||||
|
@ -203,7 +203,7 @@ upstream submission.
|
||||||
fw->size, fw_name);
|
fw->size, fw_name);
|
||||||
--- a/drivers/dma/imx-sdma.c
|
--- a/drivers/dma/imx-sdma.c
|
||||||
+++ b/drivers/dma/imx-sdma.c
|
+++ b/drivers/dma/imx-sdma.c
|
||||||
@@ -1258,10 +1258,8 @@ static void sdma_load_firmware(const str
|
@@ -1269,10 +1269,8 @@ static void sdma_load_firmware(const str
|
||||||
const struct sdma_script_start_addrs *addr;
|
const struct sdma_script_start_addrs *addr;
|
||||||
unsigned short *ram_code;
|
unsigned short *ram_code;
|
||||||
|
|
||||||
|
@ -232,7 +232,7 @@ upstream submission.
|
||||||
where = 0;
|
where = 0;
|
||||||
--- a/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
|
--- a/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
|
||||||
+++ b/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
|
+++ b/drivers/gpu/drm/nouveau/core/engine/graph/nvc0.c
|
||||||
@@ -1092,10 +1092,8 @@ nvc0_graph_ctor_fw(struct nvc0_graph_pri
|
@@ -1095,10 +1095,8 @@ nvc0_graph_ctor_fw(struct nvc0_graph_pri
|
||||||
if (ret) {
|
if (ret) {
|
||||||
snprintf(f, sizeof(f), "nouveau/%s", fwname);
|
snprintf(f, sizeof(f), "nouveau/%s", fwname);
|
||||||
ret = request_firmware(&fw, f, &device->pdev->dev);
|
ret = request_firmware(&fw, f, &device->pdev->dev);
|
||||||
|
@ -261,7 +261,7 @@ upstream submission.
|
||||||
printk(KERN_ERR
|
printk(KERN_ERR
|
||||||
--- a/drivers/gpu/drm/radeon/ni.c
|
--- a/drivers/gpu/drm/radeon/ni.c
|
||||||
+++ b/drivers/gpu/drm/radeon/ni.c
|
+++ b/drivers/gpu/drm/radeon/ni.c
|
||||||
@@ -810,10 +810,6 @@ int ni_init_microcode(struct radeon_devi
|
@@ -811,10 +811,6 @@ int ni_init_microcode(struct radeon_devi
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (err) {
|
if (err) {
|
||||||
|
@ -288,7 +288,7 @@ upstream submission.
|
||||||
rdev->me_fw->size, fw_name);
|
rdev->me_fw->size, fw_name);
|
||||||
--- a/drivers/gpu/drm/radeon/r600.c
|
--- a/drivers/gpu/drm/radeon/r600.c
|
||||||
+++ b/drivers/gpu/drm/radeon/r600.c
|
+++ b/drivers/gpu/drm/radeon/r600.c
|
||||||
@@ -2366,10 +2366,6 @@ int r600_init_microcode(struct radeon_de
|
@@ -2436,10 +2436,6 @@ int r600_init_microcode(struct radeon_de
|
||||||
|
|
||||||
out:
|
out:
|
||||||
if (err) {
|
if (err) {
|
||||||
|
@ -342,7 +342,7 @@ upstream submission.
|
||||||
ret = qib_ibsd_ucode_loaded(dd->pport, fw);
|
ret = qib_ibsd_ucode_loaded(dd->pport, fw);
|
||||||
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
|
--- a/drivers/input/touchscreen/atmel_mxt_ts.c
|
||||||
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
|
+++ b/drivers/input/touchscreen/atmel_mxt_ts.c
|
||||||
@@ -986,10 +986,8 @@ static int mxt_load_fw(struct device *de
|
@@ -985,10 +985,8 @@ static int mxt_load_fw(struct device *de
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = request_firmware(&fw, fn, dev);
|
ret = request_firmware(&fw, fn, dev);
|
||||||
|
@ -371,7 +371,7 @@ upstream submission.
|
||||||
card->name, firmware->size);
|
card->name, firmware->size);
|
||||||
--- a/drivers/media/tuners/tuner-xc2028.c
|
--- a/drivers/media/tuners/tuner-xc2028.c
|
||||||
+++ b/drivers/media/tuners/tuner-xc2028.c
|
+++ b/drivers/media/tuners/tuner-xc2028.c
|
||||||
@@ -1355,7 +1355,6 @@ static void load_firmware_cb(const struc
|
@@ -1369,7 +1369,6 @@ static void load_firmware_cb(const struc
|
||||||
|
|
||||||
tuner_dbg("request_firmware_nowait(): %s\n", fw ? "OK" : "error");
|
tuner_dbg("request_firmware_nowait(): %s\n", fw ? "OK" : "error");
|
||||||
if (!fw) {
|
if (!fw) {
|
||||||
|
@ -1147,7 +1147,7 @@ upstream submission.
|
||||||
/* bts_header to remove out magic number and
|
/* bts_header to remove out magic number and
|
||||||
--- a/drivers/net/can/softing/softing_fw.c
|
--- a/drivers/net/can/softing/softing_fw.c
|
||||||
+++ b/drivers/net/can/softing/softing_fw.c
|
+++ b/drivers/net/can/softing/softing_fw.c
|
||||||
@@ -238,11 +238,8 @@ int softing_load_app_fw(const char *file
|
@@ -237,11 +237,8 @@ int softing_load_app_fw(const char *file
|
||||||
int8_t type_end = 0, type_entrypoint = 0;
|
int8_t type_end = 0, type_entrypoint = 0;
|
||||||
|
|
||||||
ret = request_firmware(&fw, file, &card->pdev->dev);
|
ret = request_firmware(&fw, file, &card->pdev->dev);
|
||||||
|
@ -1205,7 +1205,7 @@ upstream submission.
|
||||||
fw_tx->size, FIRMWARE_TX);
|
fw_tx->size, FIRMWARE_TX);
|
||||||
--- a/drivers/net/ethernet/alteon/acenic.c
|
--- a/drivers/net/ethernet/alteon/acenic.c
|
||||||
+++ b/drivers/net/ethernet/alteon/acenic.c
|
+++ b/drivers/net/ethernet/alteon/acenic.c
|
||||||
@@ -2889,11 +2889,8 @@ static int ace_load_firmware(struct net_
|
@@ -2888,11 +2888,8 @@ static int ace_load_firmware(struct net_
|
||||||
fw_name = "acenic/tg1.bin";
|
fw_name = "acenic/tg1.bin";
|
||||||
|
|
||||||
ret = request_firmware(&fw, fw_name, &ap->pdev->dev);
|
ret = request_firmware(&fw, fw_name, &ap->pdev->dev);
|
||||||
|
@ -1220,7 +1220,7 @@ upstream submission.
|
||||||
|
|
||||||
--- a/drivers/net/ethernet/broadcom/bnx2.c
|
--- a/drivers/net/ethernet/broadcom/bnx2.c
|
||||||
+++ b/drivers/net/ethernet/broadcom/bnx2.c
|
+++ b/drivers/net/ethernet/broadcom/bnx2.c
|
||||||
@@ -3678,16 +3678,13 @@ static int bnx2_request_uncached_firmwar
|
@@ -3696,16 +3696,13 @@ static int bnx2_request_uncached_firmwar
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = request_firmware(&bp->mips_firmware, mips_fw_file, &bp->pdev->dev);
|
rc = request_firmware(&bp->mips_firmware, mips_fw_file, &bp->pdev->dev);
|
||||||
|
@ -1242,7 +1242,7 @@ upstream submission.
|
||||||
if (bp->mips_firmware->size < sizeof(*mips_fw) ||
|
if (bp->mips_firmware->size < sizeof(*mips_fw) ||
|
||||||
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
|
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
|
||||||
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
|
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
|
||||||
@@ -12497,11 +12497,8 @@ static int bnx2x_init_firmware(struct bn
|
@@ -12637,11 +12637,8 @@ static int bnx2x_init_firmware(struct bn
|
||||||
BNX2X_DEV_INFO("Loading %s\n", fw_file_name);
|
BNX2X_DEV_INFO("Loading %s\n", fw_file_name);
|
||||||
|
|
||||||
rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev);
|
rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev);
|
||||||
|
@ -1257,7 +1257,7 @@ upstream submission.
|
||||||
if (rc) {
|
if (rc) {
|
||||||
--- a/drivers/net/ethernet/broadcom/tg3.c
|
--- a/drivers/net/ethernet/broadcom/tg3.c
|
||||||
+++ b/drivers/net/ethernet/broadcom/tg3.c
|
+++ b/drivers/net/ethernet/broadcom/tg3.c
|
||||||
@@ -11205,11 +11205,8 @@ static int tg3_request_firmware(struct t
|
@@ -11293,11 +11293,8 @@ static int tg3_request_firmware(struct t
|
||||||
{
|
{
|
||||||
const struct tg3_firmware_hdr *fw_hdr;
|
const struct tg3_firmware_hdr *fw_hdr;
|
||||||
|
|
||||||
|
@ -1351,7 +1351,7 @@ upstream submission.
|
||||||
}
|
}
|
||||||
--- a/drivers/net/ethernet/smsc/smc91c92_cs.c
|
--- a/drivers/net/ethernet/smsc/smc91c92_cs.c
|
||||||
+++ b/drivers/net/ethernet/smsc/smc91c92_cs.c
|
+++ b/drivers/net/ethernet/smsc/smc91c92_cs.c
|
||||||
@@ -648,10 +648,8 @@ static int osi_load_firmware(struct pcmc
|
@@ -647,10 +647,8 @@ static int osi_load_firmware(struct pcmc
|
||||||
int i, err;
|
int i, err;
|
||||||
|
|
||||||
err = request_firmware(&fw, FIRMWARE_NAME, &link->dev);
|
err = request_firmware(&fw, FIRMWARE_NAME, &link->dev);
|
||||||
|
@ -1365,7 +1365,7 @@ upstream submission.
|
||||||
for (i = 0; i < fw->size; i++) {
|
for (i = 0; i < fw->size; i++) {
|
||||||
--- a/drivers/net/ethernet/sun/cassini.c
|
--- a/drivers/net/ethernet/sun/cassini.c
|
||||||
+++ b/drivers/net/ethernet/sun/cassini.c
|
+++ b/drivers/net/ethernet/sun/cassini.c
|
||||||
@@ -818,11 +818,8 @@ static void cas_saturn_firmware_init(str
|
@@ -816,11 +816,8 @@ static void cas_saturn_firmware_init(str
|
||||||
return;
|
return;
|
||||||
|
|
||||||
err = request_firmware(&fw, fw_name, &cp->pdev->dev);
|
err = request_firmware(&fw, fw_name, &cp->pdev->dev);
|
||||||
|
@ -1395,7 +1395,7 @@ upstream submission.
|
||||||
fw->size, fw_name[predef]);
|
fw->size, fw_name[predef]);
|
||||||
--- a/drivers/net/usb/kaweth.c
|
--- a/drivers/net/usb/kaweth.c
|
||||||
+++ b/drivers/net/usb/kaweth.c
|
+++ b/drivers/net/usb/kaweth.c
|
||||||
@@ -398,10 +398,8 @@ static int kaweth_download_firmware(stru
|
@@ -396,10 +396,8 @@ static int kaweth_download_firmware(stru
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = request_firmware(&fw, fwname, &kaweth->dev->dev);
|
ret = request_firmware(&fw, fwname, &kaweth->dev->dev);
|
||||||
|
@ -1476,7 +1476,7 @@ upstream submission.
|
||||||
|
|
||||||
--- a/drivers/net/wireless/atmel.c
|
--- a/drivers/net/wireless/atmel.c
|
||||||
+++ b/drivers/net/wireless/atmel.c
|
+++ b/drivers/net/wireless/atmel.c
|
||||||
@@ -3928,12 +3928,8 @@ static int reset_atmel_card(struct net_d
|
@@ -3927,12 +3927,8 @@ static int reset_atmel_card(struct net_d
|
||||||
strcpy(priv->firmware_id, "atmel_at76c502.bin");
|
strcpy(priv->firmware_id, "atmel_at76c502.bin");
|
||||||
}
|
}
|
||||||
err = request_firmware(&fw_entry, priv->firmware_id, priv->sys_dev);
|
err = request_firmware(&fw_entry, priv->firmware_id, priv->sys_dev);
|
||||||
|
@ -1530,7 +1530,7 @@ upstream submission.
|
||||||
hdr = (struct b43legacy_fw_header *)((*fw)->data);
|
hdr = (struct b43legacy_fw_header *)((*fw)->data);
|
||||||
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
|
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
|
||||||
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
|
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
|
||||||
@@ -571,10 +571,8 @@ static const struct firmware *brcmf_sdbr
|
@@ -590,10 +590,8 @@ static const struct firmware *brcmf_sdio
|
||||||
|
|
||||||
found:
|
found:
|
||||||
err = request_firmware(&fw, name, &bus->sdiodev->func[2]->dev);
|
err = request_firmware(&fw, name, &bus->sdiodev->func[2]->dev);
|
||||||
|
@ -1568,7 +1568,7 @@ upstream submission.
|
||||||
}
|
}
|
||||||
--- a/drivers/net/wireless/ipw2x00/ipw2100.c
|
--- a/drivers/net/wireless/ipw2x00/ipw2100.c
|
||||||
+++ b/drivers/net/wireless/ipw2x00/ipw2100.c
|
+++ b/drivers/net/wireless/ipw2x00/ipw2100.c
|
||||||
@@ -8426,12 +8426,8 @@ static int ipw2100_get_firmware(struct i
|
@@ -8425,12 +8425,8 @@ static int ipw2100_get_firmware(struct i
|
||||||
|
|
||||||
rc = request_firmware(&fw->fw_entry, fw_name, &priv->pci_dev->dev);
|
rc = request_firmware(&fw->fw_entry, fw_name, &priv->pci_dev->dev);
|
||||||
|
|
||||||
|
@ -1608,7 +1608,7 @@ upstream submission.
|
||||||
else
|
else
|
||||||
--- a/drivers/net/wireless/iwlwifi/iwl-drv.c
|
--- a/drivers/net/wireless/iwlwifi/iwl-drv.c
|
||||||
+++ b/drivers/net/wireless/iwlwifi/iwl-drv.c
|
+++ b/drivers/net/wireless/iwlwifi/iwl-drv.c
|
||||||
@@ -889,13 +889,8 @@ static void iwl_req_fw_callback(const st
|
@@ -928,13 +928,8 @@ static void iwl_req_fw_callback(const st
|
||||||
|
|
||||||
memset(&pieces, 0, sizeof(pieces));
|
memset(&pieces, 0, sizeof(pieces));
|
||||||
|
|
||||||
|
@ -1651,7 +1651,7 @@ upstream submission.
|
||||||
adapter->firmware = firmware;
|
adapter->firmware = firmware;
|
||||||
--- a/drivers/net/wireless/mwl8k.c
|
--- a/drivers/net/wireless/mwl8k.c
|
||||||
+++ b/drivers/net/wireless/mwl8k.c
|
+++ b/drivers/net/wireless/mwl8k.c
|
||||||
@@ -5531,16 +5531,12 @@ static int mwl8k_firmware_load_success(s
|
@@ -5530,16 +5530,12 @@ static int mwl8k_firmware_load_success(s
|
||||||
static void mwl8k_fw_state_machine(const struct firmware *fw, void *context)
|
static void mwl8k_fw_state_machine(const struct firmware *fw, void *context)
|
||||||
{
|
{
|
||||||
struct mwl8k_priv *priv = context;
|
struct mwl8k_priv *priv = context;
|
||||||
|
@ -1669,7 +1669,7 @@ upstream submission.
|
||||||
priv->fw_helper = fw;
|
priv->fw_helper = fw;
|
||||||
rc = mwl8k_request_fw(priv, priv->fw_pref, &priv->fw_ucode,
|
rc = mwl8k_request_fw(priv, priv->fw_pref, &priv->fw_ucode,
|
||||||
true);
|
true);
|
||||||
@@ -5575,11 +5571,8 @@ static void mwl8k_fw_state_machine(const
|
@@ -5574,11 +5570,8 @@ static void mwl8k_fw_state_machine(const
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FW_STATE_LOADING_ALT:
|
case FW_STATE_LOADING_ALT:
|
||||||
|
@ -1682,7 +1682,7 @@ upstream submission.
|
||||||
priv->fw_ucode = fw;
|
priv->fw_ucode = fw;
|
||||||
rc = mwl8k_firmware_load_success(priv);
|
rc = mwl8k_firmware_load_success(priv);
|
||||||
if (rc)
|
if (rc)
|
||||||
@@ -5617,10 +5610,8 @@ retry:
|
@@ -5616,10 +5609,8 @@ retry:
|
||||||
|
|
||||||
/* Ask userland hotplug daemon for the device firmware */
|
/* Ask userland hotplug daemon for the device firmware */
|
||||||
rc = mwl8k_request_firmware(priv, fw_image, nowait);
|
rc = mwl8k_request_firmware(priv, fw_image, nowait);
|
||||||
|
@ -1730,7 +1730,7 @@ upstream submission.
|
||||||
|
|
||||||
--- a/drivers/net/wireless/orinoco/orinoco_usb.c
|
--- a/drivers/net/wireless/orinoco/orinoco_usb.c
|
||||||
+++ b/drivers/net/wireless/orinoco/orinoco_usb.c
|
+++ b/drivers/net/wireless/orinoco/orinoco_usb.c
|
||||||
@@ -1691,7 +1691,6 @@ static int ezusb_probe(struct usb_interf
|
@@ -1690,7 +1690,6 @@ static int ezusb_probe(struct usb_interf
|
||||||
if (ezusb_firmware_download(upriv, &firmware))
|
if (ezusb_firmware_download(upriv, &firmware))
|
||||||
goto error;
|
goto error;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1740,7 +1740,7 @@ upstream submission.
|
||||||
|
|
||||||
--- a/drivers/net/wireless/p54/p54pci.c
|
--- a/drivers/net/wireless/p54/p54pci.c
|
||||||
+++ b/drivers/net/wireless/p54/p54pci.c
|
+++ b/drivers/net/wireless/p54/p54pci.c
|
||||||
@@ -497,7 +497,6 @@ static void p54p_firmware_step2(const st
|
@@ -496,7 +496,6 @@ static void p54p_firmware_step2(const st
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
if (!fw) {
|
if (!fw) {
|
||||||
|
@ -1764,7 +1764,7 @@ upstream submission.
|
||||||
if (ret) {
|
if (ret) {
|
||||||
--- a/drivers/net/wireless/p54/p54usb.c
|
--- a/drivers/net/wireless/p54/p54usb.c
|
||||||
+++ b/drivers/net/wireless/p54/p54usb.c
|
+++ b/drivers/net/wireless/p54/p54usb.c
|
||||||
@@ -930,7 +930,6 @@ static void p54u_load_firmware_cb(const
|
@@ -929,7 +929,6 @@ static void p54u_load_firmware_cb(const
|
||||||
err = p54u_start_ops(priv);
|
err = p54u_start_ops(priv);
|
||||||
} else {
|
} else {
|
||||||
err = -ENOENT;
|
err = -ENOENT;
|
||||||
|
@ -1774,7 +1774,7 @@ upstream submission.
|
||||||
if (err) {
|
if (err) {
|
||||||
--- a/drivers/net/wireless/prism54/islpci_dev.c
|
--- a/drivers/net/wireless/prism54/islpci_dev.c
|
||||||
+++ b/drivers/net/wireless/prism54/islpci_dev.c
|
+++ b/drivers/net/wireless/prism54/islpci_dev.c
|
||||||
@@ -93,12 +93,9 @@ isl_upload_firmware(islpci_private *priv
|
@@ -92,12 +92,9 @@ isl_upload_firmware(islpci_private *priv
|
||||||
const u32 *fw_ptr;
|
const u32 *fw_ptr;
|
||||||
|
|
||||||
rc = request_firmware(&fw_entry, priv->firmware, PRISM_FW_PDEV);
|
rc = request_firmware(&fw_entry, priv->firmware, PRISM_FW_PDEV);
|
||||||
|
@ -1791,7 +1791,7 @@ upstream submission.
|
||||||
|
|
||||||
--- a/drivers/net/wireless/rt2x00/rt2x00firmware.c
|
--- a/drivers/net/wireless/rt2x00/rt2x00firmware.c
|
||||||
+++ b/drivers/net/wireless/rt2x00/rt2x00firmware.c
|
+++ b/drivers/net/wireless/rt2x00/rt2x00firmware.c
|
||||||
@@ -51,10 +51,8 @@ static int rt2x00lib_request_firmware(st
|
@@ -49,10 +49,8 @@ static int rt2x00lib_request_firmware(st
|
||||||
rt2x00_info(rt2x00dev, "Loading firmware file '%s'\n", fw_name);
|
rt2x00_info(rt2x00dev, "Loading firmware file '%s'\n", fw_name);
|
||||||
|
|
||||||
retval = request_firmware(&fw, fw_name, device);
|
retval = request_firmware(&fw, fw_name, device);
|
||||||
|
@ -1825,7 +1825,7 @@ upstream submission.
|
||||||
}
|
}
|
||||||
--- a/drivers/net/wireless/ti/wl1251/main.c
|
--- a/drivers/net/wireless/ti/wl1251/main.c
|
||||||
+++ b/drivers/net/wireless/ti/wl1251/main.c
|
+++ b/drivers/net/wireless/ti/wl1251/main.c
|
||||||
@@ -70,10 +70,8 @@ static int wl1251_fetch_firmware(struct
|
@@ -71,10 +71,8 @@ static int wl1251_fetch_firmware(struct
|
||||||
|
|
||||||
ret = request_firmware(&fw, WL1251_FW_NAME, dev);
|
ret = request_firmware(&fw, WL1251_FW_NAME, dev);
|
||||||
|
|
||||||
|
@ -1837,7 +1837,7 @@ upstream submission.
|
||||||
|
|
||||||
if (fw->size % 4) {
|
if (fw->size % 4) {
|
||||||
wl1251_error("firmware size is not multiple of 32 bits: %zu",
|
wl1251_error("firmware size is not multiple of 32 bits: %zu",
|
||||||
@@ -109,10 +107,8 @@ static int wl1251_fetch_nvs(struct wl125
|
@@ -110,10 +108,8 @@ static int wl1251_fetch_nvs(struct wl125
|
||||||
|
|
||||||
ret = request_firmware(&fw, WL1251_NVS_NAME, dev);
|
ret = request_firmware(&fw, WL1251_NVS_NAME, dev);
|
||||||
|
|
||||||
|
@ -1851,7 +1851,7 @@ upstream submission.
|
||||||
wl1251_error("nvs size is not multiple of 32 bits: %zu",
|
wl1251_error("nvs size is not multiple of 32 bits: %zu",
|
||||||
--- a/drivers/net/wireless/ti/wlcore/main.c
|
--- a/drivers/net/wireless/ti/wlcore/main.c
|
||||||
+++ b/drivers/net/wireless/ti/wlcore/main.c
|
+++ b/drivers/net/wireless/ti/wlcore/main.c
|
||||||
@@ -753,10 +753,8 @@ static int wl12xx_fetch_firmware(struct
|
@@ -752,10 +752,8 @@ static int wl12xx_fetch_firmware(struct
|
||||||
|
|
||||||
ret = request_firmware(&fw, fw_name, wl->dev);
|
ret = request_firmware(&fw, fw_name, wl->dev);
|
||||||
|
|
||||||
|
@ -1876,7 +1876,7 @@ upstream submission.
|
||||||
}
|
}
|
||||||
--- a/drivers/net/wireless/zd1211rw/zd_usb.c
|
--- a/drivers/net/wireless/zd1211rw/zd_usb.c
|
||||||
+++ b/drivers/net/wireless/zd1211rw/zd_usb.c
|
+++ b/drivers/net/wireless/zd1211rw/zd_usb.c
|
||||||
@@ -121,16 +121,9 @@ static void int_urb_complete(struct urb
|
@@ -120,16 +120,9 @@ static void int_urb_complete(struct urb
|
||||||
static int request_fw_file(
|
static int request_fw_file(
|
||||||
const struct firmware **fw, const char *name, struct device *device)
|
const struct firmware **fw, const char *name, struct device *device)
|
||||||
{
|
{
|
||||||
|
@ -1960,7 +1960,7 @@ upstream submission.
|
||||||
if (err) {
|
if (err) {
|
||||||
--- a/drivers/scsi/bfa/bfad.c
|
--- a/drivers/scsi/bfa/bfad.c
|
||||||
+++ b/drivers/scsi/bfa/bfad.c
|
+++ b/drivers/scsi/bfa/bfad.c
|
||||||
@@ -1781,7 +1781,6 @@ bfad_read_firmware(struct pci_dev *pdev,
|
@@ -1778,7 +1778,6 @@ bfad_read_firmware(struct pci_dev *pdev,
|
||||||
const struct firmware *fw;
|
const struct firmware *fw;
|
||||||
|
|
||||||
if (request_firmware(&fw, fw_name, &pdev->dev)) {
|
if (request_firmware(&fw, fw_name, &pdev->dev)) {
|
||||||
|
@ -2007,7 +2007,7 @@ upstream submission.
|
||||||
}
|
}
|
||||||
--- a/drivers/scsi/qla2xxx/qla_init.c
|
--- a/drivers/scsi/qla2xxx/qla_init.c
|
||||||
+++ b/drivers/scsi/qla2xxx/qla_init.c
|
+++ b/drivers/scsi/qla2xxx/qla_init.c
|
||||||
@@ -5134,8 +5134,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
|
@@ -5136,8 +5136,6 @@ qla2x00_load_risc(scsi_qla_host_t *vha,
|
||||||
/* Load firmware blob. */
|
/* Load firmware blob. */
|
||||||
blob = qla2x00_request_firmware(vha);
|
blob = qla2x00_request_firmware(vha);
|
||||||
if (!blob) {
|
if (!blob) {
|
||||||
|
@ -2016,7 +2016,7 @@ upstream submission.
|
||||||
ql_log(ql_log_info, vha, 0x0084,
|
ql_log(ql_log_info, vha, 0x0084,
|
||||||
"Firmware images can be retrieved from: "QLA_FW_URL ".\n");
|
"Firmware images can be retrieved from: "QLA_FW_URL ".\n");
|
||||||
return QLA_FUNCTION_FAILED;
|
return QLA_FUNCTION_FAILED;
|
||||||
@@ -5236,8 +5234,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
|
@@ -5238,8 +5236,6 @@ qla24xx_load_risc_blob(scsi_qla_host_t *
|
||||||
/* Load firmware blob. */
|
/* Load firmware blob. */
|
||||||
blob = qla2x00_request_firmware(vha);
|
blob = qla2x00_request_firmware(vha);
|
||||||
if (!blob) {
|
if (!blob) {
|
||||||
|
@ -2027,7 +2027,7 @@ upstream submission.
|
||||||
QLA_FW_URL ".\n");
|
QLA_FW_URL ".\n");
|
||||||
--- a/drivers/scsi/qla2xxx/qla_nx.c
|
--- a/drivers/scsi/qla2xxx/qla_nx.c
|
||||||
+++ b/drivers/scsi/qla2xxx/qla_nx.c
|
+++ b/drivers/scsi/qla2xxx/qla_nx.c
|
||||||
@@ -2435,11 +2435,8 @@ try_blob_fw:
|
@@ -2449,11 +2449,8 @@ try_blob_fw:
|
||||||
|
|
||||||
/* Load firmware blob. */
|
/* Load firmware blob. */
|
||||||
blob = ha->hablob = qla2x00_request_firmware(vha);
|
blob = ha->hablob = qla2x00_request_firmware(vha);
|
||||||
|
@ -2042,7 +2042,7 @@ upstream submission.
|
||||||
if (qla82xx_validate_firmware_blob(vha,
|
if (qla82xx_validate_firmware_blob(vha,
|
||||||
--- a/drivers/scsi/qla2xxx/qla_os.c
|
--- a/drivers/scsi/qla2xxx/qla_os.c
|
||||||
+++ b/drivers/scsi/qla2xxx/qla_os.c
|
+++ b/drivers/scsi/qla2xxx/qla_os.c
|
||||||
@@ -5311,8 +5311,6 @@ qla2x00_request_firmware(scsi_qla_host_t
|
@@ -5315,8 +5315,6 @@ qla2x00_request_firmware(scsi_qla_host_t
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
if (request_firmware(&blob->fw, blob->name, &ha->pdev->dev)) {
|
if (request_firmware(&blob->fw, blob->name, &ha->pdev->dev)) {
|
||||||
|
@ -2068,7 +2068,7 @@ upstream submission.
|
||||||
fw->size, fwname);
|
fw->size, fwname);
|
||||||
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
|
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
|
||||||
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
|
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
|
||||||
@@ -2203,16 +2203,12 @@ struct net_device *init_ft1000_card(stru
|
@@ -2233,16 +2233,12 @@ struct net_device *init_ft1000_card(stru
|
||||||
info->AsicID = ft1000_read_reg(dev, FT1000_REG_ASIC_ID);
|
info->AsicID = ft1000_read_reg(dev, FT1000_REG_ASIC_ID);
|
||||||
if (info->AsicID == ELECTRABUZZ_ID) {
|
if (info->AsicID == ELECTRABUZZ_ID) {
|
||||||
DEBUG(0, "ft1000_hw: ELECTRABUZZ ASIC\n");
|
DEBUG(0, "ft1000_hw: ELECTRABUZZ ASIC\n");
|
||||||
|
@ -2089,7 +2089,7 @@ upstream submission.
|
||||||
ft1000_enable_interrupts(dev);
|
ft1000_enable_interrupts(dev);
|
||||||
--- a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
|
--- a/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
|
||||||
+++ b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
|
+++ b/drivers/staging/ft1000/ft1000-usb/ft1000_usb.c
|
||||||
@@ -138,10 +138,8 @@ static int ft1000_probe(struct usb_inter
|
@@ -137,10 +137,8 @@ static int ft1000_probe(struct usb_inter
|
||||||
ft1000dev->bulk_out_endpointAddr);
|
ft1000dev->bulk_out_endpointAddr);
|
||||||
|
|
||||||
ret = request_firmware(&dsp_fw, "ft3000.img", &dev->dev);
|
ret = request_firmware(&dsp_fw, "ft3000.img", &dev->dev);
|
||||||
|
@ -2103,7 +2103,7 @@ upstream submission.
|
||||||
pFileStart = kmalloc(size, GFP_KERNEL);
|
pFileStart = kmalloc(size, GFP_KERNEL);
|
||||||
--- a/drivers/staging/media/as102/as102_fw.c
|
--- a/drivers/staging/media/as102/as102_fw.c
|
||||||
+++ b/drivers/staging/media/as102/as102_fw.c
|
+++ b/drivers/staging/media/as102/as102_fw.c
|
||||||
@@ -190,11 +190,8 @@ int as102_fw_upload(struct as10x_bus_ada
|
@@ -185,11 +185,8 @@ int as102_fw_upload(struct as10x_bus_ada
|
||||||
|
|
||||||
/* request kernel to locate firmware file: part1 */
|
/* request kernel to locate firmware file: part1 */
|
||||||
errno = request_firmware(&firmware, fw1, &dev->dev);
|
errno = request_firmware(&firmware, fw1, &dev->dev);
|
||||||
|
@ -2116,7 +2116,7 @@ upstream submission.
|
||||||
|
|
||||||
/* initiate firmware upload */
|
/* initiate firmware upload */
|
||||||
errno = as102_firmware_upload(bus_adap, cmd_buf, firmware);
|
errno = as102_firmware_upload(bus_adap, cmd_buf, firmware);
|
||||||
@@ -213,11 +210,8 @@ int as102_fw_upload(struct as10x_bus_ada
|
@@ -208,11 +205,8 @@ int as102_fw_upload(struct as10x_bus_ada
|
||||||
|
|
||||||
/* request kernel to locate firmware file: part2 */
|
/* request kernel to locate firmware file: part2 */
|
||||||
errno = request_firmware(&firmware, fw2, &dev->dev);
|
errno = request_firmware(&firmware, fw2, &dev->dev);
|
||||||
|
@ -2131,7 +2131,7 @@ upstream submission.
|
||||||
errno = as102_firmware_upload(bus_adap, cmd_buf, firmware);
|
errno = as102_firmware_upload(bus_adap, cmd_buf, firmware);
|
||||||
--- a/drivers/staging/media/go7007/go7007-driver.c
|
--- a/drivers/staging/media/go7007/go7007-driver.c
|
||||||
+++ b/drivers/staging/media/go7007/go7007-driver.c
|
+++ b/drivers/staging/media/go7007/go7007-driver.c
|
||||||
@@ -96,10 +96,8 @@ static int go7007_load_encoder(struct go
|
@@ -95,10 +95,8 @@ static int go7007_load_encoder(struct go
|
||||||
u16 intr_val, intr_data;
|
u16 intr_val, intr_data;
|
||||||
|
|
||||||
if (go->boot_fw == NULL) {
|
if (go->boot_fw == NULL) {
|
||||||
|
@ -2161,7 +2161,7 @@ upstream submission.
|
||||||
goto fw_failed;
|
goto fw_failed;
|
||||||
--- a/drivers/staging/media/go7007/go7007-loader.c
|
--- a/drivers/staging/media/go7007/go7007-loader.c
|
||||||
+++ b/drivers/staging/media/go7007/go7007-loader.c
|
+++ b/drivers/staging/media/go7007/go7007-loader.c
|
||||||
@@ -80,11 +80,8 @@ static int go7007_loader_probe(struct us
|
@@ -79,11 +79,8 @@ static int go7007_loader_probe(struct us
|
||||||
|
|
||||||
dev_info(&interface->dev, "loading firmware %s\n", fw1);
|
dev_info(&interface->dev, "loading firmware %s\n", fw1);
|
||||||
|
|
||||||
|
@ -2174,7 +2174,7 @@ upstream submission.
|
||||||
ret = cypress_load_firmware(usbdev, fw, CYPRESS_FX2);
|
ret = cypress_load_firmware(usbdev, fw, CYPRESS_FX2);
|
||||||
release_firmware(fw);
|
release_firmware(fw);
|
||||||
if (0 != ret) {
|
if (0 != ret) {
|
||||||
@@ -95,11 +92,8 @@ static int go7007_loader_probe(struct us
|
@@ -94,11 +91,8 @@ static int go7007_loader_probe(struct us
|
||||||
if (fw2 == NULL)
|
if (fw2 == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -2193,8 +2193,8 @@ upstream submission.
|
||||||
/* Request codeset data file */
|
/* Request codeset data file */
|
||||||
ret = request_firmware(&fw_entry, "haup-ir-blaster.bin", tx->ir->l.dev);
|
ret = request_firmware(&fw_entry, "haup-ir-blaster.bin", tx->ir->l.dev);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
- zilog_error("firmware haup-ir-blaster.bin not available "
|
- zilog_error("firmware haup-ir-blaster.bin not available (%d)\n",
|
||||||
- "(%d)\n", ret);
|
- ret);
|
||||||
ret = ret < 0 ? ret : -EFAULT;
|
ret = ret < 0 ? ret : -EFAULT;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -2268,7 +2268,7 @@ upstream submission.
|
||||||
if (!pBuffer)
|
if (!pBuffer)
|
||||||
--- a/drivers/tty/cyclades.c
|
--- a/drivers/tty/cyclades.c
|
||||||
+++ b/drivers/tty/cyclades.c
|
+++ b/drivers/tty/cyclades.c
|
||||||
@@ -3520,10 +3520,8 @@ static int cyz_load_fw(struct pci_dev *p
|
@@ -3522,10 +3522,8 @@ static int cyz_load_fw(struct pci_dev *p
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
retval = request_firmware(&fw, "cyzfirm.bin", &pdev->dev);
|
retval = request_firmware(&fw, "cyzfirm.bin", &pdev->dev);
|
||||||
|
@ -2339,7 +2339,7 @@ upstream submission.
|
||||||
|
|
||||||
--- a/drivers/usb/atm/cxacru.c
|
--- a/drivers/usb/atm/cxacru.c
|
||||||
+++ b/drivers/usb/atm/cxacru.c
|
+++ b/drivers/usb/atm/cxacru.c
|
||||||
@@ -1082,8 +1082,6 @@ static int cxacru_find_firmware(struct c
|
@@ -1081,8 +1081,6 @@ static int cxacru_find_firmware(struct c
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2350,7 +2350,7 @@ upstream submission.
|
||||||
|
|
||||||
--- a/drivers/usb/atm/ueagle-atm.c
|
--- a/drivers/usb/atm/ueagle-atm.c
|
||||||
+++ b/drivers/usb/atm/ueagle-atm.c
|
+++ b/drivers/usb/atm/ueagle-atm.c
|
||||||
@@ -650,10 +650,8 @@ static void uea_upload_pre_firmware(cons
|
@@ -649,10 +649,8 @@ static void uea_upload_pre_firmware(cons
|
||||||
int ret, size;
|
int ret, size;
|
||||||
|
|
||||||
uea_enters(usb);
|
uea_enters(usb);
|
||||||
|
@ -2362,7 +2362,7 @@ upstream submission.
|
||||||
|
|
||||||
pfw = fw_entry->data;
|
pfw = fw_entry->data;
|
||||||
size = fw_entry->size;
|
size = fw_entry->size;
|
||||||
@@ -748,10 +746,6 @@ static int uea_load_firmware(struct usb_
|
@@ -747,10 +745,6 @@ static int uea_load_firmware(struct usb_
|
||||||
ret = request_firmware_nowait(THIS_MODULE, 1, fw_name, &usb->dev,
|
ret = request_firmware_nowait(THIS_MODULE, 1, fw_name, &usb->dev,
|
||||||
GFP_KERNEL, usb,
|
GFP_KERNEL, usb,
|
||||||
uea_upload_pre_firmware);
|
uea_upload_pre_firmware);
|
||||||
|
@ -2373,7 +2373,7 @@ upstream submission.
|
||||||
|
|
||||||
uea_leaves(usb);
|
uea_leaves(usb);
|
||||||
return ret;
|
return ret;
|
||||||
@@ -913,12 +907,8 @@ static int request_dsp(struct uea_softc
|
@@ -912,12 +906,8 @@ static int request_dsp(struct uea_softc
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = request_firmware(&sc->dsp_firm, dsp_name, &sc->usb_dev->dev);
|
ret = request_firmware(&sc->dsp_firm, dsp_name, &sc->usb_dev->dev);
|
||||||
|
@ -2387,7 +2387,7 @@ upstream submission.
|
||||||
|
|
||||||
if (UEA_CHIP_VERSION(sc) == EAGLE_IV)
|
if (UEA_CHIP_VERSION(sc) == EAGLE_IV)
|
||||||
ret = check_dsp_e4(sc->dsp_firm->data, sc->dsp_firm->size);
|
ret = check_dsp_e4(sc->dsp_firm->data, sc->dsp_firm->size);
|
||||||
@@ -1631,12 +1621,8 @@ static int request_cmvs_old(struct uea_s
|
@@ -1630,12 +1620,8 @@ static int request_cmvs_old(struct uea_s
|
||||||
|
|
||||||
cmvs_file_name(sc, cmv_name, 1);
|
cmvs_file_name(sc, cmv_name, 1);
|
||||||
ret = request_firmware(fw, cmv_name, &sc->usb_dev->dev);
|
ret = request_firmware(fw, cmv_name, &sc->usb_dev->dev);
|
||||||
|
@ -2401,7 +2401,7 @@ upstream submission.
|
||||||
|
|
||||||
data = (u8 *) (*fw)->data;
|
data = (u8 *) (*fw)->data;
|
||||||
size = (*fw)->size;
|
size = (*fw)->size;
|
||||||
@@ -1673,9 +1659,6 @@ static int request_cmvs(struct uea_softc
|
@@ -1672,9 +1658,6 @@ static int request_cmvs(struct uea_softc
|
||||||
"try to get older cmvs\n", cmv_name);
|
"try to get older cmvs\n", cmv_name);
|
||||||
return request_cmvs_old(sc, cmvs, fw);
|
return request_cmvs_old(sc, cmvs, fw);
|
||||||
}
|
}
|
||||||
|
@ -2411,7 +2411,7 @@ upstream submission.
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1958,11 +1941,8 @@ static int load_XILINX_firmware(struct u
|
@@ -1957,11 +1940,8 @@ static int load_XILINX_firmware(struct u
|
||||||
uea_enters(INS_TO_USBDEV(sc));
|
uea_enters(INS_TO_USBDEV(sc));
|
||||||
|
|
||||||
ret = request_firmware(&fw_entry, fw_name, &sc->usb_dev->dev);
|
ret = request_firmware(&fw_entry, fw_name, &sc->usb_dev->dev);
|
||||||
|
@ -2426,7 +2426,7 @@ upstream submission.
|
||||||
size = fw_entry->size;
|
size = fw_entry->size;
|
||||||
--- a/drivers/usb/misc/emi26.c
|
--- a/drivers/usb/misc/emi26.c
|
||||||
+++ b/drivers/usb/misc/emi26.c
|
+++ b/drivers/usb/misc/emi26.c
|
||||||
@@ -89,21 +89,17 @@ static int emi26_load_firmware (struct u
|
@@ -88,21 +88,17 @@ static int emi26_load_firmware (struct u
|
||||||
|
|
||||||
err = request_ihex_firmware(&loader_fw, "emi26/loader.fw", &dev->dev);
|
err = request_ihex_firmware(&loader_fw, "emi26/loader.fw", &dev->dev);
|
||||||
if (err)
|
if (err)
|
||||||
|
@ -2453,7 +2453,7 @@ upstream submission.
|
||||||
err = emi26_set_reset(dev,1);
|
err = emi26_set_reset(dev,1);
|
||||||
--- a/drivers/usb/misc/ezusb.c
|
--- a/drivers/usb/misc/ezusb.c
|
||||||
+++ b/drivers/usb/misc/ezusb.c
|
+++ b/drivers/usb/misc/ezusb.c
|
||||||
@@ -80,12 +80,8 @@ static int ezusb_ihex_firmware_download(
|
@@ -79,12 +79,8 @@ static int ezusb_ihex_firmware_download(
|
||||||
const struct ihex_binrec *record;
|
const struct ihex_binrec *record;
|
||||||
|
|
||||||
if (request_ihex_firmware(&firmware, firmware_path,
|
if (request_ihex_firmware(&firmware, firmware_path,
|
||||||
|
@ -2479,7 +2479,7 @@ upstream submission.
|
||||||
}
|
}
|
||||||
--- a/drivers/usb/serial/io_edgeport.c
|
--- a/drivers/usb/serial/io_edgeport.c
|
||||||
+++ b/drivers/usb/serial/io_edgeport.c
|
+++ b/drivers/usb/serial/io_edgeport.c
|
||||||
@@ -300,11 +300,8 @@ static void update_edgeport_E2PROM(struc
|
@@ -299,11 +299,8 @@ static void update_edgeport_E2PROM(struc
|
||||||
|
|
||||||
response = request_ihex_firmware(&fw, fw_name,
|
response = request_ihex_firmware(&fw, fw_name,
|
||||||
&edge_serial->serial->dev->dev);
|
&edge_serial->serial->dev->dev);
|
||||||
|
@ -2494,7 +2494,7 @@ upstream submission.
|
||||||
BootMajorVersion = rec->data[0];
|
BootMajorVersion = rec->data[0];
|
||||||
--- a/drivers/usb/serial/io_ti.c
|
--- a/drivers/usb/serial/io_ti.c
|
||||||
+++ b/drivers/usb/serial/io_ti.c
|
+++ b/drivers/usb/serial/io_ti.c
|
||||||
@@ -779,8 +779,6 @@ static int build_i2c_fw_hdr(__u8 *header
|
@@ -768,8 +768,6 @@ static int build_i2c_fw_hdr(__u8 *header
|
||||||
|
|
||||||
err = request_firmware(&fw, fw_name, dev);
|
err = request_firmware(&fw, fw_name, dev);
|
||||||
if (err) {
|
if (err) {
|
||||||
|
@ -2503,7 +2503,7 @@ upstream submission.
|
||||||
kfree(buffer);
|
kfree(buffer);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@@ -1338,8 +1336,6 @@ static int download_fw(struct edgeport_s
|
@@ -1315,8 +1313,6 @@ static int download_fw(struct edgeport_s
|
||||||
|
|
||||||
err = request_firmware(&fw, fw_name, dev);
|
err = request_firmware(&fw, fw_name, dev);
|
||||||
if (err) {
|
if (err) {
|
||||||
|
@ -2514,7 +2514,7 @@ upstream submission.
|
||||||
}
|
}
|
||||||
--- a/drivers/usb/serial/ti_usb_3410_5052.c
|
--- a/drivers/usb/serial/ti_usb_3410_5052.c
|
||||||
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
|
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
|
||||||
@@ -1500,10 +1500,8 @@ static int ti_download_firmware(struct t
|
@@ -1490,10 +1490,8 @@ static int ti_download_firmware(struct t
|
||||||
}
|
}
|
||||||
status = request_firmware(&fw_p, buf, &dev->dev);
|
status = request_firmware(&fw_p, buf, &dev->dev);
|
||||||
}
|
}
|
||||||
|
@ -2640,20 +2640,6 @@ upstream submission.
|
||||||
goto error1;
|
goto error1;
|
||||||
}
|
}
|
||||||
if (firmware->size < sizeof(header)) {
|
if (firmware->size < sizeof(header)) {
|
||||||
--- a/sound/pci/cs46xx/cs46xx_lib.c
|
|
||||||
+++ b/sound/pci/cs46xx/cs46xx_lib.c
|
|
||||||
@@ -411,10 +411,8 @@ static int snd_cs46xx_download_image(str
|
|
||||||
|
|
||||||
err = request_firmware(&firmware, "cs46xx/cs46xx-old.fw",
|
|
||||||
&chip->pci->dev);
|
|
||||||
- if (err < 0) {
|
|
||||||
- snd_printk(KERN_ERR "cs46xx: no firmware\n");
|
|
||||||
+ if (err)
|
|
||||||
return err;
|
|
||||||
- }
|
|
||||||
|
|
||||||
err = snd_cs46xx_check_image_size(firmware);
|
|
||||||
if (err < 0)
|
|
||||||
--- a/sound/pci/echoaudio/echoaudio.c
|
--- a/sound/pci/echoaudio/echoaudio.c
|
||||||
+++ b/sound/pci/echoaudio/echoaudio.c
|
+++ b/sound/pci/echoaudio/echoaudio.c
|
||||||
@@ -57,10 +57,8 @@ static int get_firmware(const struct fir
|
@@ -57,10 +57,8 @@ static int get_firmware(const struct fir
|
||||||
|
@ -2684,7 +2670,7 @@ upstream submission.
|
||||||
}
|
}
|
||||||
--- a/sound/pci/hda/hda_intel.c
|
--- a/sound/pci/hda/hda_intel.c
|
||||||
+++ b/sound/pci/hda/hda_intel.c
|
+++ b/sound/pci/hda/hda_intel.c
|
||||||
@@ -3783,11 +3783,8 @@ static void azx_firmware_cb(const struct
|
@@ -3792,11 +3792,8 @@ static void azx_firmware_cb(const struct
|
||||||
struct azx *chip = card->private_data;
|
struct azx *chip = card->private_data;
|
||||||
struct pci_dev *pci = chip->pci;
|
struct pci_dev *pci = chip->pci;
|
||||||
|
|
||||||
|
@ -2753,7 +2739,7 @@ upstream submission.
|
||||||
if (err) {
|
if (err) {
|
||||||
--- a/sound/pci/rme9652/hdsp.c
|
--- a/sound/pci/rme9652/hdsp.c
|
||||||
+++ b/sound/pci/rme9652/hdsp.c
|
+++ b/sound/pci/rme9652/hdsp.c
|
||||||
@@ -5151,10 +5151,8 @@ static int hdsp_request_fw_loader(struct
|
@@ -5145,10 +5145,8 @@ static int hdsp_request_fw_loader(struct
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2799,3 +2785,18 @@ upstream submission.
|
||||||
kfree(buffer);
|
kfree(buffer);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
--- a/sound/pci/cs46xx/cs46xx_lib.c
|
||||||
|
+++ b/sound/pci/cs46xx/cs46xx_lib.c
|
||||||
|
@@ -3265,11 +3265,8 @@ int snd_cs46xx_start_dsp(struct snd_cs46
|
||||||
|
#ifdef CONFIG_SND_CS46XX_NEW_DSP
|
||||||
|
for (i = 0; i < CS46XX_DSP_MODULES; i++) {
|
||||||
|
err = load_firmware(chip, &chip->modules[i], module_names[i]);
|
||||||
|
- if (err < 0) {
|
||||||
|
- snd_printk(KERN_ERR "firmware load error [%s]\n",
|
||||||
|
- module_names[i]);
|
||||||
|
+ if (err < 0)
|
||||||
|
return err;
|
||||||
|
- }
|
||||||
|
err = cs46xx_dsp_load_module(chip, chip->modules[i]);
|
||||||
|
if (err < 0) {
|
||||||
|
snd_printk(KERN_ERR "image download error [%s]\n",
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
From: Ben Hutchings <ben@decadent.org.uk>
|
|
||||||
Date: Sat, 14 Dec 2013 17:05:45 +0000
|
|
||||||
Subject: firmware_class: Fix read size check
|
|
||||||
|
|
||||||
We expect to read firmware blobs with a single call to kernel_read(),
|
|
||||||
which returns int. Therefore the size must be within the range of
|
|
||||||
int, not long.
|
|
||||||
|
|
||||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
|
||||||
---
|
|
||||||
--- a/drivers/base/firmware_class.c
|
|
||||||
+++ b/drivers/base/firmware_class.c
|
|
||||||
@@ -270,21 +270,21 @@ module_param_string(path, fw_path_para,
|
|
||||||
MODULE_PARM_DESC(path, "customized firmware image search path with a higher priority than default path");
|
|
||||||
|
|
||||||
/* Don't inline this: 'struct kstat' is biggish */
|
|
||||||
-static noinline_for_stack long fw_file_size(struct file *file)
|
|
||||||
+static noinline_for_stack int fw_file_size(struct file *file)
|
|
||||||
{
|
|
||||||
struct kstat st;
|
|
||||||
if (vfs_getattr(&file->f_path, &st))
|
|
||||||
return -1;
|
|
||||||
if (!S_ISREG(st.mode))
|
|
||||||
return -1;
|
|
||||||
- if (st.size != (long)st.size)
|
|
||||||
+ if (st.size != (int)st.size)
|
|
||||||
return -1;
|
|
||||||
return st.size;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int fw_read_file_contents(struct file *file, struct firmware_buf *fw_buf)
|
|
||||||
{
|
|
||||||
- long size;
|
|
||||||
+ int size;
|
|
||||||
char *buf;
|
|
||||||
int rc;
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ This does not cover the case where we fall back to a user-mode helper
|
||||||
---
|
---
|
||||||
--- a/drivers/base/firmware_class.c
|
--- a/drivers/base/firmware_class.c
|
||||||
+++ b/drivers/base/firmware_class.c
|
+++ b/drivers/base/firmware_class.c
|
||||||
@@ -334,17 +334,20 @@ static int fw_get_filesystem_firmware(st
|
@@ -344,17 +344,20 @@ static int fw_get_filesystem_firmware(st
|
||||||
}
|
}
|
||||||
rc = fw_read_file_contents(file, buf);
|
rc = fw_read_file_contents(file, buf);
|
||||||
fput(file);
|
fput(file);
|
||||||
|
@ -46,7 +46,7 @@ This does not cover the case where we fall back to a user-mode helper
|
||||||
mutex_lock(&fw_lock);
|
mutex_lock(&fw_lock);
|
||||||
set_bit(FW_STATUS_DONE, &buf->status);
|
set_bit(FW_STATUS_DONE, &buf->status);
|
||||||
complete_all(&buf->completion);
|
complete_all(&buf->completion);
|
||||||
@@ -997,7 +1000,8 @@ _request_firmware_prepare(struct firmwar
|
@@ -1007,7 +1010,8 @@ _request_firmware_prepare(struct firmwar
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fw_get_builtin_firmware(firmware, name)) {
|
if (fw_get_builtin_firmware(firmware, name)) {
|
||||||
|
@ -56,8 +56,8 @@ This does not cover the case where we fall back to a user-mode helper
|
||||||
return 0; /* assigned */
|
return 0; /* assigned */
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1079,7 +1083,7 @@ _request_firmware(const struct firmware
|
@@ -1090,7 +1094,7 @@ _request_firmware(const struct firmware
|
||||||
if (nowait) {
|
if (opt_flags & FW_OPT_NOWAIT) {
|
||||||
timeout = usermodehelper_read_lock_wait(timeout);
|
timeout = usermodehelper_read_lock_wait(timeout);
|
||||||
if (!timeout) {
|
if (!timeout) {
|
||||||
- dev_dbg(device, "firmware: %s loading timed out\n",
|
- dev_dbg(device, "firmware: %s loading timed out\n",
|
||||||
|
|
|
@ -17,7 +17,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
---
|
---
|
||||||
--- a/drivers/base/firmware_class.c
|
--- a/drivers/base/firmware_class.c
|
||||||
+++ b/drivers/base/firmware_class.c
|
+++ b/drivers/base/firmware_class.c
|
||||||
@@ -273,12 +273,15 @@ MODULE_PARM_DESC(path, "customized firmw
|
@@ -283,12 +283,15 @@ MODULE_PARM_DESC(path, "customized firmw
|
||||||
static noinline_for_stack int fw_file_size(struct file *file)
|
static noinline_for_stack int fw_file_size(struct file *file)
|
||||||
{
|
{
|
||||||
struct kstat st;
|
struct kstat st;
|
||||||
|
@ -37,7 +37,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
return st.size;
|
return st.size;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -289,14 +292,16 @@ static int fw_read_file_contents(struct
|
@@ -299,14 +302,16 @@ static int fw_read_file_contents(struct
|
||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
size = fw_file_size(file);
|
size = fw_file_size(file);
|
||||||
|
@ -56,7 +56,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
rc = -EIO;
|
rc = -EIO;
|
||||||
vfree(buf);
|
vfree(buf);
|
||||||
return rc;
|
return rc;
|
||||||
@@ -323,8 +328,10 @@ static int fw_get_filesystem_firmware(st
|
@@ -333,8 +338,10 @@ static int fw_get_filesystem_firmware(st
|
||||||
snprintf(path, PATH_MAX, "%s/%s", fw_path[i], buf->fw_id);
|
snprintf(path, PATH_MAX, "%s/%s", fw_path[i], buf->fw_id);
|
||||||
|
|
||||||
file = filp_open(path, O_RDONLY, 0);
|
file = filp_open(path, O_RDONLY, 0);
|
||||||
|
@ -68,13 +68,13 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
rc = fw_read_file_contents(file, buf);
|
rc = fw_read_file_contents(file, buf);
|
||||||
fput(file);
|
fput(file);
|
||||||
if (rc)
|
if (rc)
|
||||||
@@ -940,13 +947,6 @@ static void kill_requests_without_uevent
|
@@ -950,13 +957,6 @@ static void kill_requests_without_uevent
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#else /* CONFIG_FW_LOADER_USER_HELPER */
|
#else /* CONFIG_FW_LOADER_USER_HELPER */
|
||||||
-static inline int
|
-static inline int
|
||||||
-fw_load_from_user_helper(struct firmware *firmware, const char *name,
|
-fw_load_from_user_helper(struct firmware *firmware, const char *name,
|
||||||
- struct device *device, bool uevent, bool nowait,
|
- struct device *device, unsigned int opt_flags,
|
||||||
- long timeout)
|
- long timeout)
|
||||||
-{
|
-{
|
||||||
- return -ENOENT;
|
- return -ENOENT;
|
||||||
|
@ -82,19 +82,19 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
|
|
||||||
/* No abort during direct loading */
|
/* No abort during direct loading */
|
||||||
#define is_fw_load_aborted(buf) false
|
#define is_fw_load_aborted(buf) false
|
||||||
@@ -1094,6 +1094,7 @@ _request_firmware(const struct firmware
|
@@ -1105,6 +1105,7 @@ _request_firmware(const struct firmware
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = fw_get_filesystem_firmware(device, fw->priv);
|
ret = fw_get_filesystem_firmware(device, fw->priv);
|
||||||
+#ifdef CONFIG_FW_LOADER_USER_HELPER
|
+#ifdef CONFIG_FW_LOADER_USER_HELPER
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_warn(device, "Direct firmware load failed with error %d\n",
|
if (opt_flags & FW_OPT_FALLBACK) {
|
||||||
ret);
|
dev_warn(device,
|
||||||
@@ -1101,6 +1102,7 @@ _request_firmware(const struct firmware
|
@@ -1115,6 +1116,7 @@ _request_firmware(const struct firmware
|
||||||
ret = fw_load_from_user_helper(fw, name, device,
|
opt_flags, timeout);
|
||||||
uevent, nowait, timeout);
|
}
|
||||||
}
|
}
|
||||||
+#endif
|
+#endif
|
||||||
|
|
||||||
/* don't cache firmware handled without uevent */
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
|
ret = assign_firmware_buf(fw, device, opt_flags);
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
From: Baruch Siach <baruch@tkos.co.il>
|
|
||||||
Date: Mon, 30 Dec 2013 10:31:19 +0200
|
|
||||||
Subject: i2c: designware: remove HAVE_CLK build dependecy
|
|
||||||
Origin: https://git.kernel.org/linus/7ae532e9976e41364bbfa7aaf455c9f1fc5f25e7
|
|
||||||
|
|
||||||
Since 93abe8e4 (clk: add non CONFIG_HAVE_CLK routines) code using clk.h
|
|
||||||
like this platform driver need not depend on HAVE_CLK. Also, remove a
|
|
||||||
redundant clk.h include from core driver.
|
|
||||||
|
|
||||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
|
||||||
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
|
|
||||||
---
|
|
||||||
drivers/i2c/busses/Kconfig | 1 -
|
|
||||||
drivers/i2c/busses/i2c-designware-core.c | 1 -
|
|
||||||
2 files changed, 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
|
|
||||||
index 5687b5c..98a3f1f 100644
|
|
||||||
--- a/drivers/i2c/busses/Kconfig
|
|
||||||
+++ b/drivers/i2c/busses/Kconfig
|
|
||||||
@@ -412,7 +412,6 @@ config I2C_DESIGNWARE_CORE
|
|
||||||
|
|
||||||
config I2C_DESIGNWARE_PLATFORM
|
|
||||||
tristate "Synopsys DesignWare Platform"
|
|
||||||
- depends on HAVE_CLK
|
|
||||||
select I2C_DESIGNWARE_CORE
|
|
||||||
help
|
|
||||||
If you say yes to this option, support will be included for the
|
|
||||||
diff --git a/drivers/i2c/busses/i2c-designware-core.c b/drivers/i2c/busses/i2c-designware-core.c
|
|
||||||
index e89e3e2..14c4b30 100644
|
|
||||||
--- a/drivers/i2c/busses/i2c-designware-core.c
|
|
||||||
+++ b/drivers/i2c/busses/i2c-designware-core.c
|
|
||||||
@@ -26,7 +26,6 @@
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#include <linux/export.h>
|
|
||||||
-#include <linux/clk.h>
|
|
||||||
#include <linux/errno.h>
|
|
||||||
#include <linux/err.h>
|
|
||||||
#include <linux/i2c.h>
|
|
|
@ -1,82 +0,0 @@
|
||||||
From: Stanislaw Gruszka <stf_xl@wp.pl>
|
|
||||||
Date: Mon, 10 Feb 2014 22:38:28 +0100
|
|
||||||
Subject: rtl8187: fix regression on MIPS without coherent DMA
|
|
||||||
Origin: https://git.kernel.org/linus/b6213e413a4e0c66548153516b074df14f9d08e0
|
|
||||||
Bug: https://bugzilla.kernel.org/show_bug.cgi?id=54391
|
|
||||||
Bug-Debian: http://bugs.debian.org/739978
|
|
||||||
|
|
||||||
This patch fixes regression caused by commit a16dad77634 "MIPS: Fix
|
|
||||||
potencial corruption". That commit fixes one corruption scenario in
|
|
||||||
cost of adding another one, which actually start to cause crashes
|
|
||||||
on Yeeloong laptop when rtl8187 driver is used.
|
|
||||||
|
|
||||||
For correct DMA read operation on machines without DMA coherence, kernel
|
|
||||||
have to invalidate cache, such it will refill later with new data that
|
|
||||||
device wrote to memory, when that data is needed to process. We can only
|
|
||||||
invalidate full cache line. Hence when cache line includes both dma
|
|
||||||
buffer and some other data (written in cache, but not yet in main
|
|
||||||
memory), the other data can not hit memory due to invalidation. That
|
|
||||||
happen on rtl8187 where struct rtl8187_priv fields are located just
|
|
||||||
before and after small buffers that are passed to USB layer and DMA
|
|
||||||
is performed on them.
|
|
||||||
|
|
||||||
To fix the problem we align buffers and reserve space after them to make
|
|
||||||
them match cache line.
|
|
||||||
|
|
||||||
This patch does not resolve all possible MIPS problems entirely, for
|
|
||||||
that we have to assure that we always map cache aligned buffers for DMA,
|
|
||||||
what can be complex or even not possible. But patch fixes visible and
|
|
||||||
reproducible regression and seems other possible corruptions do not
|
|
||||||
happen in practice, since Yeeloong laptop works stable without rtl8187
|
|
||||||
driver.
|
|
||||||
|
|
||||||
Bug report:
|
|
||||||
https://bugzilla.kernel.org/show_bug.cgi?id=54391
|
|
||||||
|
|
||||||
Reported-by: Petr Pisar <petr.pisar@atlas.cz>
|
|
||||||
Bisected-by: Tom Li <biergaizi2009@gmail.com>
|
|
||||||
Reported-and-tested-by: Tom Li <biergaizi2009@gmail.com>
|
|
||||||
Cc: stable@vger.kernel.org
|
|
||||||
Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl>
|
|
||||||
Acked-by: Larry Finger <Larry.Finger@lwfinger.next>
|
|
||||||
Acked-by: Hin-Tak Leung <htl10@users.sourceforge.net>
|
|
||||||
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
||||||
---
|
|
||||||
drivers/net/wireless/rtl818x/rtl8187/rtl8187.h | 10 ++++++++--
|
|
||||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/net/wireless/rtl818x/rtl8187/rtl8187.h b/drivers/net/wireless/rtl818x/rtl8187/rtl8187.h
|
|
||||||
index 56aee06..a6ad79f 100644
|
|
||||||
--- a/drivers/net/wireless/rtl818x/rtl8187/rtl8187.h
|
|
||||||
+++ b/drivers/net/wireless/rtl818x/rtl8187/rtl8187.h
|
|
||||||
@@ -15,6 +15,8 @@
|
|
||||||
#ifndef RTL8187_H
|
|
||||||
#define RTL8187_H
|
|
||||||
|
|
||||||
+#include <linux/cache.h>
|
|
||||||
+
|
|
||||||
#include "rtl818x.h"
|
|
||||||
#include "leds.h"
|
|
||||||
|
|
||||||
@@ -139,7 +141,10 @@ struct rtl8187_priv {
|
|
||||||
u8 aifsn[4];
|
|
||||||
u8 rfkill_mask;
|
|
||||||
struct {
|
|
||||||
- __le64 buf;
|
|
||||||
+ union {
|
|
||||||
+ __le64 buf;
|
|
||||||
+ u8 dummy1[L1_CACHE_BYTES];
|
|
||||||
+ } ____cacheline_aligned;
|
|
||||||
struct sk_buff_head queue;
|
|
||||||
} b_tx_status; /* This queue is used by both -b and non-b devices */
|
|
||||||
struct mutex io_mutex;
|
|
||||||
@@ -147,7 +152,8 @@ struct rtl8187_priv {
|
|
||||||
u8 bits8;
|
|
||||||
__le16 bits16;
|
|
||||||
__le32 bits32;
|
|
||||||
- } *io_dmabuf;
|
|
||||||
+ u8 dummy2[L1_CACHE_BYTES];
|
|
||||||
+ } *io_dmabuf ____cacheline_aligned;
|
|
||||||
bool rfkill_off;
|
|
||||||
u16 seqno;
|
|
||||||
};
|
|
|
@ -1,25 +0,0 @@
|
||||||
From: Ben Hutchings <ben@decadent.org.uk>
|
|
||||||
Date: Sun, 29 Dec 2013 23:20:30 +0100
|
|
||||||
Subject: staging: lustre: Make LUSTRE_LLITE_LLOOP tristate
|
|
||||||
Forwarded: http://mid.gmane.org/1388356095.2900.34.camel@deadeye.wl.decadent.org.uk
|
|
||||||
|
|
||||||
There seems to be no reason why it can't be a module; in fact that is
|
|
||||||
currently supposed to be the default.
|
|
||||||
|
|
||||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
|
||||||
---
|
|
||||||
drivers/staging/lustre/lustre/Kconfig | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/staging/lustre/lustre/Kconfig b/drivers/staging/lustre/lustre/Kconfig
|
|
||||||
index 2156a44..faa01fa 100644
|
|
||||||
--- a/drivers/staging/lustre/lustre/Kconfig
|
|
||||||
+++ b/drivers/staging/lustre/lustre/Kconfig
|
|
||||||
@@ -55,6 +55,6 @@ config LUSTRE_TRANSLATE_ERRNOS
|
|
||||||
default y
|
|
||||||
|
|
||||||
config LUSTRE_LLITE_LLOOP
|
|
||||||
- bool "Lustre virtual block device"
|
|
||||||
+ tristate "Lustre virtual block device"
|
|
||||||
depends on LUSTRE_FS && BLOCK
|
|
||||||
default m
|
|
|
@ -22,9 +22,9 @@ Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
|
||||||
config USB_MUSB_DAVINCI
|
config USB_MUSB_DAVINCI
|
||||||
tristate "DaVinci"
|
tristate "DaVinci"
|
||||||
depends on ARCH_DAVINCI_DMx
|
depends on ARCH_DAVINCI_DMx
|
||||||
@@ -93,8 +90,6 @@ config USB_MUSB_BLACKFIN
|
@@ -99,8 +96,6 @@ config USB_MUSB_JZ4740
|
||||||
config USB_MUSB_UX500
|
depends on USB_MUSB_GADGET
|
||||||
tristate "Ux500 platforms"
|
depends on USB_OTG_BLACKLIST_HUB
|
||||||
|
|
||||||
-endchoice
|
-endchoice
|
||||||
-
|
-
|
||||||
|
|
|
@ -28,6 +28,3 @@ rm drivers/staging/wlags49_h2/sta_*.c
|
||||||
# These include apparently obfuscated code
|
# These include apparently obfuscated code
|
||||||
rm drivers/video/nvidia/
|
rm drivers/video/nvidia/
|
||||||
rm drivers/video/riva/
|
rm drivers/video/riva/
|
||||||
|
|
||||||
rm sound/pci/cs46xx/cs46xx_image.h
|
|
||||||
rm sound/pci/cs46xx/imgs
|
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
From: Bastian Blank <waldi@debian.org>
|
|
||||||
Subject: Drop files from sound/pci
|
|
||||||
Date: Sat, 15 Sep 2007 20:18:32 +0100
|
|
||||||
Forwarded: not-needed
|
|
||||||
|
|
||||||
--- a/sound/pci/Kconfig
|
|
||||||
+++ b/sound/pci/Kconfig
|
|
||||||
@@ -229,4 +229,5 @@ config SND_CS46XX
|
|
||||||
config SND_CS46XX
|
|
||||||
tristate "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x"
|
|
||||||
+ depends on BROKEN
|
|
||||||
select SND_RAWMIDI
|
|
||||||
select SND_AC97_CODEC
|
|
|
@ -19,7 +19,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
|
|
||||||
--- a/Documentation/kernel-parameters.txt
|
--- a/Documentation/kernel-parameters.txt
|
||||||
+++ b/Documentation/kernel-parameters.txt
|
+++ b/Documentation/kernel-parameters.txt
|
||||||
@@ -513,8 +513,8 @@ bytes respectively. Such letter suffixes
|
@@ -532,8 +532,8 @@ bytes respectively. Such letter suffixes
|
||||||
ccw_timeout_log [S390]
|
ccw_timeout_log [S390]
|
||||||
See Documentation/s390/CommonIO for details.
|
See Documentation/s390/CommonIO for details.
|
||||||
|
|
||||||
|
@ -27,12 +27,12 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
- Format: {name of the controller(s) to disable}
|
- Format: {name of the controller(s) to disable}
|
||||||
+ cgroup_disable= [KNL] Disable/enable a particular controller
|
+ cgroup_disable= [KNL] Disable/enable a particular controller
|
||||||
+ cgroup_enable= Format: {name of the controller(s) to disable/enable}
|
+ cgroup_enable= Format: {name of the controller(s) to disable/enable}
|
||||||
{Currently supported controllers - "memory"}
|
The effects of cgroup_disable=foo are:
|
||||||
|
- foo isn't auto-mounted if you mount all cgroups in
|
||||||
checkreqprot [SELINUX] Set initial checkreqprot flag value.
|
a single hierarchy
|
||||||
--- a/init/Kconfig
|
--- a/init/Kconfig
|
||||||
+++ b/init/Kconfig
|
+++ b/init/Kconfig
|
||||||
@@ -934,6 +934,14 @@ config MEMCG
|
@@ -940,6 +940,14 @@ config MEMCG
|
||||||
This config option also selects MM_OWNER config option, which
|
This config option also selects MM_OWNER config option, which
|
||||||
could in turn add some fork/exit overhead.
|
could in turn add some fork/exit overhead.
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
depends on MEMCG && SWAP
|
depends on MEMCG && SWAP
|
||||||
--- a/kernel/cgroup.c
|
--- a/kernel/cgroup.c
|
||||||
+++ b/kernel/cgroup.c
|
+++ b/kernel/cgroup.c
|
||||||
@@ -5442,7 +5442,7 @@ static void cgroup_release_agent(struct
|
@@ -5222,7 +5222,7 @@ static void cgroup_release_agent(struct
|
||||||
mutex_unlock(&cgroup_mutex);
|
mutex_unlock(&cgroup_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
{
|
{
|
||||||
struct cgroup_subsys *ss;
|
struct cgroup_subsys *ss;
|
||||||
char *token;
|
char *token;
|
||||||
@@ -5458,17 +5458,29 @@ static int __init cgroup_disable(char *s
|
@@ -5238,17 +5238,29 @@ static int __init cgroup_disable(char *s
|
||||||
*/
|
*/
|
||||||
for_each_builtin_subsys(ss, i) {
|
for_each_builtin_subsys(ss, i) {
|
||||||
if (!strcmp(token, ss->name)) {
|
if (!strcmp(token, ss->name)) {
|
||||||
|
@ -93,7 +93,7 @@ Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||||
* @dentry: directory dentry of interest
|
* @dentry: directory dentry of interest
|
||||||
--- a/mm/memcontrol.c
|
--- a/mm/memcontrol.c
|
||||||
+++ b/mm/memcontrol.c
|
+++ b/mm/memcontrol.c
|
||||||
@@ -7002,6 +7002,9 @@ static void mem_cgroup_bind(struct cgrou
|
@@ -7266,6 +7266,9 @@ static void mem_cgroup_bind(struct cgrou
|
||||||
|
|
||||||
struct cgroup_subsys mem_cgroup_subsys = {
|
struct cgroup_subsys mem_cgroup_subsys = {
|
||||||
.name = "memory",
|
.name = "memory",
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
From: Ben Hutchings <ben@decadent.org.uk>
|
|
||||||
Date: Mon, 30 Sep 2013 01:51:23 +0100
|
|
||||||
Subject: DocBook: Make mandocs parallel-safe
|
|
||||||
Forwarded: http://mid.gmane.org/1380502603.14493.9.camel@deadeye.wl.decadent.org.uk
|
|
||||||
|
|
||||||
Two concurrent calls to cmd_db2man may attempt to compress manual
|
|
||||||
pages generated by each other. gzip can then fail due to an input
|
|
||||||
file having already been compressed and removed.
|
|
||||||
|
|
||||||
Move the gzip command to the top-level mandocs target.
|
|
||||||
|
|
||||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
|
||||||
Cc: Bastian Blank <waldi@debian.org>
|
|
||||||
---
|
|
||||||
Documentation/DocBook/Makefile | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
|
|
||||||
index bc3d9f8..b07b5f3 100644
|
|
||||||
--- a/Documentation/DocBook/Makefile
|
|
||||||
+++ b/Documentation/DocBook/Makefile
|
|
||||||
@@ -54,6 +54,7 @@ htmldocs: $(HTML)
|
|
||||||
|
|
||||||
MAN := $(patsubst %.xml, %.9, $(BOOKS))
|
|
||||||
mandocs: $(MAN)
|
|
||||||
+ $(if $(wildcard $(obj)/man/*.9),gzip -f $(obj)/man/*.9)
|
|
||||||
|
|
||||||
installmandocs: mandocs
|
|
||||||
mkdir -p /usr/local/man/man9/
|
|
||||||
@@ -159,7 +160,7 @@ quiet_cmd_db2html = HTML $@
|
|
||||||
cp $(PNG-$(basename $(notdir $@))) $(patsubst %.html,%,$@); fi
|
|
||||||
|
|
||||||
quiet_cmd_db2man = MAN $@
|
|
||||||
- cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $< ; gzip -f $(obj)/man/*.9; fi
|
|
||||||
+ cmd_db2man = if grep -q refentry $<; then xmlto man $(XMLTOFLAGS) -o $(obj)/man $< ; fi
|
|
||||||
%.9 : %.xml
|
|
||||||
@(which xmlto > /dev/null 2>&1) || \
|
|
||||||
(echo "*** You need to install xmlto ***"; \
|
|
|
@ -1,131 +0,0 @@
|
||||||
From: Roland Scheidegger <rscheidegger_lists@hispeed.ch>
|
|
||||||
Date: Sat, 2 Nov 2013 16:49:32 -0300
|
|
||||||
Subject: [media] az6007: support Technisat Cablestar Combo HDCI (minus remote)
|
|
||||||
Origin: http://git.linuxtv.org/media_tree.git/commit/431cb350187c6bf1ed083622d633418a298a7216
|
|
||||||
|
|
||||||
This is similar to the Terratec H7. It works with the same az6007 firmware as
|
|
||||||
the former, however the drx-k firmware of the H7 will NOT work. Hence use
|
|
||||||
a different firmware name. The firmware does not need to exist as the one in
|
|
||||||
the eeprom is just fine as long as the h7 one doesn't get loaded, but maybe
|
|
||||||
some day someone wants to load it (the one from the h5 would work too).
|
|
||||||
Also since the config entry is now different anyway disable support for rc.
|
|
||||||
AFAIK the Technisat remote (TS35) is RC5 and the code (which a code comment
|
|
||||||
claims doesn't work anyway) only would handle NEC hence it's pointless creating
|
|
||||||
a device and polling it if we already know it can't work.
|
|
||||||
CI is untested.
|
|
||||||
|
|
||||||
Originally based on idea found on
|
|
||||||
http://www.linuxtv.org/wiki/index.php/TechniSat_CableStar_Combo_HD_CI claiming
|
|
||||||
only id needs to be added (but failed to mention it only worked because the
|
|
||||||
driver couldn't find the h7 drx-k firmware...).
|
|
||||||
|
|
||||||
Signed-off-by: Roland Scheidegger <rscheidegger_lists@hispeed.ch>
|
|
||||||
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
|
|
||||||
---
|
|
||||||
drivers/media/dvb-core/dvb-usb-ids.h | 1 +
|
|
||||||
drivers/media/usb/dvb-usb-v2/az6007.c | 59 +++++++++++++++++++++++++++++++++++
|
|
||||||
2 files changed, 60 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/drivers/media/dvb-core/dvb-usb-ids.h b/drivers/media/dvb-core/dvb-usb-ids.h
|
|
||||||
index 419a2d6..4a53454 100644
|
|
||||||
--- a/drivers/media/dvb-core/dvb-usb-ids.h
|
|
||||||
+++ b/drivers/media/dvb-core/dvb-usb-ids.h
|
|
||||||
@@ -365,6 +365,7 @@
|
|
||||||
#define USB_PID_TERRATEC_DVBS2CI_V2 0x10ac
|
|
||||||
#define USB_PID_TECHNISAT_USB2_HDCI_V1 0x0001
|
|
||||||
#define USB_PID_TECHNISAT_USB2_HDCI_V2 0x0002
|
|
||||||
+#define USB_PID_TECHNISAT_USB2_CABLESTAR_HDCI 0x0003
|
|
||||||
#define USB_PID_TECHNISAT_AIRSTAR_TELESTICK_2 0x0004
|
|
||||||
#define USB_PID_TECHNISAT_USB2_DVB_S2 0x0500
|
|
||||||
#define USB_PID_CPYTO_REDI_PC50A 0xa803
|
|
||||||
diff --git a/drivers/media/usb/dvb-usb-v2/az6007.c b/drivers/media/usb/dvb-usb-v2/az6007.c
|
|
||||||
index 44c64ef3..c1051c3 100644
|
|
||||||
--- a/drivers/media/usb/dvb-usb-v2/az6007.c
|
|
||||||
+++ b/drivers/media/usb/dvb-usb-v2/az6007.c
|
|
||||||
@@ -68,6 +68,19 @@ static struct drxk_config terratec_h7_drxk = {
|
|
||||||
.microcode_name = "dvb-usb-terratec-h7-drxk.fw",
|
|
||||||
};
|
|
||||||
|
|
||||||
+static struct drxk_config cablestar_hdci_drxk = {
|
|
||||||
+ .adr = 0x29,
|
|
||||||
+ .parallel_ts = true,
|
|
||||||
+ .dynamic_clk = true,
|
|
||||||
+ .single_master = true,
|
|
||||||
+ .enable_merr_cfg = true,
|
|
||||||
+ .no_i2c_bridge = false,
|
|
||||||
+ .chunk_size = 64,
|
|
||||||
+ .mpeg_out_clk_strength = 0x02,
|
|
||||||
+ .qam_demod_parameter_count = 2,
|
|
||||||
+ .microcode_name = "dvb-usb-technisat-cablestar-hdci-drxk.fw",
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)
|
|
||||||
{
|
|
||||||
struct az6007_device_state *st = fe_to_priv(fe);
|
|
||||||
@@ -630,6 +643,27 @@ static int az6007_frontend_attach(struct dvb_usb_adapter *adap)
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
+static int az6007_cablestar_hdci_frontend_attach(struct dvb_usb_adapter *adap)
|
|
||||||
+{
|
|
||||||
+ struct az6007_device_state *st = adap_to_priv(adap);
|
|
||||||
+ struct dvb_usb_device *d = adap_to_d(adap);
|
|
||||||
+
|
|
||||||
+ pr_debug("attaching demod drxk\n");
|
|
||||||
+
|
|
||||||
+ adap->fe[0] = dvb_attach(drxk_attach, &cablestar_hdci_drxk,
|
|
||||||
+ &d->i2c_adap);
|
|
||||||
+ if (!adap->fe[0])
|
|
||||||
+ return -EINVAL;
|
|
||||||
+
|
|
||||||
+ adap->fe[0]->sec_priv = adap;
|
|
||||||
+ st->gate_ctrl = adap->fe[0]->ops.i2c_gate_ctrl;
|
|
||||||
+ adap->fe[0]->ops.i2c_gate_ctrl = drxk_gate_ctrl;
|
|
||||||
+
|
|
||||||
+ az6007_ci_init(adap);
|
|
||||||
+
|
|
||||||
+ return 0;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static int az6007_tuner_attach(struct dvb_usb_adapter *adap)
|
|
||||||
{
|
|
||||||
struct dvb_usb_device *d = adap_to_d(adap);
|
|
||||||
@@ -868,6 +902,29 @@ static struct dvb_usb_device_properties az6007_props = {
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
+static struct dvb_usb_device_properties az6007_cablestar_hdci_props = {
|
|
||||||
+ .driver_name = KBUILD_MODNAME,
|
|
||||||
+ .owner = THIS_MODULE,
|
|
||||||
+ .firmware = AZ6007_FIRMWARE,
|
|
||||||
+
|
|
||||||
+ .adapter_nr = adapter_nr,
|
|
||||||
+ .size_of_priv = sizeof(struct az6007_device_state),
|
|
||||||
+ .i2c_algo = &az6007_i2c_algo,
|
|
||||||
+ .tuner_attach = az6007_tuner_attach,
|
|
||||||
+ .frontend_attach = az6007_cablestar_hdci_frontend_attach,
|
|
||||||
+ .streaming_ctrl = az6007_streaming_ctrl,
|
|
||||||
+/* ditch get_rc_config as it can't work (TS35 remote, I believe it's rc5) */
|
|
||||||
+ .get_rc_config = NULL,
|
|
||||||
+ .read_mac_address = az6007_read_mac_addr,
|
|
||||||
+ .download_firmware = az6007_download_firmware,
|
|
||||||
+ .identify_state = az6007_identify_state,
|
|
||||||
+ .power_ctrl = az6007_power_ctrl,
|
|
||||||
+ .num_adapters = 1,
|
|
||||||
+ .adapter = {
|
|
||||||
+ { .stream = DVB_USB_STREAM_BULK(0x02, 10, 4096), }
|
|
||||||
+ }
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
static struct usb_device_id az6007_usb_table[] = {
|
|
||||||
{DVB_USB_DEVICE(USB_VID_AZUREWAVE, USB_PID_AZUREWAVE_6007,
|
|
||||||
&az6007_props, "Azurewave 6007", RC_MAP_EMPTY)},
|
|
||||||
@@ -875,6 +932,8 @@ static struct usb_device_id az6007_usb_table[] = {
|
|
||||||
&az6007_props, "Terratec H7", RC_MAP_NEC_TERRATEC_CINERGY_XS)},
|
|
||||||
{DVB_USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_H7_2,
|
|
||||||
&az6007_props, "Terratec H7", RC_MAP_NEC_TERRATEC_CINERGY_XS)},
|
|
||||||
+ {DVB_USB_DEVICE(USB_VID_TECHNISAT, USB_PID_TECHNISAT_USB2_CABLESTAR_HDCI,
|
|
||||||
+ &az6007_cablestar_hdci_props, "Technisat CableStar Combo HD CI", RC_MAP_EMPTY)},
|
|
||||||
{0},
|
|
||||||
};
|
|
||||||
|
|
|
@ -1,174 +0,0 @@
|
||||||
From: Ben Hutchings <ben@decadent.org.uk>
|
|
||||||
Subject: cs46xx: Use request_firmware() for old DSP code
|
|
||||||
Forwarded: no
|
|
||||||
|
|
||||||
Based on work by Kalle Olavi Niemitalo <kon@iki.fi>.
|
|
||||||
|
|
||||||
Tested by Antonio Ospite <ospite@studenti.unina.it>.
|
|
||||||
Unfortunately we cannot currently distribute the firmware.
|
|
||||||
|
|
||||||
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
|
|
||||||
index 17e03b9..124b3a0 100644
|
|
||||||
--- a/sound/pci/Kconfig
|
|
||||||
+++ b/sound/pci/Kconfig
|
|
||||||
@@ -229,7 +229,7 @@ config SND_CS4281
|
|
||||||
|
|
||||||
config SND_CS46XX
|
|
||||||
tristate "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x"
|
|
||||||
- depends on BROKEN
|
|
||||||
+ select FW_LOADER
|
|
||||||
select SND_RAWMIDI
|
|
||||||
select SND_AC97_CODEC
|
|
||||||
help
|
|
||||||
@@ -241,6 +241,7 @@ config SND_CS46XX
|
|
||||||
|
|
||||||
config SND_CS46XX_NEW_DSP
|
|
||||||
bool "Cirrus Logic (Sound Fusion) New DSP support"
|
|
||||||
+ depends on BROKEN
|
|
||||||
depends on SND_CS46XX
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c
|
|
||||||
index 1be96ea..b12b930 100644
|
|
||||||
--- a/sound/pci/cs46xx/cs46xx_lib.c
|
|
||||||
+++ b/sound/pci/cs46xx/cs46xx_lib.c
|
|
||||||
@@ -54,6 +54,8 @@
|
|
||||||
#include <linux/gameport.h>
|
|
||||||
#include <linux/mutex.h>
|
|
||||||
#include <linux/export.h>
|
|
||||||
+#include <linux/firmware.h>
|
|
||||||
+#include <linux/module.h>
|
|
||||||
|
|
||||||
|
|
||||||
#include <sound/core.h>
|
|
||||||
@@ -308,7 +309,7 @@ static void snd_cs46xx_ac97_write(struct snd_ac97 *ac97,
|
|
||||||
*/
|
|
||||||
|
|
||||||
int snd_cs46xx_download(struct snd_cs46xx *chip,
|
|
||||||
- u32 *src,
|
|
||||||
+ const __le32 *src,
|
|
||||||
unsigned long offset,
|
|
||||||
unsigned long len)
|
|
||||||
{
|
|
||||||
@@ -321,9 +322,9 @@ int snd_cs46xx_download(struct snd_cs46xx *chip,
|
|
||||||
dst = chip->region.idx[bank+1].remap_addr + offset;
|
|
||||||
len /= sizeof(u32);
|
|
||||||
|
|
||||||
- /* writel already converts 32-bit value to right endianess */
|
|
||||||
while (len-- > 0) {
|
|
||||||
- writel(*src++, dst);
|
|
||||||
+ __raw_writel((__force u32)*src++, dst);
|
|
||||||
+ mmiowb();
|
|
||||||
dst += sizeof(u32);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
@@ -360,23 +361,77 @@ int snd_cs46xx_clear_BA1(struct snd_cs46xx *chip,
|
|
||||||
|
|
||||||
#else /* old DSP image */
|
|
||||||
|
|
||||||
-#include "cs46xx_image.h"
|
|
||||||
+struct cs46xx_old_image {
|
|
||||||
+ __le32 size[BA1_MEMORY_COUNT];
|
|
||||||
+ __le32 data[0];
|
|
||||||
+};
|
|
||||||
|
|
||||||
-int snd_cs46xx_download_image(struct snd_cs46xx *chip)
|
|
||||||
+static int snd_cs46xx_check_image_size(const struct firmware *firmware)
|
|
||||||
{
|
|
||||||
- int idx, err;
|
|
||||||
- unsigned long offset = 0;
|
|
||||||
+ const struct cs46xx_old_image *image =
|
|
||||||
+ (const struct cs46xx_old_image *)firmware->data;
|
|
||||||
+ size_t offset = sizeof(*image);
|
|
||||||
+ int idx;
|
|
||||||
+
|
|
||||||
+ if (firmware->size < offset) {
|
|
||||||
+ snd_printk(KERN_ERR "cs46xx: firmware too small\n");
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
for (idx = 0; idx < BA1_MEMORY_COUNT; idx++) {
|
|
||||||
- if ((err = snd_cs46xx_download(chip,
|
|
||||||
- &BA1Struct.map[offset],
|
|
||||||
- BA1Struct.memory[idx].offset,
|
|
||||||
- BA1Struct.memory[idx].size)) < 0)
|
|
||||||
- return err;
|
|
||||||
- offset += BA1Struct.memory[idx].size >> 2;
|
|
||||||
- }
|
|
||||||
+ size_t size = le32_to_cpu(image->size[idx]);
|
|
||||||
+
|
|
||||||
+ if (size % sizeof(u32)) {
|
|
||||||
+ snd_printk(KERN_ERR "cs46xx: firmware hunk misaligned\n");
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ }
|
|
||||||
+ if (size > BA1_DWORD_SIZE * sizeof(u32)) {
|
|
||||||
+ snd_printk(KERN_ERR "cs46xx: firmware hunk out of range\n");
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ }
|
|
||||||
+ offset += size;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (firmware->size != offset) {
|
|
||||||
+ snd_printk(KERN_ERR "cs46xx: firmware size mismatch\n");
|
|
||||||
+ return -EINVAL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+static int snd_cs46xx_download_image(struct snd_cs46xx *chip)
|
|
||||||
+{
|
|
||||||
+ int idx, err;
|
|
||||||
+ const struct firmware *firmware = NULL;
|
|
||||||
+ const struct cs46xx_old_image *image;
|
|
||||||
+ const __le32 *data;
|
|
||||||
+
|
|
||||||
+ err = request_firmware(&firmware, "cs46xx/cs46xx-old.fw",
|
|
||||||
+ &chip->pci->dev);
|
|
||||||
+ if (err < 0) {
|
|
||||||
+ snd_printk(KERN_ERR "cs46xx: no firmware\n");
|
|
||||||
+ return err;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ err = snd_cs46xx_check_image_size(firmware);
|
|
||||||
+ if (err < 0)
|
|
||||||
+ goto end;
|
|
||||||
+ image = (const struct cs46xx_old_image *)firmware->data;
|
|
||||||
+ data = image->data;
|
|
||||||
+
|
|
||||||
+ for (idx = 0; idx < BA1_MEMORY_COUNT; idx++) {
|
|
||||||
+ size_t size = le32_to_cpu(image->size[idx]);
|
|
||||||
+
|
|
||||||
+ err = snd_cs46xx_download(chip, data, idx << 16, size);
|
|
||||||
+ if (err < 0)
|
|
||||||
+ goto end;
|
|
||||||
+ data += size / sizeof(u32);
|
|
||||||
+ }
|
|
||||||
+end:
|
|
||||||
+ release_firmware(firmware);
|
|
||||||
+ return err;
|
|
||||||
+}
|
|
||||||
#endif /* CONFIG_SND_CS46XX_NEW_DSP */
|
|
||||||
|
|
||||||
/*
|
|
||||||
@@ -3874,3 +3929,5 @@ int __devinit snd_cs46xx_create(struct snd_card *card,
|
|
||||||
*rchip = chip;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+MODULE_FIRMWARE("cs46xx/cs46xx-old.fw");
|
|
||||||
diff --git a/sound/pci/cs46xx/cs46xx_lib.h b/sound/pci/cs46xx/cs46xx_lib.h
|
|
||||||
index 4eb55aa..85babb5 100644
|
|
||||||
--- a/sound/pci/cs46xx/cs46xx_lib.h
|
|
||||||
+++ b/sound/pci/cs46xx/cs46xx_lib.h
|
|
||||||
@@ -103,8 +103,8 @@ int cs46xx_dsp_proc_done (struct snd_cs46xx *chip);
|
|
||||||
#define cs46xx_dsp_proc_done(chip)
|
|
||||||
#endif
|
|
||||||
int cs46xx_dsp_scb_and_task_init (struct snd_cs46xx *chip);
|
|
||||||
-int snd_cs46xx_download (struct snd_cs46xx *chip, u32 *src, unsigned long offset,
|
|
||||||
- unsigned long len);
|
|
||||||
+int snd_cs46xx_download(struct snd_cs46xx *chip, const __le32 *src, unsigned long offset,
|
|
||||||
+ unsigned long len);
|
|
||||||
int snd_cs46xx_clear_BA1(struct snd_cs46xx *chip, unsigned long offset, unsigned long len);
|
|
||||||
int cs46xx_dsp_enable_spdif_out (struct snd_cs46xx *chip);
|
|
||||||
int cs46xx_dsp_enable_spdif_hw (struct snd_cs46xx *chip);
|
|
|
@ -5,14 +5,15 @@ Origin: https://git.kernel.org/cgit/linux/kernel/git/konrad/xen.git/commit?id=db
|
||||||
|
|
||||||
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
|
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
|
||||||
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
||||||
|
[bwh: Forward-port to 3.14: adjust filename]
|
||||||
---
|
---
|
||||||
arch/x86/kernel/microcode_xen.c | 8 ++++++--
|
arch/x86/kernel/cpu/microcode/xen.c | 8 ++++++--
|
||||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/x86/kernel/microcode_xen.c b/arch/x86/kernel/microcode_xen.c
|
diff --git a/arch/x86/kernel/cpu/microcode/xen.c b/arch/x86/kernel/cpu/microcode/xen.c
|
||||||
index 6a73957..9e50566 100644
|
index 6a73957..9e50566 100644
|
||||||
--- a/arch/x86/kernel/microcode_xen.c
|
--- a/arch/x86/kernel/cpu/microcode/xen.c
|
||||||
+++ b/arch/x86/kernel/microcode_xen.c
|
+++ b/arch/x86/kernel/cpu/microcode/xen.c
|
||||||
@@ -58,7 +58,7 @@ static int xen_microcode_update(int cpu)
|
@@ -58,7 +58,7 @@ static int xen_microcode_update(int cpu)
|
||||||
|
|
||||||
static enum ucode_state xen_request_microcode_fw(int cpu, struct device *device)
|
static enum ucode_state xen_request_microcode_fw(int cpu, struct device *device)
|
||||||
|
|
|
@ -4,14 +4,15 @@ Subject: microcode_xen: update for changed core API
|
||||||
Forwarded: no
|
Forwarded: no
|
||||||
|
|
||||||
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
|
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
|
||||||
|
[bwh: Forward-port to 3.14: adjust filename]
|
||||||
---
|
---
|
||||||
arch/x86/kernel/microcode_xen.c | 3 ++-
|
arch/x86/kernel/cpu/microcode/xen.c | 3 ++-
|
||||||
1 files changed, 2 insertions(+), 1 deletions(-)
|
1 files changed, 2 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/x86/kernel/microcode_xen.c b/arch/x86/kernel/microcode_xen.c
|
diff --git a/arch/x86/kernel/cpu/microcode/xen.c b/arch/x86/kernel/cpu/microcode/xen.c
|
||||||
index 9e50566..6b7aa48 100644
|
index 9e50566..6b7aa48 100644
|
||||||
--- a/arch/x86/kernel/microcode_xen.c
|
--- a/arch/x86/kernel/cpu/microcode/xen.c
|
||||||
+++ b/arch/x86/kernel/microcode_xen.c
|
+++ b/arch/x86/kernel/cpu/microcode/xen.c
|
||||||
@@ -56,7 +56,8 @@ static int xen_microcode_update(int cpu)
|
@@ -56,7 +56,8 @@ static int xen_microcode_update(int cpu)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,15 +7,14 @@ After pulling in this change from your tree, I found the following bug,
|
||||||
when checking an enum value, which should be considered before inclusion:
|
when checking an enum value, which should be considered before inclusion:
|
||||||
|
|
||||||
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
||||||
|
[bwh: Forward-port to 3.14: adjust filename]
|
||||||
---
|
---
|
||||||
arch/x86/kernel/microcode_xen.c | 2 +-
|
arch/x86/kernel/cpu/microcode/xen.c | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/arch/x86/kernel/microcode_xen.c b/arch/x86/kernel/microcode_xen.c
|
--- a/arch/x86/kernel/cpu/microcode/xen.c
|
||||||
index 9d2a06b..6a73957 100644
|
+++ b/arch/x86/kernel/cpu/microcode/xen.c
|
||||||
--- a/arch/x86/kernel/microcode_xen.c
|
@@ -161,7 +161,7 @@ static enum ucode_state xen_request_micr
|
||||||
+++ b/arch/x86/kernel/microcode_xen.c
|
|
||||||
@@ -157,7 +157,7 @@ static enum ucode_state xen_request_microcode_user(int cpu,
|
|
||||||
ret = UCODE_OK;
|
ret = UCODE_OK;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
|
|
@ -13,19 +13,11 @@ doing anything for cpu "0".
|
||||||
|
|
||||||
[ Impact: allow CPU microcode update in Xen dom0 ]
|
[ Impact: allow CPU microcode update in Xen dom0 ]
|
||||||
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
|
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
|
||||||
|
[bwh: Forward-port to 3.14: adjust filenames, context]
|
||||||
---
|
---
|
||||||
|
|
||||||
arch/x86/include/asm/microcode.h | 9 ++
|
|
||||||
arch/x86/kernel/Makefile | 1 +
|
|
||||||
arch/x86/kernel/microcode_core.c | 5 +-
|
|
||||||
arch/x86/kernel/microcode_xen.c | 198 ++++++++++++++++++++++++++++++++++++++
|
|
||||||
arch/x86/xen/Kconfig | 4 +
|
|
||||||
5 files changed, 216 insertions(+), 1 deletion(-)
|
|
||||||
create mode 100644 arch/x86/kernel/microcode_xen.c
|
|
||||||
|
|
||||||
--- a/arch/x86/include/asm/microcode.h
|
--- a/arch/x86/include/asm/microcode.h
|
||||||
+++ b/arch/x86/include/asm/microcode.h
|
+++ b/arch/x86/include/asm/microcode.h
|
||||||
@@ -71,4 +71,13 @@ static inline int __init save_microcode_
|
@@ -86,4 +86,13 @@ static inline int __init save_microcode_
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -39,18 +31,18 @@ Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
#endif /* _ASM_X86_MICROCODE_H */
|
#endif /* _ASM_X86_MICROCODE_H */
|
||||||
--- a/arch/x86/kernel/Makefile
|
--- a/arch/x86/kernel/cpu/microcode/Makefile
|
||||||
+++ b/arch/x86/kernel/Makefile
|
+++ b/arch/x86/kernel/cpu/microcode/Makefile
|
||||||
@@ -95,6 +95,7 @@ obj-$(CONFIG_MICROCODE_INTEL_LIB) += mic
|
@@ -2,6 +2,7 @@ microcode-y := core.o
|
||||||
microcode-y := microcode_core.o
|
|
||||||
microcode-$(CONFIG_MICROCODE_INTEL) += microcode_intel.o
|
|
||||||
microcode-$(CONFIG_MICROCODE_AMD) += microcode_amd.o
|
|
||||||
+microcode-$(CONFIG_MICROCODE_XEN) += microcode_xen.o
|
|
||||||
obj-$(CONFIG_MICROCODE_AMD_EARLY) += microcode_amd_early.o
|
|
||||||
obj-$(CONFIG_MICROCODE) += microcode.o
|
obj-$(CONFIG_MICROCODE) += microcode.o
|
||||||
|
microcode-$(CONFIG_MICROCODE_INTEL) += intel.o intel_lib.o
|
||||||
--- a/arch/x86/kernel/microcode_core.c
|
microcode-$(CONFIG_MICROCODE_AMD) += amd.o
|
||||||
+++ b/arch/x86/kernel/microcode_core.c
|
+microcode-$(CONFIG_MICROCODE_XEN) += xen.o
|
||||||
|
obj-$(CONFIG_MICROCODE_EARLY) += core_early.o
|
||||||
|
obj-$(CONFIG_MICROCODE_INTEL_EARLY) += intel_early.o
|
||||||
|
obj-$(CONFIG_MICROCODE_AMD_EARLY) += amd_early.o
|
||||||
|
--- a/arch/x86/kernel/cpu/microcode/core.c
|
||||||
|
+++ b/arch/x86/kernel/cpu/microcode/core.c
|
||||||
@@ -84,6 +84,7 @@
|
@@ -84,6 +84,7 @@
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/syscore_ops.h>
|
#include <linux/syscore_ops.h>
|
||||||
|
@ -71,7 +63,7 @@ Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
|
||||||
else if (c->x86_vendor == X86_VENDOR_AMD)
|
else if (c->x86_vendor == X86_VENDOR_AMD)
|
||||||
microcode_ops = init_amd_microcode();
|
microcode_ops = init_amd_microcode();
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/x86/kernel/microcode_xen.c
|
+++ b/arch/x86/kernel/cpu/microcode/xen.c
|
||||||
@@ -0,0 +1,198 @@
|
@@ -0,0 +1,198 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Xen microcode update driver
|
+ * Xen microcode update driver
|
||||||
|
@ -273,10 +265,11 @@ Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
|
||||||
+}
|
+}
|
||||||
--- a/arch/x86/xen/Kconfig
|
--- a/arch/x86/xen/Kconfig
|
||||||
+++ b/arch/x86/xen/Kconfig
|
+++ b/arch/x86/xen/Kconfig
|
||||||
@@ -51,3 +51,6 @@ config XEN_DEBUG_FS
|
@@ -55,3 +55,7 @@ config XEN_PVH
|
||||||
Enable statistics output and various tuning options in debugfs.
|
bool "Support for running as a PVH guest"
|
||||||
Enabling this option may incur a significant performance overhead.
|
depends on X86_64 && XEN && XEN_PVHVM
|
||||||
|
def_bool n
|
||||||
|
+
|
||||||
+config MICROCODE_XEN
|
+config MICROCODE_XEN
|
||||||
+ def_bool y
|
+ def_bool y
|
||||||
+ depends on XEN_DOM0 && MICROCODE
|
+ depends on XEN_DOM0 && MICROCODE
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
# Changes to support package build system
|
# Changes to support package build system
|
||||||
debian/version.patch
|
debian/version.patch
|
||||||
debian/kernelvariables.patch
|
debian/kernelvariables.patch
|
||||||
features/all/doc-build-parallel.patch
|
|
||||||
debian/gitignore.patch
|
debian/gitignore.patch
|
||||||
debian/ia64-hardcode-arch-script-output.patch
|
debian/ia64-hardcode-arch-script-output.patch
|
||||||
debian/mips-disable-werror.patch
|
debian/mips-disable-werror.patch
|
||||||
|
@ -11,9 +10,7 @@ features/all/Kbuild-kconfig-Verbose-version-of-listnewconfig.patch
|
||||||
|
|
||||||
# Fixes/improvements to firmware loading
|
# Fixes/improvements to firmware loading
|
||||||
features/all/drivers-media-dvb-usb-af9005-request_firmware.patch
|
features/all/drivers-media-dvb-usb-af9005-request_firmware.patch
|
||||||
features/all/sound-pci-cs46xx-request_firmware.patch
|
|
||||||
debian/iwlwifi-do-not-request-unreleased-firmware.patch
|
debian/iwlwifi-do-not-request-unreleased-firmware.patch
|
||||||
bugfix/all/firmware_class-fix-read-size-check.patch
|
|
||||||
bugfix/all/firmware_class-return-specific-errors-from-file-read.patch
|
bugfix/all/firmware_class-return-specific-errors-from-file-read.patch
|
||||||
bugfix/all/firmware_class-log-every-success-and-failure.patch
|
bugfix/all/firmware_class-log-every-success-and-failure.patch
|
||||||
bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
|
bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
|
||||||
|
@ -74,9 +71,5 @@ features/all/mvsas-Recognise-device-subsystem-9485-9485-as-88SE94.patch
|
||||||
bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
|
bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
|
||||||
debian/add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch
|
debian/add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by-default.patch
|
||||||
bugfix/all/disable-some-marvell-phys.patch
|
bugfix/all/disable-some-marvell-phys.patch
|
||||||
features/all/media-az6007-support-Technisat-Cablestar-Combo-HDCI-.patch
|
|
||||||
bugfix/all/staging-lustre-Make-LUSTRE_LLITE_LLOOP-tristate.patch
|
|
||||||
bugfix/all/i2c-designware-remove-HAVE_CLK-build-dependecy.patch
|
|
||||||
debian/snd-pcsp-disable-autoload.patch
|
debian/snd-pcsp-disable-autoload.patch
|
||||||
bugfix/all/bluetooth-allocate-static-minor-for-vhci.patch
|
bugfix/all/bluetooth-allocate-static-minor-for-vhci.patch
|
||||||
bugfix/all/rtl8187-fix-regression-on-MIPS-without-coherent-DMA.patch
|
|
||||||
|
|
|
@ -7,5 +7,4 @@
|
||||||
+ debian/dfsg/video-remove-nvidiafb-and-rivafb.patch
|
+ debian/dfsg/video-remove-nvidiafb-and-rivafb.patch
|
||||||
+ debian/dfsg/r8192e-remove-firmware-again.patch
|
+ debian/dfsg/r8192e-remove-firmware-again.patch
|
||||||
+ debian/dfsg/firmware-cleanup.patch
|
+ debian/dfsg/firmware-cleanup.patch
|
||||||
+ debian/dfsg/sound-pci.patch
|
|
||||||
X debian/dfsg/files-1
|
X debian/dfsg/files-1
|
||||||
|
|
Loading…
Reference in New Issue