kernel: bump 6.6 to 6.6.79
authorJohn Audia <therealgraysky@proton.me>
Fri, 21 Feb 2025 14:14:57 +0000 (09:14 -0500)
committerNick Hainke <vincent@systemli.org>
Sun, 23 Feb 2025 11:17:38 +0000 (12:17 +0100)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.79

Manually rebased:
ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch

All other patches automatically rebased.

Build system: x86/64
Build-tested: bcm27xx/bcm2712, filogic/glinet_gl-mt6000, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Run-tested: bcm27xx/bcm2712, filogic/glinet_gl-mt6000, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/18066
Signed-off-by: Nick Hainke <vincent@systemli.org>
15 files changed:
include/kernel-6.6
target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch
target/linux/bcm27xx/patches-6.6/950-0065-cgroup-Disable-cgroup-memory-by-default.patch
target/linux/bcm27xx/patches-6.6/950-0087-Add-dwc_otg-driver.patch
target/linux/bcm27xx/patches-6.6/950-1349-cgroup-Use-kernel-command-line-to-disable-memory-cgr.patch
target/linux/bcm27xx/patches-6.6/950-1445-fixup-cgroup-Use-kernel-command-line-to-disable-memo.patch
target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch
target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch
target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch
target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch
target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch
target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch
target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch
target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch

index a22eb0f6f94199b3ce010da217fc6b5148097c83..2e70a47f1d16b279bdbf0786373e647dc8f4589c 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.6 = .78
-LINUX_KERNEL_HASH-6.6.78 = 5aa39a9bd555133ad741058f9908a277e6b36bb928481e747d885b50aaaa93ed
+LINUX_VERSION-6.6 = .79
+LINUX_KERNEL_HASH-6.6.79 = 07a6f904470da1a099aa1683e3025a999dd82f2438f78b006b80c6ae2e9dfe8d
index 80b6550be3239dbd16a5561197175b905b70243a..80723bd5af9f4fae6ba02be86c3b0fcfd69b2b4e 100644 (file)
  };
  
  /* Uart divisor latch read */
-@@ -2881,6 +2889,12 @@ serial8250_do_set_termios(struct uart_po
+@@ -2889,6 +2897,12 @@ serial8250_do_set_termios(struct uart_po
  
        serial8250_set_divisor(port, baud, quot, frac);
  
index 5f2d80b697ce8783dfa130ce4a36787ea6f80e69..5600e857341644779c70b2b69062d8a3186fb9ee 100644 (file)
@@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/kernel/cgroup/cgroup.c
 +++ b/kernel/cgroup/cgroup.c
-@@ -6063,6 +6063,9 @@ int __init cgroup_init_early(void)
+@@ -6059,6 +6059,9 @@ int __init cgroup_init_early(void)
        return 0;
  }
  
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  /**
   * cgroup_init - cgroup initialization
   *
-@@ -6096,6 +6099,12 @@ int __init cgroup_init(void)
+@@ -6092,6 +6095,12 @@ int __init cgroup_init(void)
  
        cgroup_unlock();
  
@@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
        for_each_subsys(ss, ssid) {
                if (ss->early_init) {
                        struct cgroup_subsys_state *css =
-@@ -6736,6 +6745,10 @@ static int __init cgroup_disable(char *s
+@@ -6740,6 +6749,10 @@ static int __init cgroup_disable(char *s
                            strcmp(token, ss->legacy_name))
                                continue;
  
@@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
                        static_branch_disable(cgroup_subsys_enabled_key[i]);
                        pr_info("Disabling %s control group subsystem\n",
                                ss->name);
-@@ -6754,6 +6767,31 @@ static int __init cgroup_disable(char *s
+@@ -6758,6 +6771,31 @@ static int __init cgroup_disable(char *s
  }
  __setup("cgroup_disable=", cgroup_disable);
  
index 3da9f4230bd16ba60ba630fb2e88935ce742d13f..82e969138e07272b9bb7f14fdd4417cd4a0877ba 100644 (file)
@@ -1189,7 +1189,7 @@ Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
  }
 --- a/drivers/usb/core/hub.c
 +++ b/drivers/usb/core/hub.c
-@@ -5712,7 +5712,7 @@ static void port_event(struct usb_hub *h
+@@ -5722,7 +5722,7 @@ static void port_event(struct usb_hub *h
                port_dev->over_current_count++;
                port_over_current_notify(port_dev);
  
index 61dec89382cff5cb4daefc613aafbb09a0c4e7b1..b1ceaad71dee9e7ab64f6fffb87093955cf2f78b 100644 (file)
@@ -148,7 +148,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
  
 --- a/kernel/cgroup/cgroup.c
 +++ b/kernel/cgroup/cgroup.c
-@@ -6063,9 +6063,6 @@ int __init cgroup_init_early(void)
+@@ -6059,9 +6059,6 @@ int __init cgroup_init_early(void)
        return 0;
  }
  
@@ -158,7 +158,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
  /**
   * cgroup_init - cgroup initialization
   *
-@@ -6099,12 +6096,6 @@ int __init cgroup_init(void)
+@@ -6095,12 +6092,6 @@ int __init cgroup_init(void)
  
        cgroup_unlock();
  
@@ -171,7 +171,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
        for_each_subsys(ss, ssid) {
                if (ss->early_init) {
                        struct cgroup_subsys_state *css =
-@@ -6745,10 +6736,6 @@ static int __init cgroup_disable(char *s
+@@ -6749,10 +6740,6 @@ static int __init cgroup_disable(char *s
                            strcmp(token, ss->legacy_name))
                                continue;
  
@@ -182,7 +182,7 @@ Signed-off-by: Maíra Canal <mcanal@igalia.com>
                        static_branch_disable(cgroup_subsys_enabled_key[i]);
                        pr_info("Disabling %s control group subsystem\n",
                                ss->name);
-@@ -6782,7 +6769,7 @@ static int __init cgroup_enable(char *st
+@@ -6786,7 +6773,7 @@ static int __init cgroup_enable(char *st
                            strcmp(token, ss->legacy_name))
                                continue;
  
index 8c4a1c3a3e88ba21381b51fab38acaa0dc303d68..b3a73945f648d17577ef35ddb69375e0870281f7 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/kernel/cgroup/cgroup.c
 +++ b/kernel/cgroup/cgroup.c
-@@ -6769,11 +6769,19 @@ static int __init cgroup_enable(char *st
+@@ -6773,11 +6773,19 @@ static int __init cgroup_enable(char *st
                            strcmp(token, ss->legacy_name))
                                continue;
  
index 82b83552d37b81b064eb7ae5e895ede0e6cf761e..9af345002a10ca39e8e2e70e81a23c10a8361197 100644 (file)
@@ -36,7 +36,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -3300,6 +3300,7 @@ static inline void dev_xmit_recursion_de
+@@ -3306,6 +3306,7 @@ static inline void dev_xmit_recursion_de
        __this_cpu_dec(softnet_data.xmit.recursion);
  }
  
index c6718c8e224c393c2f7b8589cadda9719ca78631..8b562a0f61837a63d47b9f22c0aa7d99be2b0495 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -4561,6 +4561,9 @@ static inline void netif_addr_unlock_bh(
+@@ -4567,6 +4567,9 @@ static inline void netif_addr_unlock_bh(
  
  void ether_setup(struct net_device *dev);
  
index 222633058aae6858b3541b7956ad9082d0757421..bbd73b1e601d0fcc7c24f906890db8c72df15d86 100644 (file)
@@ -44,7 +44,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
  
  #define QUECTEL_VENDOR_ID                     0x2c7c
  /* These Quectel products use Quectel's vendor ID */
-@@ -1162,6 +1167,11 @@ static const struct usb_device_id option
+@@ -1153,6 +1158,11 @@ static const struct usb_device_id option
        { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
        { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */
          .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) },
@@ -56,7 +56,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
        /* Quectel products using Qualcomm vendor ID */
        { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)},
        { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20),
-@@ -1203,6 +1213,11 @@ static const struct usb_device_id option
+@@ -1194,6 +1204,11 @@ static const struct usb_device_id option
          .driver_info = ZLP },
        { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
          .driver_info = RSVD(4) },
index e239d20409e1a4337c4d0cedd850ec244bf1bd85..9b76c82a6fbd00a483f18b7654ff0f855e3e9d8b 100644 (file)
@@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        case RTN_THROW:
        case RTN_UNREACHABLE:
        default:
-@@ -4546,6 +4565,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4551,6 +4570,17 @@ static int ip6_pkt_prohibit_out(struct n
        return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
  }
  
@@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  /*
   *    Allocate a dst for local (unicast / anycast) address.
   */
-@@ -5037,7 +5067,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -5042,7 +5072,8 @@ static int rtm_to_fib6_config(struct sk_
        if (rtm->rtm_type == RTN_UNREACHABLE ||
            rtm->rtm_type == RTN_BLACKHOLE ||
            rtm->rtm_type == RTN_PROHIBIT ||
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                cfg->fc_flags |= RTF_REJECT;
  
        if (rtm->rtm_type == RTN_LOCAL)
-@@ -6299,6 +6330,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6304,6 +6335,8 @@ static int ip6_route_dev_notify(struct n
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                net->ipv6.ip6_prohibit_entry->dst.dev = dev;
                net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
                net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -6310,6 +6343,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6315,6 +6348,7 @@ static int ip6_route_dev_notify(struct n
                in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
  #endif
        }
-@@ -6510,6 +6544,8 @@ static int __net_init ip6_route_net_init
+@@ -6515,6 +6549,8 @@ static int __net_init ip6_route_net_init
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        net->ipv6.fib6_has_custom_rules = false;
@@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
                                               sizeof(*net->ipv6.ip6_prohibit_entry),
                                               GFP_KERNEL);
-@@ -6520,11 +6556,21 @@ static int __net_init ip6_route_net_init
+@@ -6525,11 +6561,21 @@ static int __net_init ip6_route_net_init
                         ip6_template_metrics, true);
        INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached);
  
@@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
        dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
                         ip6_template_metrics, true);
-@@ -6551,6 +6597,8 @@ out:
+@@ -6556,6 +6602,8 @@ out:
        return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
        kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -6570,6 +6618,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6575,6 +6623,7 @@ static void __net_exit ip6_route_net_exi
        kfree(net->ipv6.ip6_null_entry);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        kfree(net->ipv6.ip6_prohibit_entry);
@@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        kfree(net->ipv6.ip6_blk_hole_entry);
  #endif
        dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6653,6 +6702,9 @@ void __init ip6_route_init_special_entri
+@@ -6658,6 +6707,9 @@ void __init ip6_route_init_special_entri
        init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
        init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
        init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
index e91d1ef6b29768b7bee6aeecd9f0469fca8c6787..7ac5347031fa580e27c33bd443d7e5b5dec82a15 100644 (file)
@@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask)
  {
        u16 cmd;
-@@ -1283,3 +1298,4 @@ static void quirk_usb_early_handoff(stru
+@@ -1292,3 +1307,4 @@ static void quirk_usb_early_handoff(stru
  }
  DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID,
                        PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff);
index 206dad7f233dd738407d2b0ad46bd791c994b8ab..1a67286e612f9d24320f6e76403de4bfd6c86458 100644 (file)
@@ -19,7 +19,7 @@
        },
        [PORT_NPCM] = {
                .name           = "Nuvoton 16550",
-@@ -2775,6 +2775,11 @@ serial8250_do_set_termios(struct uart_po
+@@ -2783,6 +2783,11 @@ serial8250_do_set_termios(struct uart_po
        unsigned long flags;
        unsigned int baud, quot, frac = 0;
  
index dc4f2ecd9acdd57fa83f239e212fbfe70bc11cb9..56b638aa3632badc433622f3509400bac8da3a14 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 
 --- a/drivers/media/usb/uvc/uvc_driver.c
 +++ b/drivers/media/usb/uvc/uvc_driver.c
-@@ -3269,6 +3269,18 @@ static const struct usb_device_id uvc_id
+@@ -3287,6 +3287,18 @@ static const struct usb_device_id uvc_id
          .bInterfaceSubClass   = 1,
          .bInterfaceProtocol   = 0,
          .driver_info          = UVC_INFO_META(V4L2_META_FMT_D4XX) },
@@ -62,9 +62,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +#include <linux/kobject.h>
 +#include <linux/workqueue.h>
  
+ #include <media/jpeg.h>
  #include <media/v4l2-common.h>
-@@ -1296,9 +1301,149 @@ static void uvc_video_decode_data(struct
+@@ -1321,9 +1326,149 @@ static void uvc_video_decode_data(struct
        uvc_urb->async_operations++;
  }
  
@@ -214,7 +214,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        /* Mark the buffer as done if the EOF marker is set. */
        if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) {
                uvc_dbg(stream->dev, FRAME, "Frame complete (EOF found)\n");
-@@ -1880,6 +2025,8 @@ static int uvc_init_video_isoc(struct uv
+@@ -1905,6 +2050,8 @@ static int uvc_init_video_isoc(struct uv
        if (npackets == 0)
                return -ENOMEM;
  
@@ -225,16 +225,16 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
        for_each_uvc_urb(uvc_urb, stream) {
 --- a/drivers/media/usb/uvc/uvcvideo.h
 +++ b/drivers/media/usb/uvc/uvcvideo.h
-@@ -76,6 +76,8 @@
- #define UVC_QUIRK_NO_RESET_RESUME     0x00004000
+@@ -77,6 +77,8 @@
  #define UVC_QUIRK_DISABLE_AUTOSUSPEND 0x00008000
  #define UVC_QUIRK_INVALID_DEVICE_SOF  0x00010000
-+#define UVC_QUIRK_MOTION              0x00020000
-+#define UVC_QUIRK_SINGLE_ISO          0x00040000
+ #define UVC_QUIRK_MJPEG_NO_EOF                0x00020000
++#define UVC_QUIRK_MOTION              0x00040000
++#define UVC_QUIRK_SINGLE_ISO          0x00080000
  
  /* Format flags */
  #define UVC_FMT_FLAG_COMPRESSED               0x00000001
-@@ -586,6 +588,7 @@ struct uvc_device {
+@@ -587,6 +589,7 @@ struct uvc_device {
  
        struct input_dev *input;
        char input_phys[64];
index c3d13932ef33a3ec54f78456c9ce1e1261a747e0..7fd7b3af43d28a6b693cfc6997cc79567c449471 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
  #define PAD_DS_TUNE      0x188
  #define PAD_CMD_TUNE     0x18c
  #define EMMC51_CFG0    0x204
-@@ -400,6 +404,7 @@ struct mtk_mmc_compatible {
+@@ -402,6 +406,7 @@ struct mtk_mmc_compatible {
        bool enhance_rx;
        bool support_64g;
        bool use_internal_cd;
@@ -30,7 +30,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
  };
  
  struct msdc_tune_para {
-@@ -537,6 +542,7 @@ static const struct mtk_mmc_compatible m
+@@ -539,6 +544,7 @@ static const struct mtk_mmc_compatible m
        .stop_clk_fix = false,
        .enhance_rx = false,
        .use_internal_cd = true,
@@ -38,7 +38,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
  };
  
  static const struct mtk_mmc_compatible mt7622_compat = {
-@@ -1729,9 +1735,11 @@ static void msdc_init_hw(struct msdc_hos
+@@ -1731,9 +1737,11 @@ static void msdc_init_hw(struct msdc_hos
        }
        writel(0, host->base + MSDC_IOCON);
        sdr_set_field(host->base + MSDC_IOCON, MSDC_IOCON_DDLSEL, 0);
@@ -53,7 +53,7 @@ Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
        sdr_set_bits(host->base + EMMC50_CFG0, EMMC50_CFG_CFCSTS_SEL);
  
        if (host->dev_comp->stop_clk_fix) {
-@@ -1795,6 +1803,18 @@ static void msdc_init_hw(struct msdc_hos
+@@ -1797,6 +1805,18 @@ static void msdc_init_hw(struct msdc_hos
                                     MSDC_PAD_TUNE_RXDLYSEL);
        }
  
index ec6130b7ce3d1c15428420f0e3cfed42dd65d340..4fd92a46dc745f64cd712534cb8ce1da4bb51a36 100644 (file)
@@ -67,7 +67,7 @@ Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
  }
  
  /*
-@@ -2814,7 +2827,6 @@ serial8250_do_set_termios(struct uart_po
+@@ -2822,7 +2835,6 @@ serial8250_do_set_termios(struct uart_po
                if (termios->c_cflag & CRTSCTS)
                        up->mcr |= UART_MCR_AFE;
        }