From: Greg Kroah-Hartman Date: Mon, 21 Sep 2020 12:29:10 +0000 (+0200) Subject: drop thunderbolt patch from older kernels X-Git-Tag: v4.4.237~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b1496e099a8de29c07a8bbec559dcd5a784a8cea;p=thirdparty%2Fkernel%2Fstable-queue.git drop thunderbolt patch from older kernels --- diff --git a/queue-4.14/series b/queue-4.14/series index e8a997fbd41..15d3ef94cce 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -88,5 +88,4 @@ i2c-i801-fix-resume-bug.patch percpu-fix-first-chunk-size-calculation-for-populated-bitmap.patch input-trackpoint-add-new-trackpoint-variant-ids.patch input-i8042-add-entroware-proteus-el07r4-to-nomux-and-reset-lists.patch -thunderbolt-retry-drom-read-once-if-parsing-fails.patch serial-8250_pci-add-realtek-816a-and-816b.patch diff --git a/queue-4.14/thunderbolt-retry-drom-read-once-if-parsing-fails.patch b/queue-4.14/thunderbolt-retry-drom-read-once-if-parsing-fails.patch deleted file mode 100644 index 1db8340beab..00000000000 --- a/queue-4.14/thunderbolt-retry-drom-read-once-if-parsing-fails.patch +++ /dev/null @@ -1,77 +0,0 @@ -From f022ff7bf377ca94367be05de61277934d42ea74 Mon Sep 17 00:00:00 2001 -From: Mika Westerberg -Date: Mon, 7 Sep 2020 12:20:36 +0300 -Subject: thunderbolt: Retry DROM read once if parsing fails - -From: Mika Westerberg - -commit f022ff7bf377ca94367be05de61277934d42ea74 upstream. - -Kai-Heng reported that sometimes DROM parsing of ASUS PA27AC Thunderbolt 3 -monitor fails. This makes the driver to fail to add the device so only -DisplayPort tunneling is functional. - -It is not clear what exactly happens but waiting for 100 ms and retrying -the read seems to work this around so we do that here. - -Link: https://bugzilla.kernel.org/show_bug.cgi?id=206493 -Reported-by: Kai-Heng Feng -Tested-by: Kai-Heng Feng -Cc: stable@vger.kernel.org -Signed-off-by: Mika Westerberg -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/thunderbolt/eeprom.c | 20 ++++++++++++++++---- - 1 file changed, 16 insertions(+), 4 deletions(-) - ---- a/drivers/thunderbolt/eeprom.c -+++ b/drivers/thunderbolt/eeprom.c -@@ -6,6 +6,7 @@ - */ - - #include -+#include - #include - #include - #include "tb.h" -@@ -385,8 +386,8 @@ static int tb_drom_parse_entries(struct - struct tb_drom_entry_header *entry = (void *) (sw->drom + pos); - if (pos + 1 == drom_size || pos + entry->len > drom_size - || !entry->len) { -- tb_sw_warn(sw, "drom buffer overrun, aborting\n"); -- return -EIO; -+ tb_sw_warn(sw, "DROM buffer overrun\n"); -+ return -EILSEQ; - } - - switch (entry->type) { -@@ -492,7 +493,8 @@ int tb_drom_read(struct tb_switch *sw) - u16 size; - u32 crc; - struct tb_drom_header *header; -- int res; -+ int res, retries = 1; -+ - if (sw->drom) - return 0; - -@@ -584,7 +586,17 @@ parse: - tb_sw_warn(sw, "drom device_rom_revision %#x unknown\n", - header->device_rom_revision); - -- return tb_drom_parse_entries(sw); -+ res = tb_drom_parse_entries(sw); -+ /* If the DROM parsing fails, wait a moment and retry once */ -+ if (res == -EILSEQ && retries--) { -+ tb_sw_warn(sw, "parsing DROM failed, retrying\n"); -+ msleep(100); -+ res = tb_drom_read_n(sw, 0, sw->drom, size); -+ if (!res) -+ goto parse; -+ } -+ -+ return res; - err: - kfree(sw->drom); - sw->drom = NULL; diff --git a/queue-4.19/series b/queue-4.19/series index 5cdb8b66215..0218346ffff 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -42,6 +42,5 @@ revert-alsa-hda-fix-silent-audio-output-and-corrupted.patch percpu-fix-first-chunk-size-calculation-for-populated-bitmap.patch input-trackpoint-add-new-trackpoint-variant-ids.patch input-i8042-add-entroware-proteus-el07r4-to-nomux-and-reset-lists.patch -thunderbolt-retry-drom-read-once-if-parsing-fails.patch serial-8250_pci-add-realtek-816a-and-816b.patch x86-boot-compressed-disable-relocation-relaxation.patch diff --git a/queue-4.19/thunderbolt-retry-drom-read-once-if-parsing-fails.patch b/queue-4.19/thunderbolt-retry-drom-read-once-if-parsing-fails.patch deleted file mode 100644 index 1db8340beab..00000000000 --- a/queue-4.19/thunderbolt-retry-drom-read-once-if-parsing-fails.patch +++ /dev/null @@ -1,77 +0,0 @@ -From f022ff7bf377ca94367be05de61277934d42ea74 Mon Sep 17 00:00:00 2001 -From: Mika Westerberg -Date: Mon, 7 Sep 2020 12:20:36 +0300 -Subject: thunderbolt: Retry DROM read once if parsing fails - -From: Mika Westerberg - -commit f022ff7bf377ca94367be05de61277934d42ea74 upstream. - -Kai-Heng reported that sometimes DROM parsing of ASUS PA27AC Thunderbolt 3 -monitor fails. This makes the driver to fail to add the device so only -DisplayPort tunneling is functional. - -It is not clear what exactly happens but waiting for 100 ms and retrying -the read seems to work this around so we do that here. - -Link: https://bugzilla.kernel.org/show_bug.cgi?id=206493 -Reported-by: Kai-Heng Feng -Tested-by: Kai-Heng Feng -Cc: stable@vger.kernel.org -Signed-off-by: Mika Westerberg -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/thunderbolt/eeprom.c | 20 ++++++++++++++++---- - 1 file changed, 16 insertions(+), 4 deletions(-) - ---- a/drivers/thunderbolt/eeprom.c -+++ b/drivers/thunderbolt/eeprom.c -@@ -6,6 +6,7 @@ - */ - - #include -+#include - #include - #include - #include "tb.h" -@@ -385,8 +386,8 @@ static int tb_drom_parse_entries(struct - struct tb_drom_entry_header *entry = (void *) (sw->drom + pos); - if (pos + 1 == drom_size || pos + entry->len > drom_size - || !entry->len) { -- tb_sw_warn(sw, "drom buffer overrun, aborting\n"); -- return -EIO; -+ tb_sw_warn(sw, "DROM buffer overrun\n"); -+ return -EILSEQ; - } - - switch (entry->type) { -@@ -492,7 +493,8 @@ int tb_drom_read(struct tb_switch *sw) - u16 size; - u32 crc; - struct tb_drom_header *header; -- int res; -+ int res, retries = 1; -+ - if (sw->drom) - return 0; - -@@ -584,7 +586,17 @@ parse: - tb_sw_warn(sw, "drom device_rom_revision %#x unknown\n", - header->device_rom_revision); - -- return tb_drom_parse_entries(sw); -+ res = tb_drom_parse_entries(sw); -+ /* If the DROM parsing fails, wait a moment and retry once */ -+ if (res == -EILSEQ && retries--) { -+ tb_sw_warn(sw, "parsing DROM failed, retrying\n"); -+ msleep(100); -+ res = tb_drom_read_n(sw, 0, sw->drom, size); -+ if (!res) -+ goto parse; -+ } -+ -+ return res; - err: - kfree(sw->drom); - sw->drom = NULL; diff --git a/queue-5.4/series b/queue-5.4/series index 5232e7dd9d0..18aa45c0291 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -60,6 +60,5 @@ alsa-hda-realtek-the-mic-on-a-redmibook-doesn-t-work.patch percpu-fix-first-chunk-size-calculation-for-populated-bitmap.patch input-trackpoint-add-new-trackpoint-variant-ids.patch input-i8042-add-entroware-proteus-el07r4-to-nomux-and-reset-lists.patch -thunderbolt-retry-drom-read-once-if-parsing-fails.patch serial-8250_pci-add-realtek-816a-and-816b.patch x86-boot-compressed-disable-relocation-relaxation.patch diff --git a/queue-5.4/thunderbolt-retry-drom-read-once-if-parsing-fails.patch b/queue-5.4/thunderbolt-retry-drom-read-once-if-parsing-fails.patch deleted file mode 100644 index effdc0ef8a9..00000000000 --- a/queue-5.4/thunderbolt-retry-drom-read-once-if-parsing-fails.patch +++ /dev/null @@ -1,77 +0,0 @@ -From f022ff7bf377ca94367be05de61277934d42ea74 Mon Sep 17 00:00:00 2001 -From: Mika Westerberg -Date: Mon, 7 Sep 2020 12:20:36 +0300 -Subject: thunderbolt: Retry DROM read once if parsing fails - -From: Mika Westerberg - -commit f022ff7bf377ca94367be05de61277934d42ea74 upstream. - -Kai-Heng reported that sometimes DROM parsing of ASUS PA27AC Thunderbolt 3 -monitor fails. This makes the driver to fail to add the device so only -DisplayPort tunneling is functional. - -It is not clear what exactly happens but waiting for 100 ms and retrying -the read seems to work this around so we do that here. - -Link: https://bugzilla.kernel.org/show_bug.cgi?id=206493 -Reported-by: Kai-Heng Feng -Tested-by: Kai-Heng Feng -Cc: stable@vger.kernel.org -Signed-off-by: Mika Westerberg -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/thunderbolt/eeprom.c | 20 ++++++++++++++++---- - 1 file changed, 16 insertions(+), 4 deletions(-) - ---- a/drivers/thunderbolt/eeprom.c -+++ b/drivers/thunderbolt/eeprom.c -@@ -7,6 +7,7 @@ - */ - - #include -+#include - #include - #include - #include "tb.h" -@@ -386,8 +387,8 @@ static int tb_drom_parse_entries(struct - struct tb_drom_entry_header *entry = (void *) (sw->drom + pos); - if (pos + 1 == drom_size || pos + entry->len > drom_size - || !entry->len) { -- tb_sw_warn(sw, "drom buffer overrun, aborting\n"); -- return -EIO; -+ tb_sw_warn(sw, "DROM buffer overrun\n"); -+ return -EILSEQ; - } - - switch (entry->type) { -@@ -493,7 +494,8 @@ int tb_drom_read(struct tb_switch *sw) - u16 size; - u32 crc; - struct tb_drom_header *header; -- int res; -+ int res, retries = 1; -+ - if (sw->drom) - return 0; - -@@ -581,7 +583,17 @@ parse: - tb_sw_warn(sw, "drom device_rom_revision %#x unknown\n", - header->device_rom_revision); - -- return tb_drom_parse_entries(sw); -+ res = tb_drom_parse_entries(sw); -+ /* If the DROM parsing fails, wait a moment and retry once */ -+ if (res == -EILSEQ && retries--) { -+ tb_sw_warn(sw, "parsing DROM failed, retrying\n"); -+ msleep(100); -+ res = tb_drom_read_n(sw, 0, sw->drom, size); -+ if (!res) -+ goto parse; -+ } -+ -+ return res; - err: - kfree(sw->drom); - sw->drom = NULL;