Skip to content
  1. Oct 11, 2023
  2. Oct 10, 2023
  3. Oct 09, 2023
  4. Oct 08, 2023
  5. Oct 07, 2023
  6. Oct 06, 2023
    • Marc Kleine-Budde's avatar
    • Markus Schneider-Pargmann's avatar
      can: tcan4x5x: Fix id2_register for tcan4553 · a9967c9a
      Markus Schneider-Pargmann authored
      
      
      Fix id2_register content for tcan4553. This slipped through my testing.
      
      Reported-by: default avatarSean Anderson <sean.anderson@seco.com>
      Closes: https://lore.kernel.org/lkml/a94e6fc8-4f08-7877-2ba0-29b9c2780136@seco.com/
      
      
      Fixes: 142c6dc6 ("can: tcan4x5x: Add support for tcan4552/4553")
      Signed-off-by: default avatarMarkus Schneider-Pargmann <msp@baylibre.com>
      Reviewed-by: default avatarSimon Horman <horms@kernel.org>
      Link: https://lore.kernel.org/all/20230919095401.1312259-1-msp@baylibre.com
      
      
      Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      a9967c9a
    • Haibo Chen's avatar
      can: flexcan: remove the auto stop mode for IMX93 · 63ead535
      Haibo Chen authored
      
      
      IMX93 A0 chip involve the internal q-channel handshake in LPCG and
      CCM to automatically handle the Flex-CAN IPG STOP signal. Only after
      FLEX-CAN enter stop mode then can support the self-wakeup feature.
      But meet issue when do the continue system PM stress test. When config
      the CAN as wakeup source, the first time after system suspend, any data
      on CAN bus can wakeup the system, this is as expect. But the second time
      when system suspend, data on CAN bus can't wakeup the system. If continue
      this test, we find in odd time system enter suspend, CAN can wakeup the
      system, but in even number system enter suspend, CAN can't wakeup the
      system. IC find a bug in the auto stop mode logic, and can't fix it easily.
      So for the new imx93 A1, IC drop the auto stop mode and involve the
      GPR to support stop mode (used before). IC define a bit in GPR which can
      trigger the IPG STOP signal to Flex-CAN, let it go into stop mode.
      And NXP claim to drop IMX93 A0, and only support IMX93 A1. So this patch
      remove the auto stop mode, and add flag FLEXCAN_QUIRK_SETUP_STOP_MODE_GPR
      to imx93.
      
      Signed-off-by: default avatarHaibo Chen <haibo.chen@nxp.com>
      Link: https://lore.kernel.org/all/20230726112458.3524165-2-haibo.chen@nxp.com
      
      
      Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      63ead535
    • Miquel Raynal's avatar
      can: sja1000: Always restart the Tx queue after an overrun · b5efb4e6
      Miquel Raynal authored
      
      
      Upstream commit 717c6ec2 ("can: sja1000: Prevent overrun stalls with
      a soft reset on Renesas SoCs") fixes an issue with Renesas own SJA1000
      CAN controller reception: the Rx buffer is only 5 messages long, so when
      the bus loaded (eg. a message every 50us), overrun may easily
      happen. Upon an overrun situation, due to a possible internal crosstalk
      situation, the controller enters a frozen state which only can be
      unlocked with a soft reset (experimentally). The solution was to offload
      a call to sja1000_start() in a threaded handler. This needs to happen in
      process context as this operation requires to sleep. sja1000_start()
      basically enters "reset mode", performs a proper software reset and
      returns back into "normal mode".
      
      Since this fix was introduced, we no longer observe any stalls in
      reception. However it was sporadically observed that the transmit path
      would now freeze. Further investigation blamed the fix mentioned above,
      and especially the reset operation. Reproducing the reset in a loop
      helped identifying what could possibly go wrong. The sja1000 is a single
      Tx queue device, which leverages the netdev helpers to process one Tx
      message at a time. The logic is: the queue is stopped, the message sent
      to the transceiver, once properly transmitted the controller sets a
      status bit which triggers an interrupt, in the interrupt handler the
      transmission status is checked and the queue woken up. Unfortunately, if
      an overrun happens, we might perform the soft reset precisely between
      the transmission of the buffer to the transceiver and the advent of the
      transmission status bit. We would then stop the transmission operation
      without re-enabling the queue, leading to all further transmissions to
      be ignored.
      
      The reset interrupt can only happen while the device is "open", and
      after a reset we anyway want to resume normal operations, no matter if a
      packet to transmit got dropped in the process, so we shall wake up the
      queue. Restarting the device and waking-up the queue is exactly what
      sja1000_set_mode(CAN_MODE_START) does. In order to be consistent about
      the queue state, we must acquire a lock both in the reset handler and in
      the transmit path to ensure serialization of both operations. It turns
      out, a lock is already held when entering the transmit path, so we can
      just acquire/release it as well with the regular net helpers inside the
      threaded interrupt handler and this way we should be safe. As the
      reset handler might still be called after the transmission of a frame to
      the transceiver but before it actually gets transmitted, we must ensure
      we don't leak the skb, so we free it (the behavior is consistent, no
      matter if there was an skb on the stack or not).
      
      Fixes: 717c6ec2 ("can: sja1000: Prevent overrun stalls with a soft reset on Renesas SoCs")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
      Link: https://lore.kernel.org/all/20231002160206.190953-1-miquel.raynal@bootlin.com
      
      
      [mkl: fixed call to can_free_echo_skb()]
      Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      b5efb4e6
    • Haibo Chen's avatar
      arm64: dts: imx93: add the Flex-CAN stop mode by GPR · 23ed2be5
      Haibo Chen authored
      
      
      imx93 A0 chip use the internal q-channel handshake signal in LPCG
      and CCM to automatically handle the Flex-CAN stop mode. But this
      method meet issue when do the system PM stress test. IC can't fix
      it easily. So in the new imx93 A1 chip, IC drop this method, and
      involve back the old way,use the GPR method to trigger the Flex-CAN
      stop mode signal. Now NXP claim to drop imx93 A0, and only support
      imx93 A1. So here add the stop mode through GPR.
      
      This patch also fix a typo for aonmix_ns_gpr.
      
      Signed-off-by: default avatarHaibo Chen <haibo.chen@nxp.com>
      Link: https://lore.kernel.org/all/20230726112458.3524165-1-haibo.chen@nxp.com
      
      
      Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      23ed2be5
    • John Watts's avatar
      can: sun4i_can: Only show Kconfig if ARCH_SUNXI is set · 1f223208
      John Watts authored
      
      
      When adding the RISCV option I didn't gate it behind ARCH_SUNXI.
      As a result this option shows up with Allwinner support isn't enabled.
      Fix that by requiring ARCH_SUNXI to be set if RISCV is set.
      
      Fixes: 8abb9525 ("can: sun4i_can: Add support for the Allwinner D1")
      Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Closes: https://lore.kernel.org/linux-sunxi/CAMuHMdV2m54UAH0X2dG7stEg=grFihrdsz4+o7=_DpBMhjTbkw@mail.gmail.com/
      
      
      Signed-off-by: default avatarJohn Watts <contact@jookia.org>
      Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
      Link: https://lore.kernel.org/all/20230905231342.2042759-2-contact@jookia.org
      
      
      Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      1f223208
    • Lukas Magel's avatar
      can: isotp: isotp_sendmsg(): fix TX state detection and wait behavior · d9c2ba65
      Lukas Magel authored
      With patch [1], isotp_poll was updated to also queue the poller in the
      so->wait queue, which is used for send state changes. Since the queue
      now also contains polling tasks that are not interested in sending, the
      queue fill state can no longer be used as an indication of send
      readiness. As a consequence, nonblocking writes can lead to a race and
      lock-up of the socket if there is a second task polling the socket in
      parallel.
      
      With this patch, isotp_sendmsg does not consult wq_has_sleepers but
      instead tries to atomically set so->tx.state and waits on so->wait if it
      is unable to do so. This behavior is in alignment with isotp_poll, which
      also checks so->tx.state to determine send readiness.
      
      V2:
      - Revert direct exit to goto err_event_drop
      
      [1] https://lore.kernel.org/all/20230331125511.372783-1-michal.sojka@cvut.cz
      
      
      
      Reported-by: default avatarMaxime Jayat <maxime.jayat@mobile-devices.fr>
      Closes: https://lore.kernel.org/linux-can/11328958-453f-447f-9af8-3b5824dfb041@munic.io/
      
      
      Signed-off-by: default avatarLukas Magel <lukas.magel@posteo.net>
      Reviewed-by: default avatarOliver Hartkopp <socketcan@hartkopp.net>
      Fixes: 79e19fa7 ("can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events")
      Link: https://github.com/pylessard/python-udsoncan/issues/178#issuecomment-1743786590
      Link: https://lore.kernel.org/all/20230827092205.7908-1-lukas.magel@posteo.net
      
      
      Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      d9c2ba65
    • Gustavo A. R. Silva's avatar
      net: sched: cls_u32: Fix allocation size in u32_init() · c4d49196
      Gustavo A. R. Silva authored
      
      
      commit d61491a5 ("net/sched: cls_u32: Replace one-element array
      with flexible-array member") incorrecly replaced an instance of
      `sizeof(*tp_c)` with `struct_size(tp_c, hlist->ht, 1)`. This results
      in a an over-allocation of 8 bytes.
      
      This change is wrong because `hlist` in `struct tc_u_common` is a
      pointer:
      
      net/sched/cls_u32.c:
      struct tc_u_common {
              struct tc_u_hnode __rcu *hlist;
              void                    *ptr;
              int                     refcnt;
              struct idr              handle_idr;
              struct hlist_node       hnode;
              long                    knodes;
      };
      
      So, the use of `struct_size()` makes no sense: we don't need to allocate
      any extra space for a flexible-array member. `sizeof(*tp_c)` is just fine.
      
      So, `struct_size(tp_c, hlist->ht, 1)` translates to:
      
      sizeof(*tp_c) + sizeof(tp_c->hlist->ht) ==
      sizeof(struct tc_u_common) + sizeof(struct tc_u_knode *) ==
      						144 + 8  == 0x98 (byes)
      						     ^^^
      						      |
      						unnecessary extra
      						allocation size
      
      $ pahole -C tc_u_common net/sched/cls_u32.o
      struct tc_u_common {
      	struct tc_u_hnode *        hlist;                /*     0     8 */
      	void *                     ptr;                  /*     8     8 */
      	int                        refcnt;               /*    16     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	struct idr                 handle_idr;           /*    24    96 */
      	/* --- cacheline 1 boundary (64 bytes) was 56 bytes ago --- */
      	struct hlist_node          hnode;                /*   120    16 */
      	/* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */
      	long int                   knodes;               /*   136     8 */
      
      	/* size: 144, cachelines: 3, members: 6 */
      	/* sum members: 140, holes: 1, sum holes: 4 */
      	/* last cacheline: 16 bytes */
      };
      
      And with `sizeof(*tp_c)`, we have:
      
      	sizeof(*tp_c) == sizeof(struct tc_u_common) == 144 == 0x90 (bytes)
      
      which is the correct and original allocation size.
      
      Fix this issue by replacing `struct_size(tp_c, hlist->ht, 1)` with
      `sizeof(*tp_c)`, and avoid allocating 8 too many bytes.
      
      The following difference in binary output is expected and reflects the
      desired change:
      
      | net/sched/cls_u32.o
      | @@ -6148,7 +6148,7 @@
      | include/linux/slab.h:599
      |     2cf5:      mov    0x0(%rip),%rdi        # 2cfc <u32_init+0xfc>
      |                        2cf8: R_X86_64_PC32     kmalloc_caches+0xc
      |-    2cfc:      mov    $0x98,%edx
      |+    2cfc:      mov    $0x90,%edx
      
      Reported-by: default avatarAlejandro Colomar <alx@kernel.org>
      Closes: https://lore.kernel.org/lkml/09b4a2ce-da74-3a19-6961-67883f634d98@kernel.org/
      
      
      Signed-off-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
      Acked-by: default avatarJamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c4d49196
    • David S. Miller's avatar
      Merge branch 'qca8k-fixes' · 3d35d954
      David S. Miller authored
      Marek Behún says:
      
      ====================
      net: dsa: qca8k: fix qca8k driver for Turris 1.x
      
      this is v2 of
        https://lore.kernel.org/netdev/20231002104612.21898-1-kabel@kernel.org/
      
      
      
      Changes since v1:
      - fixed a typo in commit message noticed by Simon Horman
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3d35d954
    • Marek Behún's avatar
      net: dsa: qca8k: fix potential MDIO bus conflict when accessing internal PHYs via management frames · 526c8ee0
      Marek Behún authored
      
      
      Besides the QCA8337 switch the Turris 1.x device has on it's MDIO bus
      also Micron ethernet PHY (dedicated to the WAN port).
      
      We've been experiencing a strange behavior of the WAN ethernet
      interface, wherein the WAN PHY started timing out the MDIO accesses, for
      example when the interface was brought down and then back up.
      
      Bisecting led to commit 2cd54856 ("net: dsa: qca8k: add support for
      phy read/write with mgmt Ethernet"), which added support to access the
      QCA8337 switch's internal PHYs via management ethernet frames.
      
      Connecting the MDIO bus pins onto an oscilloscope, I was able to see
      that the MDIO bus was active whenever a request to read/write an
      internal PHY register was done via an management ethernet frame.
      
      My theory is that when the switch core always communicates with the
      internal PHYs via the MDIO bus, even when externally we request the
      access via ethernet. This MDIO bus is the same one via which the switch
      and internal PHYs are accessible to the board, and the board may have
      other devices connected on this bus. An ASCII illustration may give more
      insight:
      
                 +---------+
            +----|         |
            |    | WAN PHY |
            | +--|         |
            | |  +---------+
            | |
            | |  +----------------------------------+
            | |  | QCA8337                          |
      MDC   | |  |                        +-------+ |
      ------o-+--|--------o------------o--|       | |
      MDIO    |  |        |            |  | PHY 1 |-|--to RJ45
      --------o--|---o----+---------o--+--|       | |
                 |   |    |         |  |  +-------+ |
      	   | +-------------+  |  o--|       | |
      	   | | MDIO MDC    |  |  |  | PHY 2 |-|--to RJ45
      eth1	   | |             |  o--+--|       | |
      -----------|-|port0        |  |  |  +-------+ |
                 | |             |  |  o--|       | |
      	   | | switch core |  |  |  | PHY 3 |-|--to RJ45
                 | +-------------+  o--+--|       | |
      	   |                  |  |  +-------+ |
      	   |                  |  o--|  ...  | |
      	   +----------------------------------+
      
      When we send a request to read an internal PHY register via an ethernet
      management frame via eth1, the switch core receives the ethernet frame
      on port 0 and then communicates with the internal PHY via MDIO. At this
      time, other potential devices, such as the WAN PHY on Turris 1.x, cannot
      use the MDIO bus, since it may cause a bus conflict.
      
      Fix this issue by locking the MDIO bus even when we are accessing the
      PHY registers via ethernet management frames.
      
      Fixes: 2cd54856 ("net: dsa: qca8k: add support for phy read/write with mgmt Ethernet")
      Signed-off-by: default avatarMarek Behún <kabel@kernel.org>
      Reviewed-by: default avatarChristian Marangi <ansuelsmth@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      526c8ee0
    • Marek Behún's avatar
      net: dsa: qca8k: fix regmap bulk read/write methods on big endian systems · 5652d174
      Marek Behún authored
      
      
      Commit c766e077 ("net: dsa: qca8k: convert to regmap read/write
      API") introduced bulk read/write methods to qca8k's regmap.
      
      The regmap bulk read/write methods get the register address in a buffer
      passed as a void pointer parameter (the same buffer contains also the
      read/written values). The register address occupies only as many bytes
      as it requires at the beginning of this buffer. For example if the
      .reg_bits member in regmap_config is 16 (as is the case for this
      driver), the register address occupies only the first 2 bytes in this
      buffer, so it can be cast to u16.
      
      But the original commit implementing these bulk read/write methods cast
      the buffer to u32:
        u32 reg = *(u32 *)reg_buf & U16_MAX;
      taking the first 4 bytes. This works on little endian systems where the
      first 2 bytes of the buffer correspond to the low 16-bits, but it
      obviously cannot work on big endian systems.
      
      Fix this by casting the beginning of the buffer to u16 as
         u32 reg = *(u16 *)reg_buf;
      
      Fixes: c766e077 ("net: dsa: qca8k: convert to regmap read/write API")
      Signed-off-by: default avatarMarek Behún <kabel@kernel.org>
      Tested-by: default avatarChristian Marangi <ansuelsmth@gmail.com>
      Reviewed-by: default avatarChristian Marangi <ansuelsmth@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5652d174
    • David S. Miller's avatar
      Merge branch 'lynx-28g-fixes' · 109c2de9
      David S. Miller authored
      
      
      Vladimir Oltean says:
      
      ====================
      Fixes for lynx-28g PHY driver
      
      This series fixes some issues in the Lynx 28G SerDes driver, namely an
      oops when unloading the module, a race between the periodic workqueue
      and the PHY API, and a race between phy_set_mode_ext() calls on multiple
      lanes on the same SerDes.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      109c2de9
    • Vladimir Oltean's avatar
      phy: lynx-28g: serialize concurrent phy_set_mode_ext() calls to shared registers · 139ad114
      Vladimir Oltean authored
      
      
      The protocol converter configuration registers PCC8, PCCC, PCCD
      (implemented by the driver), as well as others, control protocol
      converters from multiple lanes (each represented as a different
      struct phy). So, if there are simultaneous calls to phy_set_mode_ext()
      to lanes sharing the same PCC register (either for the "old" or for the
      "new" protocol), corruption of the values programmed to hardware is
      possible, because lynx_28g_rmw() has no locking.
      
      Add a spinlock in the struct lynx_28g_priv shared by all lanes, and take
      the global spinlock from the phy_ops :: set_mode() implementation. There
      are no other callers which modify PCC registers.
      
      Fixes: 8f73b37c ("phy: add support for the Layerscape SerDes 28G")
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      139ad114
    • Vladimir Oltean's avatar
      phy: lynx-28g: lock PHY while performing CDR lock workaround · 0ac87fe5
      Vladimir Oltean authored
      
      
      lynx_28g_cdr_lock_check() runs once per second in a workqueue to reset
      the lane receiver if the CDR has not locked onto bit transitions in the
      RX stream. But the PHY consumer may do stuff with the PHY simultaneously,
      and that isn't okay. Block concurrent generic PHY calls by holding the
      PHY mutex from this workqueue.
      
      Fixes: 8f73b37c ("phy: add support for the Layerscape SerDes 28G")
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0ac87fe5
    • Ioana Ciornei's avatar
      phy: lynx-28g: cancel the CDR check work item on the remove path · f200bab3
      Ioana Ciornei authored
      
      
      The blamed commit added the CDR check work item but didn't cancel it on
      the remove path. Fix this by adding a remove function which takes care
      of it.
      
      Fixes: 8f73b37c ("phy: add support for the Layerscape SerDes 28G")
      Signed-off-by: default avatarIoana Ciornei <ioana.ciornei@nxp.com>
      Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f200bab3
    • Linus Torvalds's avatar
      Merge tag 'net-6.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · f291209e
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from Bluetooth, netfilter, BPF and WiFi.
      
        I didn't collect precise data but feels like we've got a lot of 6.5
        fixes here. WiFi fixes are most user-awaited.
      
        Current release - regressions:
      
         - Bluetooth: fix hci_link_tx_to RCU lock usage
      
        Current release - new code bugs:
      
         - bpf: mprog: fix maximum program check on mprog attachment
      
         - eth: ti: icssg-prueth: fix signedness bug in prueth_init_tx_chns()
      
        Previous releases - regressions:
      
         - ipv6: tcp: add a missing nf_reset_ct() in 3WHS handling
      
         - vringh: don't use vringh_kiov_advance() in vringh_iov_xfer(), it
           doesn't handle zero length like we expected
      
         - wifi:
            - cfg80211: fix cqm_config access race, fix crashes with brcmfmac
            - iwlwifi: mvm: handle PS changes in vif_cfg_changed
            - mac80211: fix mesh id corruption on 32 bit systems
            - mt76: mt76x02: fix MT76x0 external LNA gain handling
      
         - Bluetooth: fix handling of HCI_QUIRK_STRICT_DUPLICATE_FILTER
      
         - l2tp: fix handling of transhdrlen in __ip{,6}_append_data()
      
         - dsa: mv88e6xxx: avoid EEPROM timeout when EEPROM is absent
      
         - eth: stmmac: fix the incorrect parameter after refactoring
      
        Previous releases - always broken:
      
         - net: replace calls to sock->ops->connect() with kernel_connect(),
           prevent address rewrite in kernel_bind(); otherwise BPF hooks may
           modify arguments, unexpectedly to the caller
      
         - tcp: fix delayed ACKs when reads and writes align with MSS
      
         - bpf:
            - verifier: unconditionally reset backtrack_state masks on global
              func exit
            - s390: let arch_prepare_bpf_trampoline return program size, fix
              struct_ops offsets
            - sockmap: fix accounting of available bytes in presence of PEEKs
            - sockmap: reject sk_msg egress redirects to non-TCP sockets
      
         - ipv4/fib: send netlink notify when delete source address routes
      
         - ethtool: plca: fix width of reads when parsing netlink commands
      
         - netfilter: nft_payload: rebuild vlan header on h_proto access
      
         - Bluetooth: hci_codec: fix leaking memory of local_codecs
      
         - eth: intel: ice: always add legacy 32byte RXDID in supported_rxdids
      
         - eth: stmmac:
           - dwmac-stm32: fix resume on STM32 MCU
           - remove buggy and unneeded stmmac_poll_controller, depend on NAPI
      
         - ibmveth: always recompute TCP pseudo-header checksum, fix use of
           the driver with Open vSwitch
      
         - wifi:
            - rtw88: rtw8723d: fix MAC address offset in EEPROM
            - mt76: fix lock dependency problem for wed_lock
            - mwifiex: sanity check data reported by the device
            - iwlwifi: ensure ack flag is properly cleared
            - iwlwifi: mvm: fix a memory corruption due to bad pointer arithm
            - iwlwifi: mvm: fix incorrect usage of scan API
      
        Misc:
      
         - wifi: mac80211: work around Cisco AP 9115 VHT MPDU length"
      
      * tag 'net-6.6-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (99 commits)
        MAINTAINERS: update Matthieu's email address
        mptcp: userspace pm allow creating id 0 subflow
        mptcp: fix delegated action races
        net: stmmac: remove unneeded stmmac_poll_controller
        net: lan743x: also select PHYLIB
        net: ethernet: mediatek: disable irq before schedule napi
        net: mana: Fix oversized sge0 for GSO packets
        net: mana: Fix the tso_bytes calculation
        net: mana: Fix TX CQE error handling
        netlink: annotate data-races around sk->sk_err
        sctp: update hb timer immediately after users change hb_interval
        sctp: update transport state when processing a dupcook packet
        tcp: fix delayed ACKs for MSS boundary condition
        tcp: fix quick-ack counting to count actual ACKs of new data
        page_pool: fix documentation typos
        tipc: fix a potential deadlock on &tx->lock
        net: stmmac: dwmac-stm32: fix resume on STM32 MCU
        ipv4: Set offload_failed flag in fibmatch results
        netfilter: nf_tables: nft_set_rbtree: fix spurious insertion failure
        netfilter: nf_tables: Deduplicate nft_register_obj audit logs
        ...
      f291209e
    • Linus Torvalds's avatar
      Merge tag 'integrity-v6.6-fix' of... · cb84fb87
      Linus Torvalds authored
      Merge tag 'integrity-v6.6-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity
      
      Pull integrity fixes from Mimi Zohar:
       "Two additional patches to fix the removal of the deprecated
        IMA_TRUSTED_KEYRING Kconfig"
      
      * tag 'integrity-v6.6-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity:
        ima: rework CONFIG_IMA dependency block
        ima: Finish deprecation of IMA_TRUSTED_KEYRING Kconfig
      cb84fb87
    • Linus Torvalds's avatar
      Merge tag 'leds-fixes-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds · e90822d7
      Linus Torvalds authored
      Pull LED fix from Lee Jones:
       "Just the one bug-fix:
      
         - Fix regression affecting LED_COLOR_ID_MULTI users"
      
      * tag 'leds-fixes-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds:
        leds: Drop BUG_ON check for LED_COLOR_ID_MULTI
      e90822d7
    • Linus Torvalds's avatar
      Merge tag 'mfd-fixes-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · bc622f16
      Linus Torvalds authored
      Pull MFD fixes from Lee Jones:
       "A couple of small fixes:
      
         - Potential build failure in CS42L43
      
         - Device Tree bindings clean-up for a superseded patch"
      
      * tag 'mfd-fixes-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd:
        dt-bindings: mfd: Revert "dt-bindings: mfd: maxim,max77693: Add USB connector"
        mfd: cs42l43: Fix MFD_CS42L43 dependency on REGMAP_IRQ
      bc622f16