-LINUX_VERSION-6.6 = .58
-LINUX_KERNEL_HASH-6.6.58 = e7df81e588d70fab5ec3ec3bb04ac53d51f0860fc3b1ec45e0a4167a026899db
+LINUX_VERSION-6.6 = .59
+LINUX_KERNEL_HASH-6.6.59 = 23616808d8c08f12815ff898f4edb4c11397a2b2843d029ee62452d21833a76d
erst_base = xhci_read_64(xhci, &ir->ir_set->erst_base);
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1681,8 +1681,9 @@ struct urb_priv {
+@@ -1425,8 +1425,9 @@ struct urb_priv {
* Each segment table entry is 4*32bits long. 1K seems like an ok size:
* (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table,
* meaning 64 ring segments.
addr = xhci_trb_virt_to_dma(new_seg, new_deq);
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1918,6 +1918,9 @@ struct xhci_hcd {
+@@ -1662,6 +1662,9 @@ struct xhci_hcd {
#define XHCI_WRITE_64_HI_LO BIT_ULL(47)
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1920,6 +1920,7 @@ struct xhci_hcd {
+@@ -1664,6 +1664,7 @@ struct xhci_hcd {
/* Downstream VLI fixes */
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
return 0;
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1921,6 +1921,7 @@ struct xhci_hcd {
+@@ -1665,6 +1665,7 @@ struct xhci_hcd {
/* Downstream VLI fixes */
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(57)
* @hsphy_interface: "utmi" or "ulpi"
* @connected: true when we're connected to a host, false otherwise
* @softconnect: true when gadget connect is called, false when disconnect runs
-@@ -1296,6 +1300,7 @@ struct dwc3 {
+@@ -1298,6 +1302,7 @@ struct dwc3 {
u8 tx_max_burst_prd;
u8 tx_fifo_resize_max_num;
u8 clear_stall_protocol;
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
* @tx_de_emphasis: Tx de-emphasis value
* 0 - -6dB de-emphasis
-@@ -1344,6 +1347,7 @@ struct dwc3 {
+@@ -1346,6 +1349,7 @@ struct dwc3 {
unsigned ulpi_ext_vbus_drv:1;
unsigned parkmode_disable_ss_quirk:1;
unsigned parkmode_disable_hs_quirk:1;
if (xhci->quirks & XHCI_NEC_HOST)
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1916,6 +1916,7 @@ struct xhci_hcd {
+@@ -1660,6 +1660,7 @@ struct xhci_hcd {
#define XHCI_ZHAOXIN_HOST BIT_ULL(46)
#define XHCI_WRITE_64_HI_LO BIT_ULL(47)
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -4549,6 +4549,9 @@ static inline void netif_addr_unlock_bh(
+@@ -4561,6 +4561,9 @@ static inline void netif_addr_unlock_bh(
void ether_setup(struct net_device *dev);
+++ /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,
set_bit(flag, tp->wk.flags);
schedule_work(&tp->wk.work);
}
-@@ -4518,8 +4521,7 @@ static void rtl_task(struct work_struct
+@@ -4520,8 +4523,7 @@ static void rtl_task(struct work_struct
rtnl_lock();
static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type)
{
/* based on RTL8168FP_OOBMAC_BASE in vendor driver */
-@@ -5195,6 +5253,7 @@ static int rtl_init_one(struct pci_dev *
+@@ -5197,6 +5255,7 @@ static int rtl_init_one(struct pci_dev *
raw_spin_lock_init(&tp->cfg9346_usage_lock);
raw_spin_lock_init(&tp->config25_lock);
raw_spin_lock_init(&tp->mac_ocp_lock);
dev->tstats = devm_netdev_alloc_pcpu_stats(&pdev->dev,
struct pcpu_sw_netstats);
-@@ -5351,6 +5410,12 @@ static int rtl_init_one(struct pci_dev *
+@@ -5353,6 +5412,12 @@ static int rtl_init_one(struct pci_dev *
if (rc)
return rc;
obj-$(CONFIG_R8169) += r8169.o
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5410,11 +5410,10 @@ static int rtl_init_one(struct pci_dev *
+@@ -5412,11 +5412,10 @@ static int rtl_init_one(struct pci_dev *
if (rc)
return rc;
genphy_soft_reset(tp->phydev);
}
-@@ -5112,7 +5087,9 @@ static int r8169_mdio_register(struct rt
+@@ -5114,7 +5089,9 @@ static int r8169_mdio_register(struct rt
}
tp->phydev->mac_managed_pm = true;
phy_support_asym_pause(tp->phydev);
/* PHY will be woken up in rtl_open() */
-@@ -5247,7 +5224,6 @@ static int rtl_init_one(struct pci_dev *
+@@ -5249,7 +5226,6 @@ static int rtl_init_one(struct pci_dev *
tp->dev = dev;
tp->pci_dev = pdev;
tp->supports_gmii = ent->driver_data == RTL_CFG_NO_GBIT ? 0 : 1;
padto = max_t(unsigned int, padto, ETH_ZLEN);
break;
default:
-@@ -5139,7 +5196,7 @@ static void rtl_hw_initialize(struct rtl
+@@ -5141,7 +5198,7 @@ static void rtl_hw_initialize(struct rtl
case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
rtl_hw_init_8168g(tp);
break;
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5288,11 +5288,6 @@ static int rtl_init_one(struct pci_dev *
+@@ -5290,11 +5290,6 @@ static int rtl_init_one(struct pci_dev *
raw_spin_lock_init(&tp->mac_ocp_lock);
mutex_init(&tp->led_lock);
/* Get the *optional* external "ether_clk" used on some boards */
tp->clk = devm_clk_get_optional_enabled(&pdev->dev, "ether_clk");
if (IS_ERR(tp->clk))
-@@ -5407,6 +5402,8 @@ static int rtl_init_one(struct pci_dev *
+@@ -5409,6 +5404,8 @@ static int rtl_init_one(struct pci_dev *
dev->hw_features |= NETIF_F_RXALL;
dev->hw_features |= NETIF_F_RXFCS;
void r8169_get_led_name(struct rtl8169_private *tp, int idx,
char *buf, int buf_len)
{
-@@ -5440,10 +5491,12 @@ static int rtl_init_one(struct pci_dev *
+@@ -5442,10 +5493,12 @@ static int rtl_init_one(struct pci_dev *
if (rc)
return rc;
u32 ocp_base;
};
-@@ -5067,6 +5069,8 @@ static void rtl_remove_one(struct pci_de
+@@ -5069,6 +5071,8 @@ static void rtl_remove_one(struct pci_de
cancel_work_sync(&tp->wk.work);
unregister_netdev(tp->dev);
if (tp->dash_type != RTL_DASH_NONE)
-@@ -5525,9 +5529,9 @@ static int rtl_init_one(struct pci_dev *
+@@ -5527,9 +5531,9 @@ static int rtl_init_one(struct pci_dev *
if (IS_ENABLED(CONFIG_R8169_LEDS)) {
if (rtl_is_8125(tp))
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5069,7 +5069,8 @@ static void rtl_remove_one(struct pci_de
+@@ -5071,7 +5071,8 @@ static void rtl_remove_one(struct pci_de
cancel_work_sync(&tp->wk.work);
--- a/drivers/net/ethernet/realtek/r8169_main.c
+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5110,12 +5110,10 @@ static void rtl_set_irq_mask(struct rtl8
+@@ -5112,12 +5112,10 @@ static void rtl_set_irq_mask(struct rtl8
tp->irq_mask = RxOK | RxErr | TxOK | TxErr | LinkChg;
if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
padto = max_t(unsigned int, padto, ETH_ZLEN);
break;
default:
-@@ -5286,7 +5298,7 @@ static void rtl_hw_initialize(struct rtl
+@@ -5288,7 +5300,7 @@ static void rtl_hw_initialize(struct rtl
case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
rtl_hw_init_8168g(tp);
break;
+++ /dev/null
-From 10ce0db787004875f4dba068ea952207d1d8abeb Mon Sep 17 00:00:00 2001
-From: Heiner Kallweit <hkallweit1@gmail.com>
-Date: Fri, 18 Oct 2024 11:08:16 +0200
-Subject: [PATCH] r8169: avoid unsolicited interrupts
-
-It was reported that after resume from suspend a PCI error is logged
-and connectivity is broken. Error message is:
-PCI error (cmd = 0x0407, status_errs = 0x0000)
-The message seems to be a red herring as none of the error bits is set,
-and the PCI command register value also is normal. Exception handling
-for a PCI error includes a chip reset what apparently brakes connectivity
-here. The interrupt status bit triggering the PCI error handling isn't
-actually used on PCIe chip versions, so it's not clear why this bit is
-set by the chip. Fix this by ignoring this bit on PCIe chip versions.
-
-Fixes: 0e4851502f84 ("r8169: merge with version 8.001.00 of Realtek's r8168 driver")
-Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219388
-Tested-by: Atlas Yu <atlas.yu@canonical.com>
-Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
-Reviewed-by: Simon Horman <horms@kernel.org>
-Link: https://patch.msgid.link/78e2f535-438f-4212-ad94-a77637ac6c9c@gmail.com
-Signed-off-by: Paolo Abeni <pabeni@redhat.com>
----
- drivers/net/ethernet/realtek/r8169_main.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
---- a/drivers/net/ethernet/realtek/r8169_main.c
-+++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -4683,7 +4683,9 @@ static irqreturn_t rtl8169_interrupt(int
- if ((status & 0xffff) == 0xffff || !(status & tp->irq_mask))
- return IRQ_NONE;
-
-- if (unlikely(status & SYSErr)) {
-+ /* At least RTL8168fp may unexpectedly set the SYSErr bit */
-+ if (unlikely(status & SYSErr &&
-+ tp->mac_version <= RTL_GIGA_MAC_VER_06)) {
- rtl8169_pcierr_interrupt(tp->dev);
- goto out;
- }
#include <linux/ptp_clock_kernel.h>
#include <linux/timecounter.h>
#include <net/dsa.h>
-@@ -275,6 +277,7 @@ struct mv88e6xxx_vlan {
+@@ -276,6 +278,7 @@ struct mv88e6xxx_vlan {
struct mv88e6xxx_port {
struct mv88e6xxx_chip *chip;
int port;
struct mv88e6xxx_vlan bridge_pvid;
u64 serdes_stats[2];
u64 atu_member_violation;
-@@ -289,6 +292,11 @@ struct mv88e6xxx_port {
+@@ -290,6 +293,11 @@ struct mv88e6xxx_port {
struct devlink_region *region;
void *pcs_private;
/* MacAuth Bypass control flag */
bool mab;
};
-@@ -561,6 +569,9 @@ struct mv88e6xxx_ops {
+@@ -563,6 +571,9 @@ struct mv88e6xxx_ops {
phy_interface_t mode);
int (*port_get_cmode)(struct mv88e6xxx_chip *chip, int port, u8 *cmode);
* @reset: reset control
* @regs: base address for our registers
* @regs_size: address space size
-@@ -1167,6 +1169,8 @@ struct dwc3 {
+@@ -1169,6 +1171,8 @@ struct dwc3 {
struct clk *bus_clk;
struct clk *ref_clk;
struct clk *susp_clk;
/**
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
-@@ -1764,6 +1764,13 @@ struct xhci_hub {
+@@ -1508,6 +1508,13 @@ struct xhci_hub {
u8 min_rev;
};
/* There is one xhci_hcd structure per controller */
struct xhci_hcd {
struct usb_hcd *main_hcd;
-@@ -1917,6 +1924,8 @@ struct xhci_hcd {
+@@ -1661,6 +1668,8 @@ struct xhci_hcd {
#define XHCI_WRITE_64_HI_LO BIT_ULL(47)
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
unsigned int num_active_eps;
unsigned int limit_active_eps;
struct xhci_port *hw_ports;
-@@ -1946,6 +1955,8 @@ struct xhci_hcd {
+@@ -1690,6 +1699,8 @@ struct xhci_hcd {
struct list_head regset_list;
void *dbc;