mirror of
https://github.com/openwrt/openwrt.git
synced 2024-11-26 11:24:47 +08:00
kernel: bump 5.10 to 5.10.75
Deleted (upstreamed): bcm27xx/patches-5.10/950-0735-xhci-guard-accesses-to-ep_state-in-xhci_endpoint_res.patch [1] [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.10.y&id=dc3e0a20dbb9dbaa22f4a33dea34230f8c663c40 Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
This commit is contained in:
parent
72e53eb133
commit
d4f0e45f90
@ -7,10 +7,10 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
endif
|
||||
|
||||
LINUX_VERSION-5.4 = .155
|
||||
LINUX_VERSION-5.10 = .74
|
||||
LINUX_VERSION-5.10 = .75
|
||||
|
||||
LINUX_KERNEL_HASH-5.4.155 = cc0c0f902748d251cb22d0e69e3b8d260c447eb0072ef853da15da6cce775038
|
||||
LINUX_KERNEL_HASH-5.10.74 = 5755a6487018399812238205aba73a2693b0f9f3cd73d7cf1ce4d5436c3de1b0
|
||||
LINUX_KERNEL_HASH-5.10.75 = 0a2b2f5fefb90773190aaef4726ac363e03992aedc424b0a57eca092d084304b
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -13,7 +13,7 @@ produce a noisy warning.
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -265,6 +265,7 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -267,6 +267,7 @@ static void xhci_pci_quirks(struct devic
|
||||
pdev->device == 0x0015) {
|
||||
xhci->quirks |= XHCI_RESET_ON_RESUME;
|
||||
xhci->quirks |= XHCI_ZERO_64B_REGS;
|
||||
|
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
* non-error returns are a promise to giveback() the urb later
|
||||
* we drop ownership so next owner (or urb unlink) can get it
|
||||
*/
|
||||
@@ -5362,6 +5459,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5367,6 +5464,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.endpoint_reset = xhci_endpoint_reset,
|
||||
.check_bandwidth = xhci_check_bandwidth,
|
||||
.reset_bandwidth = xhci_reset_bandwidth,
|
||||
|
@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -274,8 +274,10 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -276,8 +276,10 @@ static void xhci_pci_quirks(struct devic
|
||||
pdev->device == 0x3432)
|
||||
xhci->quirks |= XHCI_BROKEN_STREAMS;
|
||||
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -556,7 +556,10 @@ void xhci_find_new_dequeue_state(struct
|
||||
@@ -562,7 +562,10 @@ void xhci_find_new_dequeue_state(struct
|
||||
struct xhci_virt_ep *ep = &dev->eps[ep_index];
|
||||
struct xhci_ring *ep_ring;
|
||||
struct xhci_segment *new_seg;
|
||||
@ -48,7 +48,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
dma_addr_t addr;
|
||||
u64 hw_dequeue;
|
||||
bool cycle_found = false;
|
||||
@@ -594,7 +597,28 @@ void xhci_find_new_dequeue_state(struct
|
||||
@@ -600,7 +603,28 @@ void xhci_find_new_dequeue_state(struct
|
||||
hw_dequeue = xhci_get_hw_deq(xhci, dev, ep_index, stream_id);
|
||||
new_seg = ep_ring->deq_seg;
|
||||
new_deq = ep_ring->dequeue;
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -277,6 +277,7 @@ static void xhci_pci_quirks(struct devic
|
||||
@@ -279,6 +279,7 @@ static void xhci_pci_quirks(struct devic
|
||||
if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
|
||||
xhci->quirks |= XHCI_LPM_SUPPORT;
|
||||
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
|
||||
@ -32,7 +32,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -653,6 +653,16 @@ void xhci_find_new_dequeue_state(struct
|
||||
@@ -659,6 +659,16 @@ void xhci_find_new_dequeue_state(struct
|
||||
|
||||
} while (!cycle_found || !td_last_trb_found);
|
||||
|
||||
|
@ -77,7 +77,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
aliases {
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -322,7 +322,7 @@
|
||||
@@ -323,7 +323,7 @@
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
|
@ -277,7 +277,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
&uart0 {
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -319,6 +319,7 @@
|
||||
@@ -320,6 +320,7 @@
|
||||
#include "bcm2711-rpi.dtsi"
|
||||
#include "bcm283x-rpi-csi1-2lane.dtsi"
|
||||
#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
||||
@ -285,7 +285,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
@@ -585,6 +586,10 @@
|
||||
@@ -586,6 +587,10 @@
|
||||
pinctrl-0 = <&audio_pins>;
|
||||
};
|
||||
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -354,6 +354,10 @@
|
||||
@@ -355,6 +355,10 @@
|
||||
i2c4 = &i2c4;
|
||||
i2c5 = &i2c5;
|
||||
i2c6 = &i2c6;
|
||||
|
@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -349,11 +349,12 @@
|
||||
@@ -350,11 +350,12 @@
|
||||
mmc0 = &emmc2;
|
||||
mmc1 = &mmcnr;
|
||||
mmc2 = &sdhost;
|
||||
@ -34,7 +34,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
spi3 = &spi3;
|
||||
spi4 = &spi4;
|
||||
spi5 = &spi5;
|
||||
@@ -559,13 +560,6 @@
|
||||
@@ -560,13 +561,6 @@
|
||||
pinctrl-0 = <&i2s_pins>;
|
||||
};
|
||||
|
||||
|
@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -4256,9 +4256,9 @@ void xhci_queue_new_dequeue_state(struct
|
||||
@@ -4262,9 +4262,9 @@ void xhci_queue_new_dequeue_state(struct
|
||||
}
|
||||
ep = &xhci->devs[slot_id]->eps[ep_index];
|
||||
if ((ep->ep_state & SET_DEQ_PENDING)) {
|
||||
|
@ -1,43 +0,0 @@
|
||||
From 9d51ba9909129465493d56a7134ce4220d2e69e9 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
Date: Mon, 16 Aug 2021 14:43:06 +0100
|
||||
Subject: [PATCH] xhci: guard accesses to ep_state in
|
||||
xhci_endpoint_reset()
|
||||
|
||||
See https://github.com/raspberrypi/linux/issues/3981
|
||||
|
||||
Two read-modify-write cycles on ep->ep_state are not guarded by
|
||||
xhci->lock. Fix these.
|
||||
|
||||
Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
||||
---
|
||||
drivers/usb/host/xhci.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -3270,10 +3270,13 @@ static void xhci_endpoint_reset(struct u
|
||||
return;
|
||||
|
||||
/* Bail out if toggle is already being cleared by a endpoint reset */
|
||||
+ spin_lock_irqsave(&xhci->lock, flags);
|
||||
if (ep->ep_state & EP_HARD_CLEAR_TOGGLE) {
|
||||
ep->ep_state &= ~EP_HARD_CLEAR_TOGGLE;
|
||||
+ spin_unlock_irqrestore(&xhci->lock, flags);
|
||||
return;
|
||||
}
|
||||
+ spin_unlock_irqrestore(&xhci->lock, flags);
|
||||
/* Only interrupt and bulk ep's use data toggle, USB2 spec 5.5.4-> */
|
||||
if (usb_endpoint_xfer_control(&host_ep->desc) ||
|
||||
usb_endpoint_xfer_isoc(&host_ep->desc))
|
||||
@@ -3359,8 +3362,10 @@ static void xhci_endpoint_reset(struct u
|
||||
xhci_free_command(xhci, cfg_cmd);
|
||||
cleanup:
|
||||
xhci_free_command(xhci, stop_cmd);
|
||||
+ spin_lock_irqsave(&xhci->lock, flags);
|
||||
if (ep->ep_state & EP_SOFT_CLEAR_TOGGLE)
|
||||
ep->ep_state &= ~EP_SOFT_CLEAR_TOGGLE;
|
||||
+ spin_unlock_irqrestore(&xhci->lock, flags);
|
||||
}
|
||||
|
||||
static int xhci_check_streams_endpoint(struct xhci_hcd *xhci,
|
@ -191,7 +191,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
gpios = <&virtgpio 0 0>;
|
||||
--- a/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/bcm2711-rpi-4-b.dts
|
||||
@@ -579,13 +579,13 @@
|
||||
@@ -580,13 +580,13 @@
|
||||
};
|
||||
|
||||
&leds {
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -2088,6 +2088,7 @@ static int mv88e6xxx_port_fdb_add(struct
|
||||
@@ -2097,6 +2097,7 @@ static int mv88e6xxx_port_fdb_add(struct
|
||||
struct mv88e6xxx_chip *chip = ds->priv;
|
||||
int err;
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
mv88e6xxx_reg_lock(chip);
|
||||
err = mv88e6xxx_port_db_load_purge(chip, port, addr, vid,
|
||||
MV88E6XXX_G1_ATU_DATA_STATE_UC_STATIC);
|
||||
@@ -2102,6 +2103,7 @@ static int mv88e6xxx_port_fdb_del(struct
|
||||
@@ -2111,6 +2112,7 @@ static int mv88e6xxx_port_fdb_del(struct
|
||||
struct mv88e6xxx_chip *chip = ds->priv;
|
||||
int err;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -2650,6 +2650,9 @@ static int mv88e6xxx_setup_port(struct m
|
||||
@@ -2659,6 +2659,9 @@ static int mv88e6xxx_setup_port(struct m
|
||||
if (dsa_is_cpu_port(ds, port))
|
||||
reg = 0;
|
||||
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: DENG Qingfang <dqfext@gmail.com>
|
||||
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -2860,6 +2860,7 @@ static int mv88e6xxx_setup(struct dsa_sw
|
||||
@@ -2869,6 +2869,7 @@ static int mv88e6xxx_setup(struct dsa_sw
|
||||
|
||||
chip->ds = ds;
|
||||
ds->slave_mii_bus = mv88e6xxx_default_mdio_bus(chip);
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
|
||||
|
||||
--- a/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
|
||||
@@ -5422,6 +5422,7 @@ static int mv88e6xxx_register_switch(str
|
||||
@@ -5431,6 +5431,7 @@ static int mv88e6xxx_register_switch(str
|
||||
ds->ops = &mv88e6xxx_switch_ops;
|
||||
ds->ageing_time_min = chip->info->age_time_coeff;
|
||||
ds->ageing_time_max = chip->info->age_time_coeff * U8_MAX;
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/ethernet/Kconfig
|
||||
+++ b/drivers/net/ethernet/Kconfig
|
||||
@@ -158,6 +158,7 @@ source "drivers/net/ethernet/pasemi/Kcon
|
||||
@@ -159,6 +159,7 @@ source "drivers/net/ethernet/pasemi/Kcon
|
||||
source "drivers/net/ethernet/pensando/Kconfig"
|
||||
source "drivers/net/ethernet/qlogic/Kconfig"
|
||||
source "drivers/net/ethernet/qualcomm/Kconfig"
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/ethernet/Kconfig
|
||||
+++ b/drivers/net/ethernet/Kconfig
|
||||
@@ -162,6 +162,13 @@ source "drivers/net/ethernet/rdc/Kconfig
|
||||
@@ -163,6 +163,13 @@ source "drivers/net/ethernet/rdc/Kconfig
|
||||
source "drivers/net/ethernet/realtek/Kconfig"
|
||||
source "drivers/net/ethernet/renesas/Kconfig"
|
||||
source "drivers/net/ethernet/rocker/Kconfig"
|
||||
|
Loading…
Reference in New Issue
Block a user