-LINUX_VERSION-5.10 = .203
-LINUX_KERNEL_HASH-5.10.203 = 56ebcef9ce34012ff2804ed06648b842a7862880b794ed02d16387ece6b92877
+LINUX_VERSION-5.10 = .206
+LINUX_KERNEL_HASH-5.10.206 = c43d613216e6c5197519a4e979de5c1b510100858ff591963931c99e59c7485b
};
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;
};
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;
}
{
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;
* 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
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);
--- 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);
--- 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 */
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;
/* 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();
}
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,
};
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;
}
--- 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);
- 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);
--- 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];
#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;
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);
}
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);
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);
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)
--- 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;
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)
{
--- 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
#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
#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 },
{ 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 },
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
*/
}
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]);
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,
- 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)
+ 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;
}
}
--- 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;
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:
--- 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;
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,
#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_
}
/*
* 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);
--- 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);
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))
/* 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);
}
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");
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)
{
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);
}
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);
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;
}
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;
}
* @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
* 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;
}
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) {
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));
/* 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)
{
--- 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);
/* 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);
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;
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);
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;
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);
#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) },
{
--- 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.
*/
{
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];
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;
}
--- 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));
__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;
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);
}
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;
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);
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;
--- 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 */
--- 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);
}
/* 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);
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));
};
};
- memory {
+ memory@40000000 {
- reg = <0 0x40000000 0 0x20000000>;
+ reg = <0 0x40000000 0 0x40000000>;
};
+ */
};
- memory {
+ memory@40000000 {
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));