mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 06:08:08 +00:00
kernel: bump 6.6 to 6.6.59
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.59 Removed upstreamed: - generic/backport-6.6/777-netfilter-xtables-fix-typo-causing-some-targets-to-not-load-on-IPv6.patch[1] - generic/backport-6.6/780-24-v6.12-r8169-avoid-unsolicited-interrupts.patch[2] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.59&id=433742ba96baf30c21e654ce3e698ad87100593b 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.59&id=7d6d46b429804b1a182106e27e2f8c0e84689e1a Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> Link: https://github.com/openwrt/openwrt/pull/16835 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
8508d87495
commit
4fc47c6000
@ -1,2 +1,2 @@
|
|||||||
LINUX_VERSION-6.6 = .58
|
LINUX_VERSION-6.6 = .59
|
||||||
LINUX_KERNEL_HASH-6.6.58 = e7df81e588d70fab5ec3ec3bb04ac53d51f0860fc3b1ec45e0a4167a026899db
|
LINUX_KERNEL_HASH-6.6.59 = 23616808d8c08f12815ff898f4edb4c11397a2b2843d029ee62452d21833a76d
|
||||||
|
@ -52,7 +52,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||||||
erst_base = xhci_read_64(xhci, &ir->ir_set->erst_base);
|
erst_base = xhci_read_64(xhci, &ir->ir_set->erst_base);
|
||||||
--- a/drivers/usb/host/xhci.h
|
--- a/drivers/usb/host/xhci.h
|
||||||
+++ b/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:
|
* 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,
|
* (1K bytes * 8bytes/bit) / (4*32 bits) = 64 segment entries in the table,
|
||||||
* meaning 64 ring segments.
|
* meaning 64 ring segments.
|
||||||
|
@ -52,7 +52,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||||||
addr = xhci_trb_virt_to_dma(new_seg, new_deq);
|
addr = xhci_trb_virt_to_dma(new_seg, new_deq);
|
||||||
--- a/drivers/usb/host/xhci.h
|
--- a/drivers/usb/host/xhci.h
|
||||||
+++ b/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_WRITE_64_HI_LO BIT_ULL(47)
|
||||||
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
|
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||||
--- a/drivers/usb/host/xhci.h
|
--- a/drivers/usb/host/xhci.h
|
||||||
+++ b/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 */
|
/* Downstream VLI fixes */
|
||||||
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
|
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
|
||||||
|
@ -144,7 +144,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||||||
return 0;
|
return 0;
|
||||||
--- a/drivers/usb/host/xhci.h
|
--- a/drivers/usb/host/xhci.h
|
||||||
+++ b/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 */
|
/* Downstream VLI fixes */
|
||||||
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
|
#define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
|
||||||
#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(57)
|
#define XHCI_VLI_SS_BULK_OUT_BUG BIT_ULL(57)
|
||||||
|
@ -341,7 +341,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||||||
* @hsphy_interface: "utmi" or "ulpi"
|
* @hsphy_interface: "utmi" or "ulpi"
|
||||||
* @connected: true when we're connected to a host, false otherwise
|
* @connected: true when we're connected to a host, false otherwise
|
||||||
* @softconnect: true when gadget connect is called, false when disconnect runs
|
* @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_max_burst_prd;
|
||||||
u8 tx_fifo_resize_max_num;
|
u8 tx_fifo_resize_max_num;
|
||||||
u8 clear_stall_protocol;
|
u8 clear_stall_protocol;
|
||||||
|
@ -62,7 +62,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
|
|||||||
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
|
* @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk
|
||||||
* @tx_de_emphasis: Tx de-emphasis value
|
* @tx_de_emphasis: Tx de-emphasis value
|
||||||
* 0 - -6dB de-emphasis
|
* 0 - -6dB de-emphasis
|
||||||
@@ -1344,6 +1347,7 @@ struct dwc3 {
|
@@ -1346,6 +1349,7 @@ struct dwc3 {
|
||||||
unsigned ulpi_ext_vbus_drv:1;
|
unsigned ulpi_ext_vbus_drv:1;
|
||||||
unsigned parkmode_disable_ss_quirk:1;
|
unsigned parkmode_disable_ss_quirk:1;
|
||||||
unsigned parkmode_disable_hs_quirk:1;
|
unsigned parkmode_disable_hs_quirk:1;
|
||||||
|
@ -103,7 +103,7 @@ it on BCM4708 family.
|
|||||||
if (xhci->quirks & XHCI_NEC_HOST)
|
if (xhci->quirks & XHCI_NEC_HOST)
|
||||||
--- a/drivers/usb/host/xhci.h
|
--- a/drivers/usb/host/xhci.h
|
||||||
+++ b/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_ZHAOXIN_HOST BIT_ULL(46)
|
||||||
#define XHCI_WRITE_64_HI_LO BIT_ULL(47)
|
#define XHCI_WRITE_64_HI_LO BIT_ULL(47)
|
||||||
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
|
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
|
||||||
|
@ -37,7 +37,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
--- a/include/linux/netdevice.h
|
--- a/include/linux/netdevice.h
|
||||||
+++ b/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);
|
void ether_setup(struct net_device *dev);
|
||||||
|
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
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,
|
|
@ -29,7 +29,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
set_bit(flag, tp->wk.flags);
|
set_bit(flag, tp->wk.flags);
|
||||||
schedule_work(&tp->wk.work);
|
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();
|
rtnl_lock();
|
||||||
|
|
||||||
|
@ -296,7 +296,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type)
|
static void r8168fp_adjust_ocp_cmd(struct rtl8169_private *tp, u32 *cmd, int type)
|
||||||
{
|
{
|
||||||
/* based on RTL8168FP_OOBMAC_BASE in vendor driver */
|
/* 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->cfg9346_usage_lock);
|
||||||
raw_spin_lock_init(&tp->config25_lock);
|
raw_spin_lock_init(&tp->config25_lock);
|
||||||
raw_spin_lock_init(&tp->mac_ocp_lock);
|
raw_spin_lock_init(&tp->mac_ocp_lock);
|
||||||
@ -304,7 +304,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
|
|
||||||
dev->tstats = devm_netdev_alloc_pcpu_stats(&pdev->dev,
|
dev->tstats = devm_netdev_alloc_pcpu_stats(&pdev->dev,
|
||||||
struct pcpu_sw_netstats);
|
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)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
obj-$(CONFIG_R8169) += r8169.o
|
obj-$(CONFIG_R8169) += r8169.o
|
||||||
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
||||||
+++ b/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)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
genphy_soft_reset(tp->phydev);
|
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;
|
tp->phydev->mac_managed_pm = true;
|
||||||
@ -86,7 +86,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
phy_support_asym_pause(tp->phydev);
|
phy_support_asym_pause(tp->phydev);
|
||||||
|
|
||||||
/* PHY will be woken up in rtl_open() */
|
/* 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->dev = dev;
|
||||||
tp->pci_dev = pdev;
|
tp->pci_dev = pdev;
|
||||||
tp->supports_gmii = ent->driver_data == RTL_CFG_NO_GBIT ? 0 : 1;
|
tp->supports_gmii = ent->driver_data == RTL_CFG_NO_GBIT ? 0 : 1;
|
||||||
|
@ -321,7 +321,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
padto = max_t(unsigned int, padto, ETH_ZLEN);
|
padto = max_t(unsigned int, padto, ETH_ZLEN);
|
||||||
break;
|
break;
|
||||||
default:
|
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:
|
case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
|
||||||
rtl_hw_init_8168g(tp);
|
rtl_hw_init_8168g(tp);
|
||||||
break;
|
break;
|
||||||
|
@ -16,7 +16,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
||||||
+++ b/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);
|
raw_spin_lock_init(&tp->mac_ocp_lock);
|
||||||
mutex_init(&tp->led_lock);
|
mutex_init(&tp->led_lock);
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
|||||||
/* Get the *optional* external "ether_clk" used on some boards */
|
/* Get the *optional* external "ether_clk" used on some boards */
|
||||||
tp->clk = devm_clk_get_optional_enabled(&pdev->dev, "ether_clk");
|
tp->clk = devm_clk_get_optional_enabled(&pdev->dev, "ether_clk");
|
||||||
if (IS_ERR(tp->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_RXALL;
|
||||||
dev->hw_features |= NETIF_F_RXFCS;
|
dev->hw_features |= NETIF_F_RXFCS;
|
||||||
|
|
||||||
|
@ -225,7 +225,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
void r8169_get_led_name(struct rtl8169_private *tp, int idx,
|
void r8169_get_led_name(struct rtl8169_private *tp, int idx,
|
||||||
char *buf, int buf_len)
|
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)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
u32 ocp_base;
|
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);
|
cancel_work_sync(&tp->wk.work);
|
||||||
|
|
||||||
@ -133,7 +133,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
|||||||
unregister_netdev(tp->dev);
|
unregister_netdev(tp->dev);
|
||||||
|
|
||||||
if (tp->dash_type != RTL_DASH_NONE)
|
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 (IS_ENABLED(CONFIG_R8169_LEDS)) {
|
||||||
if (rtl_is_8125(tp))
|
if (rtl_is_8125(tp))
|
||||||
|
@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
||||||
+++ b/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);
|
cancel_work_sync(&tp->wk.work);
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
|
|
||||||
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
--- a/drivers/net/ethernet/realtek/r8169_main.c
|
||||||
+++ b/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;
|
tp->irq_mask = RxOK | RxErr | TxOK | TxErr | LinkChg;
|
||||||
|
|
||||||
if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
|
if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
|
||||||
|
@ -224,7 +224,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|||||||
padto = max_t(unsigned int, padto, ETH_ZLEN);
|
padto = max_t(unsigned int, padto, ETH_ZLEN);
|
||||||
break;
|
break;
|
||||||
default:
|
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:
|
case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
|
||||||
rtl_hw_init_8168g(tp);
|
rtl_hw_init_8168g(tp);
|
||||||
break;
|
break;
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
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;
|
|
||||||
}
|
|
@ -217,7 +217,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
|||||||
#include <linux/ptp_clock_kernel.h>
|
#include <linux/ptp_clock_kernel.h>
|
||||||
#include <linux/timecounter.h>
|
#include <linux/timecounter.h>
|
||||||
#include <net/dsa.h>
|
#include <net/dsa.h>
|
||||||
@@ -275,6 +277,7 @@ struct mv88e6xxx_vlan {
|
@@ -276,6 +278,7 @@ struct mv88e6xxx_vlan {
|
||||||
struct mv88e6xxx_port {
|
struct mv88e6xxx_port {
|
||||||
struct mv88e6xxx_chip *chip;
|
struct mv88e6xxx_chip *chip;
|
||||||
int port;
|
int port;
|
||||||
@ -225,7 +225,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
|||||||
struct mv88e6xxx_vlan bridge_pvid;
|
struct mv88e6xxx_vlan bridge_pvid;
|
||||||
u64 serdes_stats[2];
|
u64 serdes_stats[2];
|
||||||
u64 atu_member_violation;
|
u64 atu_member_violation;
|
||||||
@@ -289,6 +292,11 @@ struct mv88e6xxx_port {
|
@@ -290,6 +293,11 @@ struct mv88e6xxx_port {
|
||||||
struct devlink_region *region;
|
struct devlink_region *region;
|
||||||
void *pcs_private;
|
void *pcs_private;
|
||||||
|
|
||||||
@ -237,7 +237,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
|
|||||||
/* MacAuth Bypass control flag */
|
/* MacAuth Bypass control flag */
|
||||||
bool mab;
|
bool mab;
|
||||||
};
|
};
|
||||||
@@ -561,6 +569,9 @@ struct mv88e6xxx_ops {
|
@@ -563,6 +571,9 @@ struct mv88e6xxx_ops {
|
||||||
phy_interface_t mode);
|
phy_interface_t mode);
|
||||||
int (*port_get_cmode)(struct mv88e6xxx_chip *chip, int port, u8 *cmode);
|
int (*port_get_cmode)(struct mv88e6xxx_chip *chip, int port, u8 *cmode);
|
||||||
|
|
||||||
|
@ -80,7 +80,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|||||||
* @reset: reset control
|
* @reset: reset control
|
||||||
* @regs: base address for our registers
|
* @regs: base address for our registers
|
||||||
* @regs_size: address space size
|
* @regs_size: address space size
|
||||||
@@ -1167,6 +1169,8 @@ struct dwc3 {
|
@@ -1169,6 +1171,8 @@ struct dwc3 {
|
||||||
struct clk *bus_clk;
|
struct clk *bus_clk;
|
||||||
struct clk *ref_clk;
|
struct clk *ref_clk;
|
||||||
struct clk *susp_clk;
|
struct clk *susp_clk;
|
||||||
|
@ -263,7 +263,7 @@ Signed-off-by: minda.chen <minda.chen@starfivetech.com>
|
|||||||
/**
|
/**
|
||||||
--- a/drivers/usb/host/xhci.h
|
--- a/drivers/usb/host/xhci.h
|
||||||
+++ b/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;
|
u8 min_rev;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -277,7 +277,7 @@ Signed-off-by: minda.chen <minda.chen@starfivetech.com>
|
|||||||
/* There is one xhci_hcd structure per controller */
|
/* There is one xhci_hcd structure per controller */
|
||||||
struct xhci_hcd {
|
struct xhci_hcd {
|
||||||
struct usb_hcd *main_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_WRITE_64_HI_LO BIT_ULL(47)
|
||||||
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
|
#define XHCI_CDNS_SCTX_QUIRK BIT_ULL(48)
|
||||||
|
|
||||||
@ -286,7 +286,7 @@ Signed-off-by: minda.chen <minda.chen@starfivetech.com>
|
|||||||
unsigned int num_active_eps;
|
unsigned int num_active_eps;
|
||||||
unsigned int limit_active_eps;
|
unsigned int limit_active_eps;
|
||||||
struct xhci_port *hw_ports;
|
struct xhci_port *hw_ports;
|
||||||
@@ -1946,6 +1955,8 @@ struct xhci_hcd {
|
@@ -1690,6 +1699,8 @@ struct xhci_hcd {
|
||||||
struct list_head regset_list;
|
struct list_head regset_list;
|
||||||
|
|
||||||
void *dbc;
|
void *dbc;
|
||||||
|
Loading…
Reference in New Issue
Block a user