-LINUX_VERSION-6.6 = .56
-LINUX_KERNEL_HASH-6.6.56 = f74812f78e88992c416434cb107639e13a551dbaff36bb90d6346ab16ab71a95
+LINUX_VERSION-6.6 = .57
+LINUX_KERNEL_HASH-6.6.57 = 66ce426ef96f99b8e1ef7ac72e780c730ef8b970f7aa5708501c4274d7abb7b3
EXPORT_SYMBOL(xfrm_parse_spi);
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
-@@ -4221,14 +4221,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4262,14 +4262,16 @@ static bool tcp_parse_aligned_timestamp(
{
const __be32 *ptr = (const __be32 *)(th + 1);
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -489,8 +489,10 @@ static void xhci_pci_quirks(struct devic
+@@ -490,8 +490,10 @@ static void xhci_pci_quirks(struct devic
pdev->device == 0x3432)
xhci->quirks |= XHCI_BROKEN_STREAMS;
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
-@@ -239,6 +239,9 @@
+@@ -242,6 +242,9 @@
#define USB_VENDOR_ID_BAANTO 0x2453
#define USB_DEVICE_ID_BAANTO_MT_190W2 0x0100
#define USB_VENDOR_ID_BELKIN 0x050d
#define USB_DEVICE_ID_FLIP_KVM 0x3201
-@@ -1394,6 +1397,9 @@
+@@ -1404,6 +1407,9 @@
#define USB_VENDOR_ID_XIAOMI 0x2717
#define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -492,6 +492,7 @@ static void xhci_pci_quirks(struct devic
+@@ -493,6 +493,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;
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -493,6 +493,7 @@ static void xhci_pci_quirks(struct devic
+@@ -494,6 +494,7 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_LPM_SUPPORT;
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
/* Allow 3 retries for everything but isoc, set CErr = 3 */
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
-@@ -494,6 +494,7 @@ static void xhci_pci_quirks(struct devic
+@@ -495,6 +495,7 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
/* Device for a quirk */
#define PCI_VENDOR_ID_FRESCO_LOGIC 0x1b73
#define PCI_DEVICE_ID_FRESCO_LOGIC_PDK 0x1000
-@@ -294,6 +296,16 @@ static int xhci_pci_reinit(struct xhci_h
+@@ -295,6 +297,16 @@ static int xhci_pci_reinit(struct xhci_h
return 0;
}
static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
{
struct pci_dev *pdev = to_pci_dev(dev);
-@@ -495,6 +507,8 @@ static void xhci_pci_quirks(struct devic
+@@ -496,6 +508,8 @@ static void xhci_pci_quirks(struct devic
xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
},
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1202,6 +1202,24 @@ static void dwc3_config_threshold(struct
+@@ -1208,6 +1208,24 @@ static void dwc3_config_threshold(struct
}
}
/**
* dwc3_core_init - Low-level initialization of DWC3 Core
* @dwc: Pointer to our controller context structure
-@@ -1267,6 +1285,8 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1273,6 +1291,8 @@ static int dwc3_core_init(struct dwc3 *d
dwc3_set_incr_burst_type(dwc);
ret = dwc3_phy_power_on(dwc);
if (ret)
goto err_exit_phy;
-@@ -1356,6 +1376,24 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1362,6 +1382,24 @@ static int dwc3_core_init(struct dwc3 *d
dwc3_config_threshold(dwc);
return 0;
err_power_off_phy:
-@@ -1499,6 +1537,7 @@ static void dwc3_get_properties(struct d
+@@ -1505,6 +1543,7 @@ static void dwc3_get_properties(struct d
u8 tx_thr_num_pkt_prd = 0;
u8 tx_max_burst_prd = 0;
u8 tx_fifo_resize_max_num;
const char *usb_psy_name;
int ret;
-@@ -1521,6 +1560,9 @@ static void dwc3_get_properties(struct d
+@@ -1527,6 +1566,9 @@ static void dwc3_get_properties(struct d
*/
tx_fifo_resize_max_num = 6;
dwc->maximum_speed = usb_get_maximum_speed(dev);
dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
dwc->dr_mode = usb_get_dr_mode(dev);
-@@ -1642,6 +1684,9 @@ static void dwc3_get_properties(struct d
+@@ -1648,6 +1690,9 @@ static void dwc3_get_properties(struct d
dwc->dis_split_quirk = device_property_read_bool(dev,
"snps,dis-split-quirk");
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
dwc->tx_de_emphasis = tx_de_emphasis;
-@@ -1659,6 +1704,8 @@ static void dwc3_get_properties(struct d
+@@ -1665,6 +1710,8 @@ static void dwc3_get_properties(struct d
dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
dwc->tx_max_burst_prd = tx_max_burst_prd;
dwc->imod_interval = 0;
dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
-@@ -1934,6 +1981,12 @@ static int dwc3_probe(struct platform_de
+@@ -1940,6 +1987,12 @@ static int dwc3_probe(struct platform_de
dwc3_get_properties(dwc);
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
-@@ -2367,6 +2367,13 @@ config SENSORS_INTEL_M10_BMC_HWMON
+@@ -2371,6 +2371,13 @@ config SENSORS_INTEL_M10_BMC_HWMON
sensors monitor various telemetry data of different components on the
card, e.g. board temperature, FPGA core temperature/voltage/current.
return;
mutex_init(&vc4file->perfmon.lock);
-@@ -126,7 +126,7 @@ void vc4_perfmon_close_file(struct vc4_f
+@@ -131,7 +131,7 @@ void vc4_perfmon_close_file(struct vc4_f
{
struct vc4_dev *vc4 = vc4file->dev;
return;
mutex_lock(&vc4file->perfmon.lock);
-@@ -146,7 +146,7 @@ int vc4_perfmon_create_ioctl(struct drm_
+@@ -151,7 +151,7 @@ int vc4_perfmon_create_ioctl(struct drm_
unsigned int i;
int ret;
return -ENODEV;
if (!vc4->v3d) {
-@@ -200,7 +200,7 @@ int vc4_perfmon_destroy_ioctl(struct drm
+@@ -205,7 +205,7 @@ int vc4_perfmon_destroy_ioctl(struct drm
struct drm_vc4_perfmon_destroy *req = data;
struct vc4_perfmon *perfmon;
return -ENODEV;
if (!vc4->v3d) {
-@@ -228,7 +228,7 @@ int vc4_perfmon_get_values_ioctl(struct
+@@ -233,7 +233,7 @@ int vc4_perfmon_get_values_ioctl(struct
struct vc4_perfmon *perfmon;
int ret;
return;
mutex_init(&vc4file->perfmon.lock);
-@@ -126,7 +126,7 @@ void vc4_perfmon_close_file(struct vc4_f
+@@ -131,7 +131,7 @@ void vc4_perfmon_close_file(struct vc4_f
{
struct vc4_dev *vc4 = vc4file->dev;
return;
mutex_lock(&vc4file->perfmon.lock);
-@@ -146,7 +146,7 @@ int vc4_perfmon_create_ioctl(struct drm_
+@@ -151,7 +151,7 @@ int vc4_perfmon_create_ioctl(struct drm_
unsigned int i;
int ret;
return -ENODEV;
if (!vc4->v3d) {
-@@ -200,7 +200,7 @@ int vc4_perfmon_destroy_ioctl(struct drm
+@@ -205,7 +205,7 @@ int vc4_perfmon_destroy_ioctl(struct drm
struct drm_vc4_perfmon_destroy *req = data;
struct vc4_perfmon *perfmon;
return -ENODEV;
if (!vc4->v3d) {
-@@ -228,7 +228,7 @@ int vc4_perfmon_get_values_ioctl(struct
+@@ -233,7 +233,7 @@ int vc4_perfmon_get_values_ioctl(struct
struct vc4_perfmon *perfmon;
int ret;
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1366,6 +1366,9 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1372,6 +1372,9 @@ static int dwc3_core_init(struct dwc3 *d
if (dwc->parkmode_disable_hs_quirk)
reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) &&
(dwc->maximum_speed == USB_SPEED_HIGH ||
dwc->maximum_speed == USB_SPEED_FULL))
-@@ -1664,6 +1667,8 @@ static void dwc3_get_properties(struct d
+@@ -1670,6 +1673,8 @@ static void dwc3_get_properties(struct d
"snps,parkmode-disable-ss-quirk");
dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
"snps,parkmode-disable-hs-quirk");
--- a/fs/ntfs3/fslog.c
+++ b/fs/ntfs3/fslog.c
-@@ -3914,6 +3914,8 @@ check_restart_area:
+@@ -3929,6 +3929,8 @@ check_restart_area:
log->l_size = log->orig_file_size;
log->page_size = norm_file_page(t32, &log->l_size,
t32 == DefaultLogPageSize);
+++ /dev/null
-From f8001196455311eb128fcafd98cb2050a70218df Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Sat, 6 Jan 2024 01:12:22 +0100
-Subject: [PATCH 4/4] net: ethernet: cortina: Drop TSO support
-
-The recent change to allow large frames without hardware checksumming
-slotted in software checksumming in the driver if hardware could not
-do it.
-
-This will however upset TSO (TCP Segment Offloading). Typical
-error dumps includes this:
-
-skb len=2961 headroom=222 headlen=66 tailroom=0
-(...)
-WARNING: CPU: 0 PID: 956 at net/core/dev.c:3259 skb_warn_bad_offload+0x7c/0x108
-gemini-ethernet-port: caps=(0x0000010000154813, 0x00002007ffdd7889)
-
-And the packets do not go through.
-
-The TSO implementation is bogus: a TSO enabled driver must propagate
-the skb_shinfo(skb)->gso_size value to the TSO engine on the NIC.
-
-Drop the size check and TSO offloading features for now: this
-needs to be fixed up properly.
-
-After this ethernet works fine on Gemini devices with a direct connected
-PHY such as D-Link DNS-313.
-
-Also tested to still be working with a DSA switch using the Gemini
-ethernet as conduit interface.
-
-Link: https://lore.kernel.org/netdev/CANn89iJLfxng1sYL5Zk0mknXpyYQPCp83m3KgD2KJ2_hKCpEUg@mail.gmail.com/
-Suggested-by: Eric Dumazet <edumazet@google.com>
-Fixes: d4d0c5b4d279 ("net: ethernet: cortina: Handle large frames")
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-Reviewed-by: Eric Dumazet <edumazet@google.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/ethernet/cortina/gemini.c | 15 ++-------------
- 1 file changed, 2 insertions(+), 13 deletions(-)
-
---- a/drivers/net/ethernet/cortina/gemini.c
-+++ b/drivers/net/ethernet/cortina/gemini.c
-@@ -79,8 +79,7 @@ MODULE_PARM_DESC(debug, "Debug level (0=
- #define GMAC0_IRQ4_8 (GMAC0_MIB_INT_BIT | GMAC0_RX_OVERRUN_INT_BIT)
-
- #define GMAC_OFFLOAD_FEATURES (NETIF_F_SG | NETIF_F_IP_CSUM | \
-- NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM | \
-- NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6)
-+ NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM)
-
- /**
- * struct gmac_queue_page - page buffer per-page info
-@@ -1148,23 +1147,13 @@ static int gmac_map_tx_bufs(struct net_d
- struct gmac_txdesc *txd;
- skb_frag_t *skb_frag;
- dma_addr_t mapping;
-- unsigned short mtu;
- void *buffer;
- int ret;
-
-- mtu = ETH_HLEN;
-- mtu += netdev->mtu;
-- if (skb->protocol == htons(ETH_P_8021Q))
-- mtu += VLAN_HLEN;
--
-+ /* TODO: implement proper TSO using MTU in word3 */
- word1 = skb->len;
- word3 = SOF_BIT;
-
-- if (word1 > mtu) {
-- word1 |= TSS_MTU_ENABLE_BIT;
-- word3 |= mtu;
-- }
--
- if (skb->len >= ETH_FRAME_LEN) {
- /* Hardware offloaded checksumming isn't working on frames
- * bigger than 1514 bytes. A hypothesis about this is that the
+++ /dev/null
-From 30fcba19ed88997a2909e4a68b4d39ff371357c3 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Wed, 1 May 2024 21:46:31 +0200
-Subject: [PATCH 1/5] net: ethernet: cortina: Restore TSO support
-
-An earlier commit deleted the TSO support in the Cortina Gemini
-driver because the driver was confusing gso_size and MTU,
-probably because what the Linux kernel calls "gso_size" was
-called "MTU" in the datasheet.
-
-Restore the functionality properly reading the gso_size from
-the skbuff.
-
-Tested with iperf3, running a server on a different machine
-and client on the device with the cortina gemini ethernet:
-
-Connecting to host 192.168.1.2, port 5201
-60008000.ethernet-port eth0: segment offloading mss = 05ea len=1c8a
-60008000.ethernet-port eth0: segment offloading mss = 05ea len=1c8a
-60008000.ethernet-port eth0: segment offloading mss = 05ea len=27da
-60008000.ethernet-port eth0: segment offloading mss = 05ea len=0b92
-60008000.ethernet-port eth0: segment offloading mss = 05ea len=2bda
-(...)
-
-(The hardware MSS 0x05ea here includes the ethernet headers.)
-
-If I disable all segment offloading on the receiving host and
-dump packets using tcpdump -xx like this:
-
-ethtool -K enp2s0 gro off gso off tso off
-tcpdump -xx -i enp2s0 host 192.168.1.136
-
-I get segmented packages such as this when running iperf3:
-
-23:16:54.024139 IP OpenWrt.lan.59168 > Fecusia.targus-getdata1:
-Flags [.], seq 1486:2934, ack 1, win 4198,
-options [nop,nop,TS val 3886192908 ecr 3601341877], length 1448
-0x0000: fc34 9701 a0c6 14d6 4da8 3c4f 0800 4500
-0x0010: 05dc 16a0 4000 4006 9aa1 c0a8 0188 c0a8
-0x0020: 0102 e720 1451 ff25 9822 4c52 29cf 8010
-0x0030: 1066 ac8c 0000 0101 080a e7a2 990c d6a8
-(...)
-0x05c0: 5e49 e109 fe8c 4617 5e18 7a82 7eae d647
-0x05d0: e8ee ae64 dc88 c897 3f8a 07a4 3a33 6b1b
-0x05e0: 3501 a30f 2758 cc44 4b4a
-
-Several such packets often follow after each other verifying
-the segmentation into 0x05a8 (1448) byte packages also on the
-reveiving end. As can be seen, the ethernet frames are
-0x05ea (1514) in size.
-
-Performance with iperf3 before this patch: ~15.5 Mbit/s
-Performance with iperf3 after this patch: ~175 Mbit/s
-
-This was running a 60 second test (twice) the best measurement
-was 179 Mbit/s.
-
-For comparison if I run iperf3 with UDP I get around 1.05 Mbit/s
-both before and after this patch.
-
-While this is a gigabit ethernet interface, the CPU is a cheap
-D-Link DIR-685 router (based on the ARMv5 Faraday FA526 at
-~50 MHz), and the software is not supposed to drive traffic,
-as the device has a DSA chip, so this kind of numbers can be
-expected.
-
-Fixes: ac631873c9e7 ("net: ethernet: cortina: Drop TSO support")
-Reviewed-by: Eric Dumazet <edumazet@google.com>
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- drivers/net/ethernet/cortina/gemini.c | 23 +++++++++++++++++++----
- 1 file changed, 19 insertions(+), 4 deletions(-)
-
---- a/drivers/net/ethernet/cortina/gemini.c
-+++ b/drivers/net/ethernet/cortina/gemini.c
-@@ -79,7 +79,8 @@ MODULE_PARM_DESC(debug, "Debug level (0=
- #define GMAC0_IRQ4_8 (GMAC0_MIB_INT_BIT | GMAC0_RX_OVERRUN_INT_BIT)
-
- #define GMAC_OFFLOAD_FEATURES (NETIF_F_SG | NETIF_F_IP_CSUM | \
-- NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM)
-+ NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM | \
-+ NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6)
-
- /**
- * struct gmac_queue_page - page buffer per-page info
-@@ -1148,13 +1149,25 @@ static int gmac_map_tx_bufs(struct net_d
- skb_frag_t *skb_frag;
- dma_addr_t mapping;
- void *buffer;
-+ u16 mss;
- int ret;
-
-- /* TODO: implement proper TSO using MTU in word3 */
- word1 = skb->len;
- word3 = SOF_BIT;
-
-- if (skb->len >= ETH_FRAME_LEN) {
-+ mss = skb_shinfo(skb)->gso_size;
-+ if (mss) {
-+ /* This means we are dealing with TCP and skb->len is the
-+ * sum total of all the segments. The TSO will deal with
-+ * chopping this up for us.
-+ */
-+ /* The accelerator needs the full frame size here */
-+ mss += skb_tcp_all_headers(skb);
-+ netdev_dbg(netdev, "segment offloading mss = %04x len=%04x\n",
-+ mss, skb->len);
-+ word1 |= TSS_MTU_ENABLE_BIT;
-+ word3 |= mss;
-+ } else if (skb->len >= ETH_FRAME_LEN) {
- /* Hardware offloaded checksumming isn't working on frames
- * bigger than 1514 bytes. A hypothesis about this is that the
- * checksum buffer is only 1518 bytes, so when the frames get
-@@ -1169,7 +1182,9 @@ static int gmac_map_tx_bufs(struct net_d
- return ret;
- }
- word1 |= TSS_BYPASS_BIT;
-- } else if (skb->ip_summed == CHECKSUM_PARTIAL) {
-+ }
-+
-+ if (skb->ip_summed == CHECKSUM_PARTIAL) {
- int tcp = 0;
-
- /* We do not switch off the checksumming on non TCP/UDP
--- /dev/null
+Subject: [PATCH v2] netfilter: xtables: fix typo causing some targets to not load on IPv6
+Date: Sat, 19 Oct 2024 08:05:07 +0300 [thread overview]
+Message-ID: <20241019-xtables-typos-v2-1-6b8b1735dc8e@0upti.me> (raw)
+
+These were added with the wrong family in 4cdc55e, which seems
+to just have been a typo, but now ip6tables rules with --set-mark
+don't work anymore, which is pretty bad.
+
+Fixes: 0bfcb7b71e73 ("netfilter: xtables: avoid NFPROTO_UNSPEC where needed")
+Reviewed-by: Phil Sutter <phil@nwl.cc>
+Signed-off-by: Ilya Katsnelson <me@0upti.me>
+---
+Changes in v2:
+- Fixed a typo in the commit message (that's karma).
+- Replaced a reference to backport commit.
+- Link to v1: https://lore.kernel.org/r/20241018-xtables-typos-v1-1-02a51789c0ec@0upti.me
+---
+ net/netfilter/xt_NFLOG.c | 2 +-
+ net/netfilter/xt_mark.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/net/netfilter/xt_NFLOG.c
++++ b/net/netfilter/xt_NFLOG.c
+@@ -79,7 +79,7 @@ static struct xt_target nflog_tg_reg[] _
+ {
+ .name = "NFLOG",
+ .revision = 0,
+- .family = NFPROTO_IPV4,
++ .family = NFPROTO_IPV6,
+ .checkentry = nflog_tg_check,
+ .destroy = nflog_tg_destroy,
+ .target = nflog_tg,
+--- a/net/netfilter/xt_mark.c
++++ b/net/netfilter/xt_mark.c
+@@ -62,7 +62,7 @@ static struct xt_target mark_tg_reg[] __
+ {
+ .name = "MARK",
+ .revision = 2,
+- .family = NFPROTO_IPV4,
++ .family = NFPROTO_IPV6,
+ .target = mark_tg,
+ .targetsize = sizeof(struct xt_mark_tginfo2),
+ .me = THIS_MODULE,
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -3201,6 +3201,7 @@ static int of_phy_led(struct phy_device
+@@ -3202,6 +3202,7 @@ static int of_phy_led(struct phy_device
struct device *dev = &phydev->mdio.dev;
struct led_init_data init_data = {};
struct led_classdev *cdev;
struct phy_led *phyled;
u32 index;
int err;
-@@ -3218,6 +3219,21 @@ static int of_phy_led(struct phy_device
+@@ -3219,6 +3220,21 @@ static int of_phy_led(struct phy_device
if (index > U8_MAX)
return -EINVAL;
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -3219,11 +3219,17 @@ static int of_phy_led(struct phy_device
+@@ -3220,11 +3220,17 @@ static int of_phy_led(struct phy_device
if (index > U8_MAX)
return -EINVAL;
# CONFIG_HID_MAGICMOUSE is not set
# CONFIG_HID_MALTRON is not set
# CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_MCP2200 is not set
# CONFIG_HID_MCP2221 is not set
# CONFIG_HID_MEGAWORLD_FF is not set
# CONFIG_HID_MICROSOFT is not set
return connmark_tg_shift(skb, info);
}
-@@ -167,6 +194,16 @@ static struct xt_target connmark_tg_reg[
- .targetsize = sizeof(struct xt_connmark_tginfo2),
+@@ -168,6 +195,16 @@ static struct xt_target connmark_tg_reg[
.destroy = connmark_tg_destroy,
.me = THIS_MODULE,
+ },
++ {
++ .name = "CONNMARK",
++ .revision = 3,
++ .family = NFPROTO_IPV4,
++ .checkentry = connmark_tg_check,
++ .target = connmark_tg_v3,
++ .targetsize = sizeof(struct xt_connmark_tginfo3),
++ .destroy = connmark_tg_destroy,
++ .me = THIS_MODULE,
+ },
+ #if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+ {
+ .name = "CONNMARK",
+@@ -189,6 +226,16 @@ static struct xt_target connmark_tg_reg[
+ .destroy = connmark_tg_destroy,
+ .me = THIS_MODULE,
+ },
+ {
+ .name = "CONNMARK",
+ .revision = 3,
-+ .family = NFPROTO_UNSPEC,
++ .family = NFPROTO_IPV6,
+ .checkentry = connmark_tg_check,
+ .target = connmark_tg_v3,
+ .targetsize = sizeof(struct xt_connmark_tginfo3),
+ .destroy = connmark_tg_destroy,
+ .me = THIS_MODULE,
- }
++ },
+ #endif
};
struct rtnl_link {
rtnl_doit_func doit;
-@@ -4949,7 +4949,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
+@@ -4978,7 +4978,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
brport_nla_put_flag(skb, flags, mask,
IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) ||
brport_nla_put_flag(skb, flags, mask,
unsigned long type);
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
-@@ -1108,6 +1108,12 @@
+@@ -1110,6 +1110,12 @@
#define PCI_DEVICE_ID_SGI_IOC3 0x0003
#define PCI_DEVICE_ID_SGI_LITHIUM 0x1002
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
-@@ -783,6 +783,14 @@ config SENSORS_IBMPOWERNV
+@@ -785,6 +785,14 @@ config SENSORS_IBMPOWERNV
This driver can also be built as a module. If so, the module
will be called ibmpowernv.
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
-@@ -480,6 +480,9 @@ uart_get_baud_rate(struct uart_port *por
+@@ -482,6 +482,9 @@ uart_get_baud_rate(struct uart_port *por
break;
}
--- a/drivers/usb/dwc2/platform.c
+++ b/drivers/usb/dwc2/platform.c
-@@ -493,6 +493,12 @@ static int dwc2_driver_probe(struct plat
+@@ -481,6 +481,12 @@ static int dwc2_driver_probe(struct plat
if (retval)
return retval;
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -839,8 +839,20 @@ static int dwc3_clk_enable(struct dwc3 *
+@@ -845,8 +845,20 @@ static int dwc3_clk_enable(struct dwc3 *
if (ret)
goto disable_ref_clk;
disable_ref_clk:
clk_disable_unprepare(dwc->ref_clk);
disable_bus_clk:
-@@ -850,6 +862,8 @@ disable_bus_clk:
+@@ -856,6 +868,8 @@ disable_bus_clk:
static void dwc3_clk_disable(struct dwc3 *dwc)
{
clk_disable_unprepare(dwc->susp_clk);
clk_disable_unprepare(dwc->ref_clk);
clk_disable_unprepare(dwc->bus_clk);
-@@ -1878,6 +1892,20 @@ static int dwc3_get_clocks(struct dwc3 *
+@@ -1884,6 +1898,20 @@ static int dwc3_get_clocks(struct dwc3 *
}
}