kernel: bump 5.10 to 5.10.206

Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.10.206

All patches automatically rebased.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Hauke Mehrtens 2024-01-08 01:39:10 +01:00
parent 6121581765
commit debf4b56cd
37 changed files with 82 additions and 77 deletions

View File

@ -1,2 +1,2 @@
LINUX_VERSION-5.10 = .203
LINUX_KERNEL_HASH-5.10.203 = 56ebcef9ce34012ff2804ed06648b842a7862880b794ed02d16387ece6b92877
LINUX_VERSION-5.10 = .206
LINUX_KERNEL_HASH-5.10.206 = c43d613216e6c5197519a4e979de5c1b510100858ff591963931c99e59c7485b

View File

@ -56,7 +56,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
};
static const struct of_device_id atmel_pctrl_of_match[] = {
@@ -1025,6 +1034,11 @@ static int atmel_pinctrl_probe(struct pl
@@ -1032,6 +1041,11 @@ static int atmel_pinctrl_probe(struct pl
atmel_pioctrl_data = match->data;
atmel_pioctrl->nbanks = atmel_pioctrl_data->nbanks;
atmel_pioctrl->npins = atmel_pioctrl->nbanks * ATMEL_PIO_NPINS_PER_BANK;

View File

@ -111,7 +111,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
};
static const struct of_device_id atmel_pctrl_of_match[] = {
@@ -1039,6 +1065,7 @@ static int atmel_pinctrl_probe(struct pl
@@ -1046,6 +1072,7 @@ static int atmel_pinctrl_probe(struct pl
atmel_pioctrl->npins -= ATMEL_PIO_NPINS_PER_BANK;
atmel_pioctrl->npins += atmel_pioctrl_data->last_bank_count;
}

View File

@ -327,7 +327,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
{
struct atmel_pioctrl *atmel_pioctrl = pinctrl_dev_get_drvdata(pctldev);
u32 conf;
@@ -1108,8 +1112,8 @@ static int atmel_pinctrl_probe(struct pl
@@ -1115,8 +1119,8 @@ static int atmel_pinctrl_probe(struct pl
return -ENOMEM;
for (i = 0 ; i < atmel_pioctrl->npins; i++) {
struct atmel_group *group = atmel_pioctrl->groups + i;

View File

@ -545,15 +545,15 @@
* XXX skbs on the gro_list have all been parsed and pulled
--- a/include/net/addrconf.h
+++ b/include/net/addrconf.h
@@ -47,7 +47,7 @@ struct prefix_info {
@@ -52,7 +52,7 @@ struct prefix_info {
__be32 reserved2;
struct in6_addr prefix;
-};
+} __attribute__((packed, aligned(2)));
#include <linux/ipv6.h>
#include <linux/netdevice.h>
/* rfc4861 4.6.2: IPv6 PIO is 32 bytes in size */
static_assert(sizeof(struct prefix_info) == 32);
--- a/include/net/inet_ecn.h
+++ b/include/net/inet_ecn.h
@@ -140,9 +140,9 @@ static inline int IP6_ECN_set_ce(struct
@ -706,7 +706,7 @@
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -4147,14 +4147,16 @@ static bool tcp_parse_aligned_timestamp(
@@ -4151,14 +4151,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);

View File

@ -14,7 +14,7 @@ use the same logic.
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -2609,7 +2609,12 @@ static int pl011_setup_port(struct devic
@@ -2605,7 +2605,12 @@ static int pl011_setup_port(struct devic
if (IS_ERR(base))
return PTR_ERR(base);

View File

@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1654,6 +1654,23 @@ static void pl011_put_poll_char(struct u
@@ -1650,6 +1650,23 @@ static void pl011_put_poll_char(struct u
#endif /* CONFIG_CONSOLE_POLL */
@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static int pl011_hwinit(struct uart_port *port)
{
struct uart_amba_port *uap =
@@ -1670,7 +1687,7 @@ static int pl011_hwinit(struct uart_port
@@ -1666,7 +1683,7 @@ static int pl011_hwinit(struct uart_port
if (retval)
return retval;
@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
/* Clear pending error and receive interrupts */
pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS |
@@ -2323,7 +2340,7 @@ static int pl011_console_setup(struct co
@@ -2319,7 +2336,7 @@ static int pl011_console_setup(struct co
plat->init();
}
@ -68,7 +68,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
if (uap->vendor->fixed_options) {
baud = uap->fixed_baud;
@@ -2540,6 +2557,7 @@ static struct uart_driver amba_reg = {
@@ -2536,6 +2553,7 @@ static struct uart_driver amba_reg = {
.cons = AMBA_CONSOLE,
};
@ -76,7 +76,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
static int pl011_probe_dt_alias(int index, struct device *dev)
{
struct device_node *np;
@@ -2571,6 +2589,7 @@ static int pl011_probe_dt_alias(int inde
@@ -2567,6 +2585,7 @@ static int pl011_probe_dt_alias(int inde
return ret;
}

View File

@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1389,6 +1389,7 @@ static bool pl011_tx_char(struct uart_am
@@ -1385,6 +1385,7 @@ static bool pl011_tx_char(struct uart_am
return false; /* unable to transmit character */
pl011_write(c, uap, REG_DR);

View File

@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
- reg
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -2696,6 +2696,11 @@ static int pl011_probe(struct amba_devic
@@ -2692,6 +2692,11 @@ static int pl011_probe(struct amba_devic
if (IS_ERR(uap->clk))
return PTR_ERR(uap->clk);

View File

@ -34,7 +34,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -265,6 +265,7 @@ struct uart_amba_port {
@@ -267,6 +267,7 @@ struct uart_amba_port {
unsigned int old_cr; /* state during shutdown */
unsigned int fixed_baud; /* vendor-set fixed baud rate */
char type[12];
@ -42,7 +42,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
#ifdef CONFIG_DMA_ENGINE
/* DMA stuff */
bool using_tx_dma;
@@ -811,6 +812,7 @@ __acquires(&uap->port.lock)
@@ -806,6 +807,7 @@ __acquires(&uap->port.lock)
if (!uap->using_tx_dma)
return;
@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
dmaengine_terminate_async(uap->dmatx.chan);
if (uap->dmatx.queued) {
@@ -937,6 +939,7 @@ static void pl011_dma_rx_chars(struct ua
@@ -932,6 +934,7 @@ static void pl011_dma_rx_chars(struct ua
fifotaken = pl011_fifo_to_tty(uap);
}
@ -58,7 +58,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
spin_unlock(&uap->port.lock);
dev_vdbg(uap->port.dev,
"Took %d chars from DMA buffer and %d chars from the FIFO\n",
@@ -1353,6 +1356,7 @@ __acquires(&uap->port.lock)
@@ -1349,6 +1352,7 @@ __acquires(&uap->port.lock)
{
pl011_fifo_to_tty(uap);
@ -66,7 +66,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
spin_unlock(&uap->port.lock);
tty_flip_buffer_push(&uap->port.state->port);
/*
@@ -1486,6 +1490,7 @@ static irqreturn_t pl011_int(int irq, vo
@@ -1482,6 +1486,7 @@ static irqreturn_t pl011_int(int irq, vo
int handled = 0;
spin_lock_irqsave(&uap->port.lock, flags);
@ -74,7 +74,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
status = pl011_read(uap, REG_RIS) & uap->im;
if (status) {
do {
@@ -1505,7 +1510,7 @@ static irqreturn_t pl011_int(int irq, vo
@@ -1501,7 +1506,7 @@ static irqreturn_t pl011_int(int irq, vo
UART011_CTSMIS|UART011_RIMIS))
pl011_modem_status(uap);
if (status & UART011_TXIS)

View File

@ -29,7 +29,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/amba-pl011.c
+++ b/drivers/tty/serial/amba-pl011.c
@@ -1424,6 +1424,10 @@ static bool pl011_tx_chars(struct uart_a
@@ -1420,6 +1420,10 @@ static bool pl011_tx_chars(struct uart_a
if (likely(from_irq) && count-- == 0)
break;

View File

@ -266,7 +266,7 @@ Signed-off-by: Yaroslav Rosomakho <yaroslavros@gmail.com>
goto out;
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -1888,7 +1888,8 @@ EXPORT_SYMBOL(mmc_erase);
@@ -1890,7 +1890,8 @@ EXPORT_SYMBOL(mmc_erase);
int mmc_can_erase(struct mmc_card *card)
{

View File

@ -12,8 +12,8 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/tty/serial/sc16is7xx.c
+++ b/drivers/tty/serial/sc16is7xx.c
@@ -696,6 +696,8 @@ static bool sc16is7xx_port_irq(struct sc
rxlen = sc16is7xx_port_read(port, SC16IS7XX_RXLVL_REG);
@@ -708,6 +708,8 @@ static bool sc16is7xx_port_irq(struct sc
if (rxlen)
sc16is7xx_handle_rx(port, rxlen, iir);
+ else

View File

@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201
@@ -1283,6 +1286,9 @@
@@ -1286,6 +1289,9 @@
#define USB_VENDOR_ID_XAT 0x2505
#define USB_DEVICE_ID_XAT_CSR 0x0220
@ -45,7 +45,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
#define USB_DEVICE_ID_THT_2P_ARCADE 0x75e1
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -41,6 +41,7 @@ static const struct hid_device_id hid_qu
@@ -42,6 +42,7 @@ static const struct hid_device_id hid_qu
{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS682), HID_QUIRK_NOGET },
{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_CS692), HID_QUIRK_NOGET },
{ HID_USB_DEVICE(USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_UC100KM), HID_QUIRK_NOGET },
@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH), HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE2), HID_QUIRK_ALWAYS_POLL },
@@ -199,6 +200,7 @@ static const struct hid_device_id hid_qu
@@ -200,6 +201,7 @@ static const struct hid_device_id hid_qu
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD), HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_XIN_MO, USB_DEVICE_ID_XIN_MO_DUAL_ARCADE), HID_QUIRK_MULTI_INPUT },
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_GROUP_AUDIO), HID_QUIRK_NOGET },

View File

@ -38,7 +38,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
regcache_cache_bypass(s->regmap, false);
/* Put LCR back to the normal mode */
@@ -842,7 +843,7 @@ static unsigned int sc16is7xx_get_mctrl(
@@ -854,7 +855,7 @@ static unsigned int sc16is7xx_get_mctrl(
/* DCD and DSR are not wired and CTS/RTS is handled automatically
* so just indicate DSR and CAR asserted
*/
@ -47,7 +47,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
}
static void sc16is7xx_set_mctrl(struct uart_port *port, unsigned int mctrl)
@@ -929,14 +930,19 @@ static void sc16is7xx_set_termios(struct
@@ -941,14 +942,19 @@ static void sc16is7xx_set_termios(struct
regcache_cache_bypass(s->regmap, true);
sc16is7xx_port_write(port, SC16IS7XX_XON1_REG, termios->c_cc[VSTART]);
sc16is7xx_port_write(port, SC16IS7XX_XOFF1_REG, termios->c_cc[VSTOP]);

View File

@ -574,7 +574,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max
if (drm_crtc_vblank_get(crtc) == 0)
--- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
@@ -578,24 +578,24 @@ static void mtk_drm_crtc_atomic_disable(
@@ -578,29 +578,29 @@ static void mtk_drm_crtc_atomic_disable(
}
static void mtk_drm_crtc_atomic_begin(struct drm_crtc *crtc,
@ -584,6 +584,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max
- struct mtk_crtc_state *state = to_mtk_crtc_state(crtc->state);
+ struct mtk_crtc_state *crtc_state = to_mtk_crtc_state(crtc->state);
struct mtk_drm_crtc *mtk_crtc = to_mtk_crtc(crtc);
unsigned long flags;
- if (mtk_crtc->event && state->base.event)
+ if (mtk_crtc->event && crtc_state->base.event)
@ -594,9 +595,13 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201028123222.1732139-2-max
+ if (crtc_state->base.event) {
+ crtc_state->base.event->pipe = drm_crtc_index(crtc);
WARN_ON(drm_crtc_vblank_get(crtc) != 0);
spin_lock_irqsave(&crtc->dev->event_lock, flags);
- mtk_crtc->event = state->base.event;
- state->base.event = NULL;
+ mtk_crtc->event = crtc_state->base.event;
spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
- state->base.event = NULL;
+ crtc_state->base.event = NULL;
}
}

View File

@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/net/bluetooth/smp.c
+++ b/net/bluetooth/smp.c
@@ -2201,7 +2201,7 @@ mackey_and_ltk:
@@ -2215,7 +2215,7 @@ mackey_and_ltk:
if (err)
return SMP_UNSPECIFIED;
@ -33,7 +33,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
if (hcon->out) {
sc_dhkey_check(smp);
SMP_ALLOW_CMD(smp, SMP_CMD_DHKEY_CHECK);
@@ -2216,9 +2216,6 @@ mackey_and_ltk:
@@ -2230,9 +2230,6 @@ mackey_and_ltk:
confirm_hint = 0;
confirm:

View File

@ -22,7 +22,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
--- a/net/bluetooth/smp.c
+++ b/net/bluetooth/smp.c
@@ -883,16 +883,9 @@ static int tk_request(struct l2cap_conn
@@ -884,16 +884,9 @@ static int tk_request(struct l2cap_conn
hcon->io_capability == HCI_IO_NO_INPUT_OUTPUT)
smp->method = JUST_WORKS;

View File

@ -357,7 +357,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20201211114237.213288-2-tomi
static const struct drm_plane_helper_funcs ingenic_drm_plane_helper_funcs = {
--- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
@@ -617,7 +617,6 @@ static const struct drm_crtc_funcs mtk_c
@@ -622,7 +622,6 @@ static const struct drm_crtc_funcs mtk_c
.reset = mtk_drm_crtc_reset,
.atomic_duplicate_state = mtk_drm_crtc_duplicate_state,
.atomic_destroy_state = mtk_drm_crtc_destroy_state,

View File

@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
#include <asm/byteorder.h>
#include <asm/irq.h>
@@ -5553,6 +5557,72 @@ static void fotg210_init(struct fotg210_
@@ -5550,6 +5554,72 @@ static void fotg210_init(struct fotg210_
}
/*
@ -116,7 +116,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* fotg210_hcd_probe - initialize faraday FOTG210 HCDs
*
* Allocates basic resources for this USB host controller, and
@@ -5629,6 +5699,12 @@ static int fotg210_hcd_probe(struct plat
@@ -5626,6 +5696,12 @@ static int fotg210_hcd_probe(struct plat
fotg210_init(fotg210);

View File

@ -18,7 +18,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -6817,15 +6817,10 @@ void __netif_napi_del(struct napi_struct
@@ -6825,15 +6825,10 @@ void __netif_napi_del(struct napi_struct
}
EXPORT_SYMBOL(__netif_napi_del);
@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
weight = n->weight;
/* This NAPI_STATE_SCHED test is for avoiding a race
@@ -6845,7 +6840,7 @@ static int napi_poll(struct napi_struct
@@ -6853,7 +6848,7 @@ static int napi_poll(struct napi_struct
n->poll, work, weight);
if (likely(work < weight))
@ -44,7 +44,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* Drivers must not modify the NAPI state if they
* consume the entire weight. In such cases this code
@@ -6854,7 +6849,7 @@ static int napi_poll(struct napi_struct
@@ -6862,7 +6857,7 @@ static int napi_poll(struct napi_struct
*/
if (unlikely(napi_disable_pending(n))) {
napi_complete(n);
@ -53,7 +53,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
if (n->gro_bitmask) {
@@ -6872,12 +6867,29 @@ static int napi_poll(struct napi_struct
@@ -6880,12 +6875,29 @@ static int napi_poll(struct napi_struct
if (unlikely(!list_empty(&n->poll_list))) {
pr_warn_once("%s: Budget exhausted after napi rescheduled\n",
n->dev ? n->dev->name : "backlog");

View File

@ -131,7 +131,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int __dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
{
const struct net_device_ops *ops = dev->netdev_ops;
@@ -4276,6 +4298,21 @@ int gro_normal_batch __read_mostly = 8;
@@ -4284,6 +4306,21 @@ int gro_normal_batch __read_mostly = 8;
static inline void ____napi_schedule(struct softnet_data *sd,
struct napi_struct *napi)
{
@ -153,7 +153,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
list_add_tail(&napi->poll_list, &sd->poll_list);
__raise_softirq_irqoff(NET_RX_SOFTIRQ);
}
@@ -6770,6 +6807,12 @@ void netif_napi_add(struct net_device *d
@@ -6778,6 +6815,12 @@ void netif_napi_add(struct net_device *d
set_bit(NAPI_STATE_NPSVC, &napi->state);
list_add_rcu(&napi->dev_list, &dev->napi_list);
napi_hash_add(napi);
@ -166,7 +166,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
EXPORT_SYMBOL(netif_napi_add);
@@ -6786,9 +6829,28 @@ void napi_disable(struct napi_struct *n)
@@ -6794,9 +6837,28 @@ void napi_disable(struct napi_struct *n)
hrtimer_cancel(&n->timer);
clear_bit(NAPI_STATE_DISABLE, &n->state);
@ -195,7 +195,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static void flush_gro_hash(struct napi_struct *napi)
{
int i;
@@ -6814,6 +6876,11 @@ void __netif_napi_del(struct napi_struct
@@ -6822,6 +6884,11 @@ void __netif_napi_del(struct napi_struct
flush_gro_hash(napi);
napi->gro_bitmask = 0;
@ -207,7 +207,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
EXPORT_SYMBOL(__netif_napi_del);
@@ -6895,6 +6962,51 @@ static int napi_poll(struct napi_struct
@@ -6903,6 +6970,51 @@ static int napi_poll(struct napi_struct
return work;
}

View File

@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
* @n: NAPI context
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4302,8 +4302,9 @@ static inline void ____napi_schedule(str
@@ -4310,8 +4310,9 @@ static inline void ____napi_schedule(str
if (test_bit(NAPI_STATE_THREADED, &napi->state)) {
/* Paired with smp_mb__before_atomic() in
@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
* wake_up_process() when it's not NULL.
*/
thread = READ_ONCE(napi->thread);
@@ -6780,6 +6781,49 @@ static void init_gro_hash(struct napi_st
@@ -6788,6 +6789,49 @@ static void init_gro_hash(struct napi_st
napi->gro_bitmask = 0;
}

View File

@ -45,7 +45,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
enum gro_result {
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4309,6 +4309,8 @@ static inline void ____napi_schedule(str
@@ -4317,6 +4317,8 @@ static inline void ____napi_schedule(str
*/
thread = READ_ONCE(napi->thread);
if (thread) {
@ -54,7 +54,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
wake_up_process(thread);
return;
}
@@ -6572,7 +6574,8 @@ bool napi_complete_done(struct napi_stru
@@ -6580,7 +6582,8 @@ bool napi_complete_done(struct napi_stru
WARN_ON_ONCE(!(val & NAPIF_STATE_SCHED));
@ -64,7 +64,7 @@ Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
/* If STATE_MISSED was set, leave STATE_SCHED set,
* because we will call napi->poll() one more time.
@@ -7008,16 +7011,25 @@ static int napi_poll(struct napi_struct
@@ -7016,16 +7019,25 @@ static int napi_poll(struct napi_struct
static int napi_thread_wait(struct napi_struct *napi)
{

View File

@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -7015,7 +7015,7 @@ static int napi_thread_wait(struct napi_
@@ -7023,7 +7023,7 @@ static int napi_thread_wait(struct napi_
set_current_state(TASK_INTERRUPTIBLE);
@ -43,7 +43,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
/* Testing SCHED_THREADED bit here to make sure the current
* kthread owns this napi and could poll on this napi.
* Testing SCHED bit is not enough because SCHED bit might be
@@ -7033,6 +7033,7 @@ static int napi_thread_wait(struct napi_
@@ -7041,6 +7041,7 @@ static int napi_thread_wait(struct napi_
set_current_state(TASK_INTERRUPTIBLE);
}
__set_current_state(TASK_RUNNING);

View File

@ -967,7 +967,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
eth_hw_addr_random(ndev);
--- a/drivers/net/ethernet/qualcomm/qca_spi.c
+++ b/drivers/net/ethernet/qualcomm/qca_spi.c
@@ -884,7 +884,7 @@ qca_spi_probe(struct spi_device *spi)
@@ -902,7 +902,7 @@ qca_spi_probe(struct spi_device *spi)
struct net_device *qcaspi_devs = NULL;
u8 legacy_mode = 0;
u16 signature;
@ -976,7 +976,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (!spi->dev.of_node) {
dev_err(&spi->dev, "Missing device tree\n");
@@ -961,12 +961,8 @@ qca_spi_probe(struct spi_device *spi)
@@ -979,12 +979,8 @@ qca_spi_probe(struct spi_device *spi)
spi_set_drvdata(spi, qcaspi_devs);
@ -1360,7 +1360,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int irq;
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -5019,7 +5019,7 @@ int stmmac_dvr_probe(struct device *devi
@@ -5016,7 +5016,7 @@ int stmmac_dvr_probe(struct device *devi
priv->wol_irq = res->wol_irq;
priv->lpi_irq = res->lpi_irq;

View File

@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
help
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3658,6 +3658,11 @@ static int xmit_one(struct sk_buff *skb,
@@ -3666,6 +3666,11 @@ static int xmit_one(struct sk_buff *skb,
if (dev_nit_active(dev))
dev_queue_xmit_nit(skb, dev);

View File

@ -19,7 +19,7 @@
#define QUECTEL_VENDOR_ID 0x2c7c
/* These Quectel products use Quectel's vendor ID */
@@ -1187,6 +1189,11 @@ static const struct usb_device_id option
@@ -1188,6 +1190,11 @@ static const struct usb_device_id option
.driver_info = ZLP },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) },

View File

@ -129,7 +129,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
{
--- a/drivers/gpio/gpiolib-sysfs.c
+++ b/drivers/gpio/gpiolib-sysfs.c
@@ -572,7 +572,7 @@ static struct class gpio_class = {
@@ -575,7 +575,7 @@ static struct class gpio_class = {
*
* Returns zero on success, else an error.
*/
@ -138,7 +138,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
{
struct gpio_chip *chip;
struct gpio_device *gdev;
@@ -634,6 +634,8 @@ int gpiod_export(struct gpio_desc *desc,
@@ -637,6 +637,8 @@ int gpiod_export(struct gpio_desc *desc,
offset = gpio_chip_hwgpio(desc);
if (chip->names && chip->names[offset])
ioname = chip->names[offset];
@ -147,7 +147,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
dev = device_create_with_groups(&gpio_class, &gdev->dev,
MKDEV(0, 0), data, gpio_groups,
@@ -655,6 +657,12 @@ err_unlock:
@@ -658,6 +660,12 @@ err_unlock:
gpiod_dbg(desc, "%s: status %d\n", __func__, status);
return status;
}

View File

@ -1,6 +1,6 @@
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -1055,6 +1055,9 @@ int __init early_init_dt_scan_chosen(uns
@@ -1054,6 +1054,9 @@ int __init early_init_dt_scan_chosen(uns
p = of_get_flat_dt_prop(node, "bootargs", &l);
if (p != NULL && l > 0)
strlcpy(data, p, min(l, COMMAND_LINE_SIZE));

View File

@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
__u16 tc_index; /* traffic control index */
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -6073,6 +6073,9 @@ static enum gro_result dev_gro_receive(s
@@ -6081,6 +6081,9 @@ static enum gro_result dev_gro_receive(s
int same_flow;
int grow;
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (netif_elide_gro(skb->dev))
goto normal;
@@ -8051,6 +8054,48 @@ static void __netdev_adjacent_dev_unlink
@@ -8059,6 +8062,48 @@ static void __netdev_adjacent_dev_unlink
&upper_dev->adj_list.lower);
}
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static int __netdev_upper_dev_link(struct net_device *dev,
struct net_device *upper_dev, bool master,
void *upper_priv, void *upper_info,
@@ -8102,6 +8147,7 @@ static int __netdev_upper_dev_link(struc
@@ -8110,6 +8155,7 @@ static int __netdev_upper_dev_link(struc
if (ret)
return ret;
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
ret = notifier_to_errno(ret);
@@ -8198,6 +8244,7 @@ static void __netdev_upper_dev_unlink(st
@@ -8206,6 +8252,7 @@ static void __netdev_upper_dev_unlink(st
__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
@@ -8984,6 +9031,7 @@ int dev_set_mac_address(struct net_devic
@@ -8992,6 +9039,7 @@ int dev_set_mac_address(struct net_devic
if (err)
return err;
dev->addr_assign_type = NET_ADDR_SET;

View File

@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -1255,6 +1255,7 @@ static const struct usb_device_id produc
@@ -1256,6 +1256,7 @@ static const struct usb_device_id produc
{QMI_FIXED_INTF(0x19d2, 0x1426, 2)}, /* ZTE MF91 */
{QMI_FIXED_INTF(0x19d2, 0x1428, 2)}, /* Telewell TW-LTE 4G v2 */
{QMI_FIXED_INTF(0x19d2, 0x1432, 3)}, /* ZTE ME3620 */

View File

@ -29,7 +29,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -5052,6 +5052,10 @@ int stmmac_dvr_probe(struct device *devi
@@ -5049,6 +5049,10 @@ int stmmac_dvr_probe(struct device *devi
reset_control_reset(priv->plat->stmmac_rst);
}
@ -40,7 +40,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* Init MAC and get the capabilities */
ret = stmmac_hw_init(priv);
if (ret)
@@ -5260,6 +5264,7 @@ int stmmac_dvr_remove(struct device *dev
@@ -5257,6 +5261,7 @@ int stmmac_dvr_remove(struct device *dev
phylink_destroy(priv->phylink);
if (priv->plat->stmmac_rst)
reset_control_assert(priv->plat->stmmac_rst);

View File

@ -17,7 +17,7 @@
default ""
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -1059,6 +1059,17 @@ int __init early_init_dt_scan_chosen(uns
@@ -1058,6 +1058,17 @@ int __init early_init_dt_scan_chosen(uns
if (p != NULL && l > 0)
strlcat(data, p, min_t(int, strlen(data) + (int)l, COMMAND_LINE_SIZE));

View File

@ -40,7 +40,7 @@
};
};
memory {
memory@40000000 {
- reg = <0 0x40000000 0 0x20000000>;
+ reg = <0 0x40000000 0 0x40000000>;
};

View File

@ -53,4 +53,4 @@
+ */
};
memory {
memory@40000000 {

View File

@ -17,7 +17,7 @@
help
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -1059,6 +1059,17 @@ int __init early_init_dt_scan_chosen(uns
@@ -1058,6 +1058,17 @@ int __init early_init_dt_scan_chosen(uns
if (p != NULL && l > 0)
strlcat(data, p, min_t(int, strlen(data) + (int)l, COMMAND_LINE_SIZE));