-LINUX_VERSION-6.1 = .92
-LINUX_KERNEL_HASH-6.1.92 = 9019f427bfdc9ced5bc954d760d37ac08c0cdffb45ad28087fc45a73e64336c9
+LINUX_VERSION-6.1 = .93
+LINUX_KERNEL_HASH-6.1.93 = df31af2ef5923d61fadd68bfd991f50f2e42a913895eb4b03214ee78f8720bcf
+++ /dev/null
-From 648c906a27d3713f589717f4be36583fc64f2ba1 Mon Sep 17 00:00:00 2001
-From: Steve Glendinning <steve.glendinning@smsc.com>
-Date: Thu, 19 Feb 2015 18:47:12 +0000
-Subject: [PATCH] smsx95xx: fix crimes against truesize
-
-smsc95xx is adjusting truesize when it shouldn't, and following a recent patch from Eric this is now triggering warnings.
-
-This patch stops smsc95xx from changing truesize.
-
-Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
----
- drivers/net/usb/smsc95xx.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
---- a/drivers/net/usb/smsc95xx.c
-+++ b/drivers/net/usb/smsc95xx.c
-@@ -79,6 +79,10 @@ static bool turbo_mode = true;
- module_param(turbo_mode, bool, 0644);
- MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction");
-
-+static bool truesize_mode = false;
-+module_param(truesize_mode, bool, 0644);
-+MODULE_PARM_DESC(truesize_mode, "Report larger truesize value");
-+
- static int __must_check smsc95xx_read_reg(struct usbnet *dev, u32 index,
- u32 *data)
- {
-@@ -1870,7 +1874,8 @@ static int smsc95xx_rx_fixup(struct usbn
- if (dev->net->features & NETIF_F_RXCSUM)
- smsc95xx_rx_csum_offload(skb);
- skb_trim(skb, skb->len - 4); /* remove fcs */
-- skb->truesize = size + sizeof(struct sk_buff);
-+ if (truesize_mode)
-+ skb->truesize = size + sizeof(struct sk_buff);
-
- return 1;
- }
-@@ -1888,7 +1893,8 @@ static int smsc95xx_rx_fixup(struct usbn
- if (dev->net->features & NETIF_F_RXCSUM)
- smsc95xx_rx_csum_offload(ax_skb);
- skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
-- ax_skb->truesize = size + sizeof(struct sk_buff);
-+ if (truesize_mode)
-+ ax_skb->truesize = size + sizeof(struct sk_buff);
-
- usbnet_skb_return(dev, ax_skb);
- }
--- a/drivers/net/usb/smsc95xx.c
+++ b/drivers/net/usb/smsc95xx.c
-@@ -83,6 +83,10 @@ static bool truesize_mode = false;
- module_param(truesize_mode, bool, 0644);
- MODULE_PARM_DESC(truesize_mode, "Report larger truesize value");
+@@ -79,6 +79,10 @@ static bool turbo_mode = true;
+ module_param(turbo_mode, bool, 0644);
+ MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction");
+static int packetsize = 2560;
+module_param(packetsize, int, 0644);
static int __must_check smsc95xx_read_reg(struct usbnet *dev, u32 index,
u32 *data)
{
-@@ -936,13 +940,13 @@ static int smsc95xx_reset(struct usbnet
+@@ -932,13 +936,13 @@ static int smsc95xx_reset(struct usbnet
if (!turbo_mode) {
burst_cap = 0;
--- a/drivers/net/usb/smsc95xx.c
+++ b/drivers/net/usb/smsc95xx.c
-@@ -87,6 +87,10 @@ static int packetsize = 2560;
+@@ -83,6 +83,10 @@ static int packetsize = 2560;
module_param(packetsize, int, 0644);
MODULE_PARM_DESC(packetsize, "Override the RX URB packet size");
static int __must_check smsc95xx_read_reg(struct usbnet *dev, u32 index,
u32 *data)
{
-@@ -809,6 +813,52 @@ static int smsc95xx_ioctl(struct net_dev
+@@ -805,6 +809,52 @@ static int smsc95xx_ioctl(struct net_dev
return phy_mii_ioctl(netdev->phydev, rq, cmd);
}
static void smsc95xx_init_mac_address(struct usbnet *dev)
{
u8 addr[ETH_ALEN];
-@@ -832,6 +882,10 @@ static void smsc95xx_init_mac_address(st
+@@ -828,6 +878,10 @@ static void smsc95xx_init_mac_address(st
}
}
--- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c
-@@ -32,6 +32,8 @@ struct rpi_firmware {
+@@ -33,6 +33,8 @@ struct rpi_firmware {
struct kref consumers;
};
static DEFINE_MUTEX(transaction_lock);
static void response_callback(struct mbox_client *cl, void *msg)
-@@ -280,6 +282,7 @@ static int rpi_firmware_probe(struct pla
+@@ -281,6 +283,7 @@ static int rpi_firmware_probe(struct pla
kref_init(&fw->consumers);
platform_set_drvdata(pdev, fw);
rpi_firmware_print_firmware_revision(fw);
rpi_register_hwmon_driver(dev, fw);
-@@ -308,6 +311,7 @@ static int rpi_firmware_remove(struct pl
+@@ -309,6 +312,7 @@ static int rpi_firmware_remove(struct pl
rpi_clk = NULL;
rpi_firmware_put(fw);
return 0;
}
-@@ -382,7 +386,18 @@ static struct platform_driver rpi_firmwa
+@@ -383,7 +387,18 @@ static struct platform_driver rpi_firmwa
.shutdown = rpi_firmware_shutdown,
.remove = rpi_firmware_remove,
};
--- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c
-@@ -12,6 +12,7 @@
+@@ -13,6 +13,7 @@
#include <linux/module.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <soc/bcm2835/raspberrypi-firmware.h>
-@@ -179,6 +180,26 @@ int rpi_firmware_property(struct rpi_fir
+@@ -180,6 +181,26 @@ int rpi_firmware_property(struct rpi_fir
}
EXPORT_SYMBOL_GPL(rpi_firmware_property);
static void
rpi_firmware_print_firmware_revision(struct rpi_firmware *fw)
{
-@@ -387,15 +408,32 @@ static struct platform_driver rpi_firmwa
+@@ -388,15 +409,32 @@ static struct platform_driver rpi_firmwa
.remove = rpi_firmware_remove,
};
--- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c
-@@ -31,6 +31,7 @@ struct rpi_firmware {
+@@ -32,6 +32,7 @@ struct rpi_firmware {
u32 enabled;
struct kref consumers;
};
static struct platform_device *g_pdev;
-@@ -176,6 +177,12 @@ int rpi_firmware_property(struct rpi_fir
+@@ -177,6 +178,12 @@ int rpi_firmware_property(struct rpi_fir
kfree(data);
return ret;
}
EXPORT_SYMBOL_GPL(rpi_firmware_property);
-@@ -200,6 +207,27 @@ static int rpi_firmware_notify_reboot(st
+@@ -201,6 +208,27 @@ static int rpi_firmware_notify_reboot(st
return 0;
}
static void
rpi_firmware_print_firmware_revision(struct rpi_firmware *fw)
{
-@@ -229,6 +257,11 @@ rpi_register_hwmon_driver(struct device
+@@ -230,6 +258,11 @@ rpi_register_hwmon_driver(struct device
rpi_hwmon = platform_device_register_data(dev, "raspberrypi-hwmon",
-1, NULL, 0);
--- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c
-@@ -233,6 +233,15 @@ rpi_firmware_print_firmware_revision(str
+@@ -234,6 +234,15 @@ rpi_firmware_print_firmware_revision(str
{
time64_t date_and_time;
u32 packet;
int ret = rpi_firmware_property(fw,
RPI_FIRMWARE_GET_FIRMWARE_REVISION,
&packet, sizeof(packet));
-@@ -242,7 +251,35 @@ rpi_firmware_print_firmware_revision(str
+@@ -243,7 +252,35 @@ rpi_firmware_print_firmware_revision(str
/* This is not compatible with y2038 */
date_and_time = packet;
}
static void
-@@ -339,6 +376,7 @@ static int rpi_firmware_probe(struct pla
+@@ -340,6 +377,7 @@ static int rpi_firmware_probe(struct pla
g_pdev = pdev;
rpi_firmware_print_firmware_revision(fw);
MODULE_DESCRIPTION("BCM2835 clock driver");
--- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c
-@@ -499,7 +499,7 @@ out2:
+@@ -500,7 +500,7 @@ out2:
out1:
return ret;
}
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -3690,6 +3690,7 @@ static int spi_set_cs_timing(struct spi_
+@@ -3694,6 +3694,7 @@ static int spi_set_cs_timing(struct spi_
*/
int spi_setup(struct spi_device *spi)
{
unsigned bad_bits, ugly_bits;
int status = 0;
-@@ -3710,6 +3711,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3714,6 +3715,14 @@ int spi_setup(struct spi_device *spi)
(SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
return -EINVAL;
--- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c
-@@ -193,6 +193,7 @@ static int rpi_firmware_notify_reboot(st
+@@ -194,6 +194,7 @@ static int rpi_firmware_notify_reboot(st
{
struct rpi_firmware *fw;
struct platform_device *pdev = g_pdev;
if (!pdev)
return 0;
-@@ -201,8 +202,28 @@ static int rpi_firmware_notify_reboot(st
+@@ -202,8 +203,28 @@ static int rpi_firmware_notify_reboot(st
if (!fw)
return 0;
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
-@@ -3193,6 +3193,31 @@ static const struct panel_desc qishenglo
+@@ -3196,6 +3196,31 @@ static const struct panel_desc qishenglo
.connector_type = DRM_MODE_CONNECTOR_DPI,
};
static const struct display_timing rocktech_rk070er9427_timing = {
.pixelclock = { 26400000, 33300000, 46800000 },
.hactive = { 800, 800, 800 },
-@@ -4226,6 +4251,9 @@ static const struct of_device_id platfor
+@@ -4229,6 +4254,9 @@ static const struct of_device_id platfor
.compatible = "qishenglong,gopher2b-lcd",
.data = &qishenglong_gopher2b_lcd,
}, {
static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
.clock = 9000,
.hdisplay = 480,
-@@ -4110,6 +4136,9 @@ static const struct of_device_id platfor
+@@ -4113,6 +4139,9 @@ static const struct of_device_id platfor
.compatible = "friendlyarm,hd702e",
.data = &friendlyarm_hd702e,
}, {
--- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c
-@@ -429,6 +429,18 @@ static int rpi_firmware_remove(struct pl
+@@ -430,6 +430,18 @@ static int rpi_firmware_remove(struct pl
return 0;
}
/**
* rpi_firmware_get - Get pointer to rpi_firmware structure.
* @firmware_node: Pointer to the firmware Device Tree node.
-@@ -484,12 +496,6 @@ struct rpi_firmware *devm_rpi_firmware_g
+@@ -485,12 +497,6 @@ struct rpi_firmware *devm_rpi_firmware_g
}
EXPORT_SYMBOL_GPL(devm_rpi_firmware_get);
--- a/drivers/firmware/raspberrypi.c
+++ b/drivers/firmware/raspberrypi.c
-@@ -342,6 +342,26 @@ static void rpi_register_clk_driver(stru
+@@ -343,6 +343,26 @@ static void rpi_register_clk_driver(stru
-1, NULL, 0);
}
#include <sound/dmaengine_pcm.h>
#include <sound/hdmi-codec.h>
#include <sound/pcm_drm_eld.h>
-@@ -3695,7 +3696,7 @@ static int vc4_hdmi_bind(struct device *
+@@ -3697,7 +3698,7 @@ static int vc4_hdmi_bind(struct device *
if (variant->max_pixel_clock == 600000000) {
struct vc4_dev *vc4 = to_vc4_dev(drm);
return MODE_CLOCK_HIGH;
if (info->max_tmds_clock && clock > (info->max_tmds_clock * 1000))
-@@ -3694,14 +3695,6 @@ static int vc4_hdmi_bind(struct device *
+@@ -3696,14 +3697,6 @@ static int vc4_hdmi_bind(struct device *
vc4_hdmi->disable_wifi_frequencies =
of_property_read_bool(dev->of_node, "wifi-2.4ghz-coexistence");
static const struct drm_display_mode innolux_at070tn92_mode = {
.clock = 33333,
.hdisplay = 800,
-@@ -4146,6 +4178,9 @@ static const struct of_device_id platfor
+@@ -4149,6 +4181,9 @@ static const struct of_device_id platfor
.compatible = "innolux,at043tn24",
.data = &innolux_at043tn24,
}, {
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
- drivers/gpu/drm/vc4/vc4_hdmi.c | 13 ++++---------
- 1 file changed, 4 insertions(+), 9 deletions(-)
+ drivers/gpu/drm/vc4/vc4_hdmi.c | 15 ++++-----------
+ 1 file changed, 4 insertions(+), 11 deletions(-)
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
int index, len;
int ret;
-@@ -2755,20 +2755,15 @@ static int vc4_hdmi_audio_init(struct vc
+@@ -2755,22 +2755,15 @@ static int vc4_hdmi_audio_init(struct vc
}
/*
+ iomem = platform_get_resource(vc4_hdmi->pdev, IORESOURCE_MEM, index);
- addr = of_get_address(dev->of_node, index, NULL, NULL);
+- if (!addr)
+- return -EINVAL;
-
- vc4_hdmi->audio.dma_data.addr = be32_to_cpup(addr) + mai_data->offset;
+ vc4_hdmi->audio.dma_data.addr = iomem->start + mai_data->offset;
--- a/drivers/net/usb/smsc95xx.c
+++ b/drivers/net/usb/smsc95xx.c
-@@ -814,49 +814,18 @@ static int smsc95xx_ioctl(struct net_dev
+@@ -810,49 +810,18 @@ static int smsc95xx_ioctl(struct net_dev
}
/* Check the macaddr module parameter for a MAC address */
}
static void smsc95xx_init_mac_address(struct usbnet *dev)
-@@ -883,8 +852,12 @@ static void smsc95xx_init_mac_address(st
+@@ -879,8 +848,12 @@ static void smsc95xx_init_mac_address(st
}
/* Check module parameters */
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
-@@ -3241,11 +3241,11 @@ static const struct panel_desc qishenglo
+@@ -3244,11 +3244,11 @@ static const struct panel_desc qishenglo
};
static const struct drm_display_mode raspberrypi_7inch_mode = {
/**
* struct panel_desc - Describes a simple panel.
-@@ -4662,6 +4663,9 @@ static const struct panel_desc_dsi osd10
+@@ -4665,6 +4666,9 @@ static const struct panel_desc_dsi osd10
.lanes = 4,
};
static const struct of_device_id dsi_of_match[] = {
{
.compatible = "auo,b080uan01",
-@@ -4685,14 +4689,118 @@ static const struct of_device_id dsi_of_
+@@ -4688,14 +4692,118 @@ static const struct of_device_id dsi_of_
.compatible = "osddisplays,osd101t2045-53ts",
.data = &osd101t2045_53ts
}, {
const struct of_device_id *id;
int err;
-@@ -4700,7 +4808,20 @@ static int panel_simple_dsi_probe(struct
+@@ -4703,7 +4811,20 @@ static int panel_simple_dsi_probe(struct
if (!id)
return -ENODEV;
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
-@@ -953,8 +953,8 @@ static int mtd_otp_nvmem_add(struct mtd_
+@@ -955,8 +955,8 @@ static int mtd_otp_nvmem_add(struct mtd_
nvmem = mtd_otp_nvmem_register(mtd, "user-otp", size,
mtd_nvmem_user_otp_reg_read);
if (IS_ERR(nvmem)) {
}
mtd->otp_user_nvmem = nvmem;
}
-@@ -971,7 +971,6 @@ static int mtd_otp_nvmem_add(struct mtd_
+@@ -973,7 +973,6 @@ static int mtd_otp_nvmem_add(struct mtd_
nvmem = mtd_otp_nvmem_register(mtd, "factory-otp", size,
mtd_nvmem_fact_otp_reg_read);
if (IS_ERR(nvmem)) {
err = PTR_ERR(nvmem);
goto err;
}
-@@ -983,7 +982,7 @@ static int mtd_otp_nvmem_add(struct mtd_
+@@ -985,7 +984,7 @@ static int mtd_otp_nvmem_add(struct mtd_
err:
nvmem_unregister(mtd->otp_user_nvmem);
static int mv88e6352_get_port4_serdes_cmode(struct mv88e6xxx_chip *chip)
{
u16 reg, val;
-@@ -4489,7 +4501,7 @@ static const struct mv88e6xxx_ops mv88e6
+@@ -4501,7 +4513,7 @@ static const struct mv88e6xxx_ops mv88e6
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
.stu_getnext = mv88e6352_g1_stu_getnext,
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
};
static const struct mv88e6xxx_ops mv88e6172_ops = {
-@@ -4590,7 +4602,7 @@ static const struct mv88e6xxx_ops mv88e6
+@@ -4604,7 +4616,7 @@ static const struct mv88e6xxx_ops mv88e6
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
.stu_getnext = mv88e6352_g1_stu_getnext,
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
};
static const struct mv88e6xxx_ops mv88e6176_ops = {
-@@ -5247,7 +5259,7 @@ static const struct mv88e6xxx_ops mv88e6
+@@ -5281,7 +5293,7 @@ static const struct mv88e6xxx_ops mv88e6
.vtu_loadpurge = mv88e6352_g1_vtu_loadpurge,
.stu_getnext = mv88e6352_g1_stu_getnext,
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
};
static const struct mv88e6xxx_ops mv88e6351_ops = {
-@@ -5293,7 +5305,7 @@ static const struct mv88e6xxx_ops mv88e6
+@@ -5327,7 +5339,7 @@ static const struct mv88e6xxx_ops mv88e6
.stu_loadpurge = mv88e6352_g1_stu_loadpurge,
.avb_ops = &mv88e6352_avb_ops,
.ptp_ops = &mv88e6352_ptp_ops,
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -5956,7 +5956,8 @@ static const struct mv88e6xxx_info mv88e
+@@ -5998,7 +5998,8 @@ static const struct mv88e6xxx_info mv88e
.name = "Marvell 88E6191X",
.num_databases = 4096,
.num_ports = 11, /* 10 + Z80 */
.max_vid = 8191,
.max_sid = 63,
.port_base_addr = 0x0,
-@@ -5979,7 +5980,8 @@ static const struct mv88e6xxx_info mv88e
+@@ -6021,7 +6022,8 @@ static const struct mv88e6xxx_info mv88e
.name = "Marvell 88E6193X",
.num_databases = 4096,
.num_ports = 11, /* 10 + Z80 */
.max_vid = 8191,
.max_sid = 63,
.port_base_addr = 0x0,
-@@ -6298,7 +6300,8 @@ static const struct mv88e6xxx_info mv88e
+@@ -6340,7 +6342,8 @@ static const struct mv88e6xxx_info mv88e
.name = "Marvell 88E6393X",
.num_databases = 4096,
.num_ports = 11, /* 10 + Z80 */
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -3340,7 +3340,7 @@ static int mv88e6xxx_setup_port(struct m
+@@ -3350,7 +3350,7 @@ static int mv88e6xxx_setup_port(struct m
caps = pl_config.mac_capabilities;
if (chip->info->ops->port_max_speed_mode)
--- a/drivers/net/dsa/mv88e6xxx/chip.h
+++ b/drivers/net/dsa/mv88e6xxx/chip.h
-@@ -508,7 +508,8 @@ struct mv88e6xxx_ops {
+@@ -514,7 +514,8 @@ struct mv88e6xxx_ops {
int speed, int duplex);
/* What interface mode should be used for maximum speed? */
}
}
-@@ -6243,6 +6249,32 @@ static const struct mv88e6xxx_info mv88e
+@@ -6285,6 +6291,32 @@ static const struct mv88e6xxx_info mv88e
.ptp_support = true,
.ops = &mv88e6352_ops,
},
* of_find_node_by_phandle - Find a node given a phandle
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
-@@ -2330,8 +2330,8 @@ of_register_spi_device(struct spi_contro
+@@ -2334,8 +2334,8 @@ of_register_spi_device(struct spi_contro
}
/* Select device driver */
#include "mtdcore.h"
-@@ -1098,6 +1099,8 @@ int mtd_device_parse_register(struct mtd
+@@ -1100,6 +1101,8 @@ int mtd_device_parse_register(struct mtd
register_reboot_notifier(&mtd->reboot_notifier);
}
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -3500,6 +3500,9 @@ static int mv88e6xxx_setup_port(struct m
+@@ -3510,6 +3510,9 @@ static int mv88e6xxx_setup_port(struct m
else
reg = 1 << port;
*/
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -3060,6 +3060,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -3071,6 +3071,10 @@ static inline int pskb_trim(struct sk_bu
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
}
/**
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
* @skb: buffer to alter
-@@ -3209,16 +3213,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -3220,16 +3224,6 @@ static inline struct sk_buff *dev_alloc_
}
if (!net_eq(dev_net(dev), sock_net(sk)))
goto drop;
-@@ -3378,6 +3380,7 @@ static int packet_create(struct net *net
+@@ -3377,6 +3379,7 @@ static int packet_create(struct net *net
mutex_init(&po->pg_vec_lock);
po->rollover = NULL;
po->prot_hook.func = packet_rcv;
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
-@@ -4013,6 +4016,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -4012,6 +4015,16 @@ packet_setsockopt(struct socket *sock, i
WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
return 0;
}
default:
return -ENOPROTOOPT;
}
-@@ -4069,6 +4082,13 @@ static int packet_getsockopt(struct sock
+@@ -4068,6 +4081,13 @@ static int packet_getsockopt(struct sock
case PACKET_VNET_HDR:
val = po->has_vnet_hdr;
break;
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -3027,7 +3027,7 @@ static inline int pskb_network_may_pull(
+@@ -3038,7 +3038,7 @@ static inline int pskb_network_may_pull(
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
*/
#ifndef NET_SKB_PAD
void netif_napi_add_weight(struct net_device *dev, struct napi_struct *napi,
int (*poll)(struct napi_struct *, int), int weight)
{
-@@ -11126,6 +11197,9 @@ static int dev_cpu_dead(unsigned int old
+@@ -11127,6 +11198,9 @@ static int dev_cpu_dead(unsigned int old
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();
#ifdef CONFIG_RPS
remsd = oldsd->rps_ipi_list;
oldsd->rps_ipi_list = NULL;
-@@ -11438,6 +11512,7 @@ static int __init net_dev_init(void)
+@@ -11439,6 +11513,7 @@ static int __init net_dev_init(void)
INIT_CSD(&sd->defer_csd, trigger_rx_softirq, sd);
spin_lock_init(&sd->defer_lock);
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
-@@ -7037,6 +7037,7 @@ static int mv88e6xxx_register_switch(str
+@@ -7079,6 +7079,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;
#define MTK_UART_IER_XOFFI 0x20 /* Enable XOFF character interrupt */
#define MTK_UART_IER_RTSI 0x40 /* Enable RTS Modem status interrupt */
#define MTK_UART_IER_CTSI 0x80 /* Enable CTS Modem status interrupt */
-@@ -418,13 +418,12 @@ static int __maybe_unused mtk8250_runtim
+@@ -422,13 +422,12 @@ static int __maybe_unused mtk8250_runtim
struct mtk8250_data *data = dev_get_drvdata(dev);
struct uart_8250_port *up = serial8250_get_port(data->line);