diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 98e064d2fd..2f7590a639 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -8,11 +8,11 @@ endif LINUX_VERSION-4.9 = .190 LINUX_VERSION-4.14 = .140 -LINUX_VERSION-4.19 = .67 +LINUX_VERSION-4.19 = .68 LINUX_KERNEL_HASH-4.9.190 = fe8a1ca080a462de6832762ba8b71410b828f0e52c1e11d3c46d83e9ac1e0a16 LINUX_KERNEL_HASH-4.14.140 = 795eed2515715ef29edd24f7a70912040cc206ec9a049c370cb305515f3fbdf2 -LINUX_KERNEL_HASH-4.19.67 = 5a1c3d60c38a7a0a086fcd6fdce5603c31c487852b1b64c071ee6de62c98a502 +LINUX_KERNEL_HASH-4.19.68 = 91875940518c0a8cecfa02ffcf371e4d8266b80971a95103e89a86b8a326a02b remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/bcm53xx/patches-4.19/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch b/target/linux/bcm53xx/patches-4.19/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch index b05749f72d..a0d40b0f0b 100644 --- a/target/linux/bcm53xx/patches-4.19/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch +++ b/target/linux/bcm53xx/patches-4.19/400-mtd-spi-nor-detect-JEDEC-incompatible-w25q128-using-.patch @@ -13,7 +13,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -1295,6 +1295,18 @@ static const struct flash_info *spi_nor_ +@@ -1297,6 +1297,18 @@ static const struct flash_info *spi_nor_ } dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n", id[0], id[1], id[2]); diff --git a/target/linux/brcm2708/patches-4.19/950-0307-Revert-pwm-Set-class-for-exported-channels-in-sysfs.patch b/target/linux/brcm2708/patches-4.19/950-0307-Revert-pwm-Set-class-for-exported-channels-in-sysfs.patch deleted file mode 100644 index 06fc3187a5..0000000000 --- a/target/linux/brcm2708/patches-4.19/950-0307-Revert-pwm-Set-class-for-exported-channels-in-sysfs.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 50edca9454fa2c35a2c3537a024a587addb4e823 Mon Sep 17 00:00:00 2001 -From: Fabrice Gasnier -Date: Mon, 1 Oct 2018 15:23:56 +0200 -Subject: [PATCH 307/773] Revert "pwm: Set class for exported channels in - sysfs" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -commit c289d6625237aa785b484b4e94c23b3b91ea7e60 upstream. - -This reverts commit 7e5d1fd75c3dde9fc10c4472b9368089d1b81d00 ("pwm: Set -class for exported channels in sysfs") as it causes regression with -multiple pwm chip[1], when exporting a pwm channel (echo X > export): - -- ABI (Documentation/ABI/testing/sysfs-class-pwm) states pwmX should be - created in /sys/class/pwm/pwmchipN/pwmX -- Reverted patch causes new entry to be also created directly in - /sys/class/pwm/pwmX -- 1st time, exporting pwmX will create an entry in /sys/class/pwm/pwmX -- class attributes are added under pwmX folder, such as export, unexport - npwm, symlinks. This is wrong as it belongs to pwmchipN. It may cause - bad behavior and report wrong values. -- when another export happens on another pwmchip, it can't be created - (e.g. -EEXIST). This is causing the issue with multiple pwmchip. - -Example on stm32 (stm32429i-eval) platform: -$ ls /sys/class/pwm -pwmchip0 pwmchip4 - -$ cd /sys/class/pwm/pwmchip0/ -$ echo 0 > export -$ ls /sys/class/pwm -pwm0 pwmchip0 pwmchip4 - -$ cd /sys/class/pwm/pwmchip4/ -$ echo 0 > export -sysfs: cannot create duplicate filename '/class/pwm/pwm0' -...Exception stack follows... - -This is also seen on other platform [2] - -[1] https://lkml.org/lkml/2018/9/25/713 -[2] https://lkml.org/lkml/2018/9/25/447 - -Signed-off-by: Fabrice Gasnier -Tested-by: Gottfried Haider -Tested-by: Michal Vokáč -Signed-off-by: Thierry Reding ---- - drivers/pwm/sysfs.c | 1 - - 1 file changed, 1 deletion(-) - ---- a/drivers/pwm/sysfs.c -+++ b/drivers/pwm/sysfs.c -@@ -263,7 +263,6 @@ static int pwm_export_child(struct devic - export->pwm = pwm; - mutex_init(&export->lock); - -- export->child.class = parent->class; - export->child.release = pwm_export_release; - export->child.parent = parent; - export->child.devt = MKDEV(0, 0); diff --git a/target/linux/generic/pending-4.19/630-packet_socket_type.patch b/target/linux/generic/pending-4.19/630-packet_socket_type.patch index 1e4b075e8d..70cf88ddfa 100644 --- a/target/linux/generic/pending-4.19/630-packet_socket_type.patch +++ b/target/linux/generic/pending-4.19/630-packet_socket_type.patch @@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3251,6 +3253,7 @@ static int packet_create(struct net *net +@@ -3258,6 +3260,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3862,6 +3865,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3869,6 +3872,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau default: return -ENOPROTOOPT; } -@@ -3914,6 +3927,13 @@ static int packet_getsockopt(struct sock +@@ -3921,6 +3934,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; diff --git a/target/linux/ipq40xx/patches-4.19/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch b/target/linux/ipq40xx/patches-4.19/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch index bcc6f65661..da9e578150 100644 --- a/target/linux/ipq40xx/patches-4.19/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch +++ b/target/linux/ipq40xx/patches-4.19/303-spi-nor-enable-4B-opcodes-for-mx25l25635f.patch @@ -1,14 +1,14 @@ --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -1092,6 +1092,7 @@ static const struct flash_info spi_nor_i - { "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) }, - { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) }, +@@ -1094,6 +1094,7 @@ static const struct flash_info spi_nor_i + { "mx25u12835f", INFO(0xc22538, 0, 64 * 1024, 256, + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, { "mx25l25635e", INFO(0xc22019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "mx25l25635f", INFO(0xc22019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) }, { "mx25u25635f", INFO(0xc22539, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_4B_OPCODES) }, { "mx25l25655e", INFO(0xc22619, 0, 64 * 1024, 512, 0) }, { "mx66l51235l", INFO(0xc2201a, 0, 64 * 1024, 1024, SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) }, -@@ -1274,11 +1275,12 @@ static const struct flash_info spi_nor_i +@@ -1276,11 +1277,12 @@ static const struct flash_info spi_nor_i { }, }; @@ -23,7 +23,7 @@ tmp = nor->read_reg(nor, SPINOR_OP_RDID, id, SPI_NOR_MAX_ID_LEN); if (tmp < 0) { -@@ -1289,10 +1291,16 @@ static const struct flash_info *spi_nor_ +@@ -1291,10 +1293,16 @@ static const struct flash_info *spi_nor_ for (tmp = 0; tmp < ARRAY_SIZE(spi_nor_ids) - 1; tmp++) { info = &spi_nor_ids[tmp]; if (info->id_len) { @@ -42,7 +42,7 @@ dev_err(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n", id[0], id[1], id[2]); return ERR_PTR(-ENODEV); -@@ -2826,7 +2834,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2828,7 +2836,7 @@ int spi_nor_scan(struct spi_nor *nor, co info = spi_nor_match_id(name); /* Try to auto-detect if chip name wasn't specified or not found */ if (!info) @@ -51,7 +51,7 @@ if (IS_ERR_OR_NULL(info)) return -ENOENT; -@@ -2837,7 +2845,7 @@ int spi_nor_scan(struct spi_nor *nor, co +@@ -2839,7 +2847,7 @@ int spi_nor_scan(struct spi_nor *nor, co if (name && info->id_len) { const struct flash_info *jinfo;