mirror of https://github.com/hak5/openwrt.git
kernel: bump 4.14 to 4.14.147
Refreshed all patches. Altered patches: - 403-mtd_fix_cfi_cmdset_0002_status_check.patch (ar71xx) - 403-mtd_fix_cfi_cmdset_0002_status_check.patch (ath79) Compile-tested on: ar71xx, cns3xxx, imx6, x86_64 Compile-tested on: ar71xx, cns3xxx, imx6 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>openwrt-19.07
parent
fd82b4fe70
commit
c4b514b200
|
@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
|
||||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LINUX_VERSION-4.14 = .146
|
LINUX_VERSION-4.14 = .147
|
||||||
|
|
||||||
LINUX_KERNEL_HASH-4.14.146 = a3c54b887ea3e679382bd4c0536e6a281b071dab2258bd3ee8af75baef2023f5
|
LINUX_KERNEL_HASH-4.14.147 = 8fd793688c9d9d4e26fdc175be92b6e638b6a86f4150dd66edecebab0bb85b12
|
||||||
|
|
||||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||||
|
|
|
@ -1,26 +1,24 @@
|
||||||
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
|
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||||
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
|
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||||
@@ -1635,8 +1635,8 @@ static int __xipram do_write_oneword(str
|
@@ -1641,7 +1641,7 @@ static int __xipram do_write_oneword(str
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- if (chip_ready(map, adr))
|
if (chip_good(map, adr, datum))
|
||||||
- break;
|
- break;
|
||||||
+ if (chip_good(map, adr, datum))
|
|
||||||
+ goto enable_xip;
|
+ goto enable_xip;
|
||||||
|
|
||||||
/* Latency issues. Drop the lock, wait a while and retry */
|
/* Latency issues. Drop the lock, wait a while and retry */
|
||||||
UDELAY(map, chip, adr, 1);
|
UDELAY(map, chip, adr, 1);
|
||||||
@@ -1652,6 +1652,8 @@ static int __xipram do_write_oneword(str
|
@@ -1658,6 +1658,8 @@ static int __xipram do_write_oneword(str
|
||||||
|
goto retry;
|
||||||
ret = -EIO;
|
}
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ enable_xip:
|
+ enable_xip:
|
||||||
xip_enable(map, chip, adr);
|
xip_enable(map, chip, adr);
|
||||||
op_done:
|
op_done:
|
||||||
if (mode == FL_OTP_WRITE)
|
if (mode == FL_OTP_WRITE)
|
||||||
@@ -2230,7 +2232,6 @@ static int cfi_amdstd_panic_write(struct
|
@@ -2236,7 +2238,6 @@ static int cfi_amdstd_panic_write(struct
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +26,7 @@
|
||||||
/*
|
/*
|
||||||
* Handle devices with one erase region, that only implement
|
* Handle devices with one erase region, that only implement
|
||||||
* the chip erase command.
|
* the chip erase command.
|
||||||
@@ -2298,7 +2299,7 @@ static int __xipram do_erase_chip(struct
|
@@ -2304,7 +2305,7 @@ static int __xipram do_erase_chip(struct
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chip_good(map, adr, map_word_ff(map)))
|
if (chip_good(map, adr, map_word_ff(map)))
|
||||||
|
@ -37,7 +35,7 @@
|
||||||
|
|
||||||
if (time_after(jiffies, timeo)) {
|
if (time_after(jiffies, timeo)) {
|
||||||
printk(KERN_WARNING "MTD %s(): software timeout\n",
|
printk(KERN_WARNING "MTD %s(): software timeout\n",
|
||||||
@@ -2322,6 +2323,7 @@ static int __xipram do_erase_chip(struct
|
@@ -2328,6 +2329,7 @@ static int __xipram do_erase_chip(struct
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +43,7 @@
|
||||||
chip->state = FL_READY;
|
chip->state = FL_READY;
|
||||||
xip_enable(map, chip, adr);
|
xip_enable(map, chip, adr);
|
||||||
DISABLE_VPP(map);
|
DISABLE_VPP(map);
|
||||||
@@ -2395,7 +2397,7 @@ static int __xipram do_erase_oneblock(st
|
@@ -2401,7 +2403,7 @@ static int __xipram do_erase_oneblock(st
|
||||||
|
|
||||||
if (chip_good(map, adr, map_word_ff(map))) {
|
if (chip_good(map, adr, map_word_ff(map))) {
|
||||||
xip_enable(map, chip, adr);
|
xip_enable(map, chip, adr);
|
||||||
|
@ -54,7 +52,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (time_after(jiffies, timeo)) {
|
if (time_after(jiffies, timeo)) {
|
||||||
@@ -2421,6 +2423,7 @@ static int __xipram do_erase_oneblock(st
|
@@ -2427,6 +2429,7 @@ static int __xipram do_erase_oneblock(st
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
/* Atmel chips don't use the same PRI format as AMD chips */
|
/* Atmel chips don't use the same PRI format as AMD chips */
|
||||||
static void fixup_convert_atmel_pri(struct mtd_info *mtd)
|
static void fixup_convert_atmel_pri(struct mtd_info *mtd)
|
||||||
@@ -1794,6 +1798,7 @@ static int cfi_amdstd_write_words(struct
|
@@ -1800,6 +1804,7 @@ static int cfi_amdstd_write_words(struct
|
||||||
/*
|
/*
|
||||||
* FIXME: interleaved mode not tested, and probably not supported!
|
* FIXME: interleaved mode not tested, and probably not supported!
|
||||||
*/
|
*/
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
|
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
|
||||||
unsigned long adr, const u_char *buf,
|
unsigned long adr, const u_char *buf,
|
||||||
int len)
|
int len)
|
||||||
@@ -1922,7 +1927,6 @@ static int __xipram do_write_buffer(stru
|
@@ -1928,7 +1933,6 @@ static int __xipram do_write_buffer(stru
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
|
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
|
||||||
size_t *retlen, const u_char *buf)
|
size_t *retlen, const u_char *buf)
|
||||||
{
|
{
|
||||||
@@ -1997,6 +2001,7 @@ static int cfi_amdstd_write_buffers(stru
|
@@ -2003,6 +2007,7 @@ static int cfi_amdstd_write_buffers(stru
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,26 +1,24 @@
|
||||||
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
|
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||||
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
|
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||||
@@ -1635,8 +1635,8 @@ static int __xipram do_write_oneword(str
|
@@ -1641,7 +1641,7 @@ static int __xipram do_write_oneword(str
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- if (chip_ready(map, adr))
|
if (chip_good(map, adr, datum))
|
||||||
- break;
|
- break;
|
||||||
+ if (chip_good(map, adr, datum))
|
|
||||||
+ goto enable_xip;
|
+ goto enable_xip;
|
||||||
|
|
||||||
/* Latency issues. Drop the lock, wait a while and retry */
|
/* Latency issues. Drop the lock, wait a while and retry */
|
||||||
UDELAY(map, chip, adr, 1);
|
UDELAY(map, chip, adr, 1);
|
||||||
@@ -1652,6 +1652,8 @@ static int __xipram do_write_oneword(str
|
@@ -1658,6 +1658,8 @@ static int __xipram do_write_oneword(str
|
||||||
|
goto retry;
|
||||||
ret = -EIO;
|
}
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ enable_xip:
|
+ enable_xip:
|
||||||
xip_enable(map, chip, adr);
|
xip_enable(map, chip, adr);
|
||||||
op_done:
|
op_done:
|
||||||
if (mode == FL_OTP_WRITE)
|
if (mode == FL_OTP_WRITE)
|
||||||
@@ -2230,7 +2232,6 @@ static int cfi_amdstd_panic_write(struct
|
@@ -2236,7 +2238,6 @@ static int cfi_amdstd_panic_write(struct
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +26,7 @@
|
||||||
/*
|
/*
|
||||||
* Handle devices with one erase region, that only implement
|
* Handle devices with one erase region, that only implement
|
||||||
* the chip erase command.
|
* the chip erase command.
|
||||||
@@ -2298,7 +2299,7 @@ static int __xipram do_erase_chip(struct
|
@@ -2304,7 +2305,7 @@ static int __xipram do_erase_chip(struct
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chip_good(map, adr, map_word_ff(map)))
|
if (chip_good(map, adr, map_word_ff(map)))
|
||||||
|
@ -37,7 +35,7 @@
|
||||||
|
|
||||||
if (time_after(jiffies, timeo)) {
|
if (time_after(jiffies, timeo)) {
|
||||||
printk(KERN_WARNING "MTD %s(): software timeout\n",
|
printk(KERN_WARNING "MTD %s(): software timeout\n",
|
||||||
@@ -2322,6 +2323,7 @@ static int __xipram do_erase_chip(struct
|
@@ -2328,6 +2329,7 @@ static int __xipram do_erase_chip(struct
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +43,7 @@
|
||||||
chip->state = FL_READY;
|
chip->state = FL_READY;
|
||||||
xip_enable(map, chip, adr);
|
xip_enable(map, chip, adr);
|
||||||
DISABLE_VPP(map);
|
DISABLE_VPP(map);
|
||||||
@@ -2395,7 +2397,7 @@ static int __xipram do_erase_oneblock(st
|
@@ -2401,7 +2403,7 @@ static int __xipram do_erase_oneblock(st
|
||||||
|
|
||||||
if (chip_good(map, adr, map_word_ff(map))) {
|
if (chip_good(map, adr, map_word_ff(map))) {
|
||||||
xip_enable(map, chip, adr);
|
xip_enable(map, chip, adr);
|
||||||
|
@ -54,7 +52,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (time_after(jiffies, timeo)) {
|
if (time_after(jiffies, timeo)) {
|
||||||
@@ -2421,6 +2423,7 @@ static int __xipram do_erase_oneblock(st
|
@@ -2427,6 +2429,7 @@ static int __xipram do_erase_oneblock(st
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||||
|
|
||||||
struct bcm2835_dmadev {
|
struct bcm2835_dmadev {
|
||||||
struct dma_device ddev;
|
struct dma_device ddev;
|
||||||
@@ -905,6 +907,9 @@ static int bcm2835_dma_probe(struct plat
|
@@ -907,6 +909,9 @@ static int bcm2835_dma_probe(struct plat
|
||||||
base = devm_ioremap_resource(&pdev->dev, res);
|
base = devm_ioremap_resource(&pdev->dev, res);
|
||||||
if (IS_ERR(base))
|
if (IS_ERR(base))
|
||||||
return PTR_ERR(base);
|
return PTR_ERR(base);
|
||||||
|
@ -57,7 +57,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||||
|
|
||||||
od->base = base;
|
od->base = base;
|
||||||
|
|
||||||
@@ -942,6 +947,9 @@ static int bcm2835_dma_probe(struct plat
|
@@ -944,6 +949,9 @@ static int bcm2835_dma_probe(struct plat
|
||||||
goto err_no_dma;
|
goto err_no_dma;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||||
/* get irqs for each channel that we support */
|
/* get irqs for each channel that we support */
|
||||||
for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) {
|
for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) {
|
||||||
/* skip masked out channels */
|
/* skip masked out channels */
|
||||||
@@ -1016,6 +1024,7 @@ static int bcm2835_dma_remove(struct pla
|
@@ -1018,6 +1026,7 @@ static int bcm2835_dma_remove(struct pla
|
||||||
{
|
{
|
||||||
struct bcm2835_dmadev *od = platform_get_drvdata(pdev);
|
struct bcm2835_dmadev *od = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||||
dma_async_device_unregister(&od->ddev);
|
dma_async_device_unregister(&od->ddev);
|
||||||
bcm2835_dma_free(od);
|
bcm2835_dma_free(od);
|
||||||
|
|
||||||
@@ -1031,7 +1040,22 @@ static struct platform_driver bcm2835_dm
|
@@ -1033,7 +1042,22 @@ static struct platform_driver bcm2835_dm
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
|
|
||||||
--- a/Makefile
|
--- a/Makefile
|
||||||
+++ b/Makefile
|
+++ b/Makefile
|
||||||
@@ -1241,7 +1241,6 @@ all: modules
|
@@ -1243,7 +1243,6 @@ all: modules
|
||||||
|
|
||||||
PHONY += modules
|
PHONY += modules
|
||||||
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
|
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
|
||||||
|
@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
@$(kecho) ' Building modules, stage 2.';
|
@$(kecho) ' Building modules, stage 2.';
|
||||||
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
||||||
|
|
||||||
@@ -1270,7 +1269,6 @@ _modinst_:
|
@@ -1272,7 +1271,6 @@ _modinst_:
|
||||||
rm -f $(MODLIB)/build ; \
|
rm -f $(MODLIB)/build ; \
|
||||||
ln -s $(CURDIR) $(MODLIB)/build ; \
|
ln -s $(CURDIR) $(MODLIB)/build ; \
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -44,7 +44,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||||
device, it has to decide which ones to send first, which ones to
|
device, it has to decide which ones to send first, which ones to
|
||||||
--- a/net/sched/sch_api.c
|
--- a/net/sched/sch_api.c
|
||||||
+++ b/net/sched/sch_api.c
|
+++ b/net/sched/sch_api.c
|
||||||
@@ -2028,7 +2028,7 @@ static int __init pktsched_init(void)
|
@@ -2029,7 +2029,7 @@ static int __init pktsched_init(void)
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ Signed-off-by: George Kashperko <george@znau.edu.ua>
|
||||||
1 file changed, 1 insertion(+)
|
1 file changed, 1 insertion(+)
|
||||||
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
|
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||||
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
|
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||||
@@ -1833,6 +1833,7 @@ static int __xipram do_write_buffer(stru
|
@@ -1839,6 +1839,7 @@ static int __xipram do_write_buffer(stru
|
||||||
|
|
||||||
/* Write Buffer Load */
|
/* Write Buffer Load */
|
||||||
map_write(map, CMD(0x25), cmd_adr);
|
map_write(map, CMD(0x25), cmd_adr);
|
||||||
|
|
|
@ -497,7 +497,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||||
.name = "sdhci-esdhc",
|
.name = "sdhci-esdhc",
|
||||||
--- a/drivers/mmc/host/sdhci.c
|
--- a/drivers/mmc/host/sdhci.c
|
||||||
+++ b/drivers/mmc/host/sdhci.c
|
+++ b/drivers/mmc/host/sdhci.c
|
||||||
@@ -2148,7 +2148,7 @@ static void sdhci_send_tuning(struct sdh
|
@@ -2150,7 +2150,7 @@ static void sdhci_send_tuning(struct sdh
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -506,7 +506,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@@ -2165,13 +2165,13 @@ static void __sdhci_execute_tuning(struc
|
@@ -2167,13 +2167,13 @@ static void __sdhci_execute_tuning(struc
|
||||||
pr_info("%s: Tuning timeout, falling back to fixed sampling clock\n",
|
pr_info("%s: Tuning timeout, falling back to fixed sampling clock\n",
|
||||||
mmc_hostname(host->mmc));
|
mmc_hostname(host->mmc));
|
||||||
sdhci_abort_tuning(host, opcode);
|
sdhci_abort_tuning(host, opcode);
|
||||||
|
@ -522,7 +522,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2183,6 +2183,7 @@ static void __sdhci_execute_tuning(struc
|
@@ -2185,6 +2185,7 @@ static void __sdhci_execute_tuning(struc
|
||||||
pr_info("%s: Tuning failed, falling back to fixed sampling clock\n",
|
pr_info("%s: Tuning failed, falling back to fixed sampling clock\n",
|
||||||
mmc_hostname(host->mmc));
|
mmc_hostname(host->mmc));
|
||||||
sdhci_reset_tuning(host);
|
sdhci_reset_tuning(host);
|
||||||
|
@ -530,7 +530,7 @@ Signed-off-by: Yinbo Zhu <yinbo.zhu@nxp.com>
|
||||||
}
|
}
|
||||||
|
|
||||||
int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
|
int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
|
||||||
@@ -2244,7 +2245,7 @@ int sdhci_execute_tuning(struct mmc_host
|
@@ -2246,7 +2247,7 @@ int sdhci_execute_tuning(struct mmc_host
|
||||||
|
|
||||||
sdhci_start_tuning(host);
|
sdhci_start_tuning(host);
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force word write
|
||||||
|
|
||||||
/* Atmel chips don't use the same PRI format as AMD chips */
|
/* Atmel chips don't use the same PRI format as AMD chips */
|
||||||
static void fixup_convert_atmel_pri(struct mtd_info *mtd)
|
static void fixup_convert_atmel_pri(struct mtd_info *mtd)
|
||||||
@@ -1792,6 +1796,7 @@ static int cfi_amdstd_write_words(struct
|
@@ -1798,6 +1802,7 @@ static int cfi_amdstd_write_words(struct
|
||||||
/*
|
/*
|
||||||
* FIXME: interleaved mode not tested, and probably not supported!
|
* FIXME: interleaved mode not tested, and probably not supported!
|
||||||
*/
|
*/
|
||||||
|
@ -52,7 +52,7 @@ Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force word write
|
||||||
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
|
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
|
||||||
unsigned long adr, const u_char *buf,
|
unsigned long adr, const u_char *buf,
|
||||||
int len)
|
int len)
|
||||||
@@ -1920,7 +1925,6 @@ static int __xipram do_write_buffer(stru
|
@@ -1926,7 +1931,6 @@ static int __xipram do_write_buffer(stru
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ Subject: [PATCH 37/53] mtd: cfi cmdset 0002 force word write
|
||||||
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
|
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
|
||||||
size_t *retlen, const u_char *buf)
|
size_t *retlen, const u_char *buf)
|
||||||
{
|
{
|
||||||
@@ -1995,6 +1999,7 @@ static int cfi_amdstd_write_buffers(stru
|
@@ -2001,6 +2005,7 @@ static int cfi_amdstd_write_buffers(stru
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue