summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-08-10netfilter: ipset: fix list type element drift bugFlorian Westphal
If list_set_uadd() calls list_set_replace() to swap an expired entry, the element count remains the same, therefore the increment must be elided. Fixes: 702b71e7c666 ("netfilter: ipset: Add element count to all set types header") Link: https://sashiko.dev/#/patchset/20260806101947.2802-1-fw%40strlen.de Signed-off-by: Florian Westphal <fw@strlen.de> Acked-by: Jozsef Kadlecsik <kadlec@netfilter.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10netfilter: flowtable: publish GC-visible tuple lastJérémy Jean
nf_flow_table_iterate() only treats original-direction tuple nodes as owning entries. Publishing the original node first lets GC observe and free a flow while flow_offload_add() is still inserting the reply node. Publish the reply node first and the original node last so GC never sees a partially installed flow. KASAN can trigger slab-use-after-free read and write reports in the flowtable/rhashtable path (rht_deferred_worker, jhash, flow_offload_del, flow_offload_lookup, etc.). Fixes: ac2a66665e23 ("netfilter: add generic flow table infrastructure") Signed-off-by: Jérémy Jean <Jeremy.Jean@oss.cyber.gouv.fr> Assisted-by: Codex:gpt-5 Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10netfilter: nf_tables_offload: suppress WARN_ON_ONCE for ENOMEM in abort pathAlexey Velichayshiy
In nft_flow_rule_offload_abort(), WARN_ON_ONCE(err) is triggered on every error during rollback, including -ENOMEM. Memory allocation failures are expected under low-memory conditions and do not indicate a kernel bug. Trace for example: nft_flow_offload_chain() // FLOW_BLOCK_BIND nft_flow_block_chain() nft_chain_offload_cmd() nft_block_offload_cmd() ->ndo_setup_tc() nsim_setup_tc() flow_block_cb_setup_simple() flow_block_cb_alloc() // fails to -ENOMEM The warning was reproduced on the 5.10 stable kernel under memory pressure via fault injection, but the underlying bug exists in mainline as well, as demonstrated by the ENOMEM trace above. The following splat was triggered during nf_tables transaction processing: WARNING: CPU: 0 PID: 8567 at net/netfilter/nf_tables_offload.c:532 nft_flow_rule_offload_abort net/netfilter/nf_tables_offload.c:532 [inline] WARNING: CPU: 0 PID: 8567 at net/netfilter/nf_tables_offload.c:532 nft_flow_rule_offload_commit+0x971/0xcd0 net/netfilter/nf_tables_offload.c:591 Modules linked in: CPU: 0 PID: 8567 Comm: syz-executor.0 Not tainted 5.10.260-syzkaller #0 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 RIP: 0010:nft_flow_rule_offload_abort net/netfilter/nf_tables_offload.c:532 [inline] RIP: 0010:nft_flow_rule_offload_commit+0x971/0xcd0 net/netfilter/nf_tables_offload.c:591 Call Trace: nf_tables_commit+0x3bd/0x4bd0 net/netfilter/nf_tables_api.c:8604 nfnetlink_rcv_batch+0xb1e/0x1f20 net/netfilter/nfnetlink.c:509 nfnetlink_rcv_skb_batch net/netfilter/nfnetlink.c:579 [inline] nfnetlink_rcv+0x3b3/0x420 net/netfilter/nfnetlink.c:597 netlink_unicast_kernel net/netlink/af_netlink.c:1314 [inline] netlink_unicast+0x6cd/0xa00 net/netfilter/af_netlink.c:1340 netlink_sendmsg+0x906/0xe10 net/netfilter/af_netlink.c:1919 sock_sendmsg_nosec net/socket.c:651 [inline] __sock_sendmsg+0x155/0x190 net/socket.c:663 ____sys_sendmsg+0x705/0x870 net/socket.c:2379 ___sys_sendmsg+0x100/0x170 net/socket.c:2433 __sys_sendmsg+0xe9/0x1c0 net/socket.c:2462 do_syscall_64+0x33/0x40 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x67/0xd1 Change the condition to WARN_ON_ONCE(err && err != -ENOMEM) so that warnings are only emitted for unexpected errors. This aligns with the common kernel practice of not warning on -ENOMEM. Found by Linux Verification Center (linuxtesting.org) with Syzkaller. Fixes: 63b48c73ff56 ("netfilter: nf_tables_offload: undo updates if transaction fails") Signed-off-by: Alexey Velichayshiy <a.velichayshiy@ispras.ru> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10ipvs: revalidate ihl to prevent out-of-bounds accessJulian Anastasov
While the outer IP header is already pulled into the skb head, we must be careful and revalidate the embedded headers after reading them from the skb frags to prevent out-of-bounds access. One such place reported by Sashiko is ip_vs_nat_icmp() where local process can change the ihl field and after skb_ensure_writable() we can see larger value which is a problem for the ip_send_check(cih) calls. Add check to drop the packet if the ihl field is changed. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Link: https://sashiko.dev/#/patchset/20260730183506.87473-1-ja%40ssi.bg Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10ipvs: clear IPv4 options after rebasing tunnel ICMP errorsKyle Zeng
ip_vs_in_icmp() rebases an skb from the outer ICMP packet to the quoted original request before passing it to icmp_send(). However, IPCB(skb)->opt still describes the outer IPv4 header. A timestamp option in the outer header can therefore leave an offset that points into the quoted transport header after the rebase. __ip_options_echo() treats a byte at that stale location as the option length and copies it into the fixed-size option storage on the __icmp_send() stack, causing a stack out-of-bounds write. Clear the stale option metadata after resetting the network header. Keep the remaining control block fields, including the ingress interface used by the ICMP response path. Fixes: f2edb9f7706d ("ipvs: implement passive PMTUD for IPIP packets") Cc: stable@vger.kernel.org Assisted-by: Codex:gpt-5.6-sol Codex:gpt-5.5-cyber Signed-off-by: Kyle Zeng <kylebot@openai.com> Co-developed-by: David Lee <david.lee@trailofbits.com> Signed-off-by: David Lee <david.lee@trailofbits.com> Acked-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10netfilter: nfnetlink_log: wait for rcu grace period before freeing pernet stateFlorian Westphal
sashiko reports: "nfnl_log_net_exit() calls nf_log_unset(), which clears the logger pointer without an RCU grace period. Immediately after, ops_free_list() frees the per-net state while concurrent packets might still be executing nf_log_packet() under rcu_read_lock()." Clear the pointer via .pre_exit to make sure rcu readers have completed before pernet storage is free'd. The change in nf_log_syslog.c is only done for consistency: it doesn't use pernet data. Link: https://sashiko.dev/#/patchset/20260731151806.849724-1-pablo%40netfilter.org Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10netfilter: nf_conntrack: defer invalid log until after unlockZihan Xi
TCP and SCTP conntrack paths can emit invalid-packet logs while ct->lock is still held. When invalid logging is routed to nfnetlink_log and conntrack export is enabled, the log path can re-enter conntrack netlink glue and dump the same conntrack again. Protocol attribute dumping may take ct->lock, so logging while holding that lock can deadlock. Defer the TCP invalid logs by storing only the minimal log context while ct->lock is held and emitting the log after unlocking. Also make the TCP timeout-lowering invalid path return whether a log is needed, then emit that log after unlocking. Do the same for the SCTP invalid state-transition log that can be reached while ct->lock is held. Add a lockdep assertion to nf_ct_l4proto_log_invalid() so future callers that log invalid conntracks while holding ct->lock are caught outside TCP and SCTP as well. Fixes: 628d694344a0 ("netfilter: conntrack: reduce timeout when receiving out-of-window fin or rst") Fixes: d9a6f0d0df18 ("netfilter: conntrack: prepare tcp_in_window for ternary return value") Fixes: f71cb8f45d09 ("netfilter: conntrack: sctp: use nf log infrastructure for invalid packets") Cc: stable@vger.kernel.org Reported-by: Vega <vega@nebusec.ai> Assisted-by: Codex:gpt-5.4 Signed-off-by: Zihan Xi <zihanx@nebusec.ai> Reviewed-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10ipvs: separate destination availability stateYizhou Zhao
IPVS configuration paths update destination availability while connection accounting updates destination overload state. The two independent states share dest->flags, so their read-modify-write updates can race and lose one another. Keep OVERLOAD in flags, where the preceding patch serializes its updates with dst_lock, and move AVAILABLE to cflags. This keeps configuration- controlled availability out of the scheduler hot cacheline until a scheduler needs to check it. It also prevents availability updates from clobbering overload state. The destination status bits are not exposed through the IPVS sockopt or netlink interfaces, so keep their definitions in the internal IPVS header. Readers can still observe stale destination state; this does not provide a cross-field snapshot. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: stable@vger.kernel.org Reported-by: Yizhou Zhao <zhaoyz24@mails.tsinghua.edu.cn> Reported-by: Yuxiang Yang <yangyx22@mails.tsinghua.edu.cn> Reported-by: Ao Wang <wangao@seu.edu.cn> Reported-by: Xuewei Feng <fengxw06@126.com> Reported-by: Qi Li <qli01@tsinghua.edu.cn> Reported-by: Ke Xu <xuke@tsinghua.edu.cn> Link: https://lore.kernel.org/all/8913381c-1e02-35c7-0ec4-61de5a12fd35@ssi.bg/ Assisted-by: Claude-Code:GLM-5.2 Suggested-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Yizhou Zhao <zhaoyz24@mails.tsinghua.edu.cn> Acked-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10ipvs: properly update the overload flag on dest editJulian Anastasov
The upper/lower connection thresholds for dest can be changed, so use ip_vs_dest_update_overload() to properly update the dest overload flag. The thresholds were not limited, fit them in the 0 .. INT_MAX range as already done in ipvsadm. As the thresholds are also read when connections are created and expired, use WRITE_ONCE/READ_ONCE to access them. As the lower threshold is optional, use (u - (u >> 2)) to calculate the 75% default value based on the upper threshold by preserving the integer rounding, as suggested by Yizhou Zhao. Trigger flag update when totalconns reaches one of the thresholds and use dst_lock to serialize the updating. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: stable@vger.kernel.org Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Yizhou Zhao <zhaoyz24@mails.tsinghua.edu.cn> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10ipvs: add totalconns for destJulian Anastasov
Replace the inactconns dest counter with totalconns, now inactconns can be obtained from totalconns - activeconns. This reduces the atomic inc/dec ops for TCP/SCTP from 6 to 4 if the connection is established and then closed. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Cc: stable@vger.kernel.org Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Yizhou Zhao <zhaoyz24@mails.tsinghua.edu.cn> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10netfilter: bridge: release template ct on non-IP pathZhiling Zou
A bridge nftables ct zone set rule can attach a conntrack template to an skb before nf_ct_bridge_pre() sees it. For non-IPv4 and non-IPv6 EtherTypes, nf_ct_bridge_pre() currently overwrites skb->_nfct with IP_CT_UNTRACKED without releasing the existing template reference. That makes the per-cpu template, and any temporary templates allocated for concurrent use, unreachable and leaks memory until the host runs out of slab. Reset the skb conntrack state before marking the frame untracked so the existing template reference is dropped on the non-IP path. Fixes: 3c171f496ef5 ("netfilter: bridge: add connection tracking system") Cc: stable@vger.kernel.org Reported-by: Vega <vega@nebusec.ai> Signed-off-by: Zhiling Zou <zhilinz@nebusec.ai> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10netfilter: ipset: fix refcount race between list:set GC and swapXiang Mei (Microsoft)
__ip_set_put_byindex() resolved the index to a set pointer under RCU, then took ip_set_ref_lock in __ip_set_put() to decrement set->ref. ip_set_swap() holds that same lock while swapping both the ip_set_list slots and the two sets' ref counters, so it can interleave between the dereference and the lock acquisition, leaving the caller to decrement a set whose reference already moved to the other index and hit BUG_ON(set->ref == 0). list_set_gc() reaches this from timer softirq, which the nfnl mutex does not serialize against swap: an expiring list:set member calls list_set_del() -> ip_set_put_byindex() while IPSET_CMD_SWAP runs on the referenced sets. Resolve the index and decrement under ip_set_ref_lock, as ip_set_swap() already does, keeping the refcount tied to the index rather than to a stale set pointer. kernel BUG at net/netfilter/ipset/ip_set_core.c:685! Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI RIP: 0010:ip_set_put_byindex (net/netfilter/ipset/ip_set_core.c:870) Call Trace: <IRQ> list_set_del (net/netfilter/ipset/ip_set_list_set.c:159) set_cleanup_entries (net/netfilter/ipset/ip_set_list_set.c:181) list_set_gc (net/netfilter/ipset/ip_set_list_set.c:578) call_timer_fn (kernel/time/timer.c:1748) __run_timers (kernel/time/timer.c:1799 kernel/time/timer.c:2374) run_timer_softirq (kernel/time/timer.c:2405) </IRQ> Kernel panic - not syncing: Fatal exception in interrupt Fixes: 9076aea76538 ("netfilter: ipset: Increase the number of maximal sets automatically") Reported-by: AutonomousCodeSecurity@microsoft.com Signed-off-by: Xiang Mei (Microsoft) <xmei5@asu.edu> Acked-by: Jozsef Kadlecsik <kadlec@netfilter.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2026-08-10Merge tag 'v7.2-rockchip-clkfixes1' of ↵Stephen Boyd
https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-fixes Pull a Rockchip clk driver fix from Heiko Stuebner: - Fix for the recently added Rockchip rk3588 i2s clocks, to make it backwards compatible with the existing devicetrees * tag 'v7.2-rockchip-clkfixes1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: clk: rockchip: rk3588: don't disable unused I2S MCLK output gates
2026-08-10Merge tag 'spacemit-clk-fixes-for-7.2-1' of ↵Stephen Boyd
https://git.kernel.org/pub/scm/linux/kernel/git/spacemit/linux into clk-fixes Pull RISC-V SpacemiT clock fixes for v7.2 from Yixun Lan: - Fix SpacemiT USB2 bus clock - Fix SpacemiT HDMA clock * tag 'spacemit-clk-fixes-for-7.2-1' of https://git.kernel.org/pub/scm/linux/kernel/git/spacemit/linux: clk: spacemit: k3: set hdma clock as critical clk: spacemit: k3: fix USB2 bus clock
2026-08-10nvmet-tcp: bound SGL data length before allocating command buffersIbrahim Hashimov
nvmet_tcp_map_data() reads the host-controlled 32-bit sgl->length and, for the in-capsule offset descriptor (type 0x01), checks it against port->inline_data_size before use. Any other SGL descriptor type -- including the non-inline transport SGL data-block descriptor (type (NVME_TRANSPORT_SGL_DATA_DESC << 4) | NVME_SGL_FMT_TRANSPORT_A, the type a real host uses for out-of-capsule writes) skips that check entirely and falls straight through to: cmd->req.sg = sgl_alloc(len, GFP_KERNEL, &cmd->req.sg_cnt); with len taken directly from the wire, unbounded up to 4 GiB. nvmet_req_init() only parses the command and never inspects sgl->length, and nvmet_check_transfer_len() -- the only other place transfer_len is validated -- runs later, from req->execute(), after the allocation has already happened. For a write command the target responds with an R2T and parks the command waiting for the host to send the data; if the host (or an unauthenticated peer that simply never follows up) never does, the sgl_alloc() buffer stays resident for the life of the command. NVMe/TCP has no mandatory authentication in the default configuration, so any peer able to reach the target portal and complete a Fabrics connect can drive this with a single crafted command, repeatable across queues and connections for amplification. This is unbounded kernel memory allocation triggered by a remote, effectively unauthenticated peer. Validate len against the same NVMET_TCP_MAXH2CDATA ceiling this file already uses to bound per-PDU H2C data, for every SGL descriptor type, before doing any allocation. This closes the gap for the non-inline descriptor while leaving the existing, tighter inline_data_size check in place for the in-capsule case. Runtime-verified on a v6.19 KASAN stand: with this bound in place, a crafted write command carrying an oversized non-inline SGL length is rejected before sgl_alloc() runs, where the same request previously drove an unbounded ~256 MiB kernel allocation (up to 4 GiB) that stayed resident pending an R2T the host never satisfies. Fixes: 872d26a391da ("nvmet-tcp: add NVMe over TCP target driver") Cc: stable@vger.kernel.org Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Ibrahim Hashimov <security@auditcode.ai> Assisted-by: AuditCode-AI:2026.07 Signed-off-by: Keith Busch <kbusch@kernel.org>
2026-08-10NFS: Return a delegation the client fails to recordChuck Lever
When an NFS server grants a delegation in an OPEN reply, nfs_inode_set_delegation() records it on the client. However, three of its error flows return without sending DELEGRETURN. A delegation can be relinquished only by DELEGRETURN (RFC 8881 Section 20.2.4), so dropping one silently leaves the server believing the client still holds it. If the server happens to recall that delegation, the client answers CB_RECALL with NFS4ERR_BADHANDLE because it has no record of the stateid. The server revokes the delegation and moves it onto its cl_revoked list, because the client never sends the FREE_STATEID that would drain it. Every subsequent SEQUENCE reply then carries SEQ4_STATUS_RECALLABLE_STATE_REVOKED, and the client's state manager loops issuing TEST_STATEID across its delegations without ever clearing the condition. The window is easy to reach now that a server offers a write delegation on any write OPEN: a delegation recalled for one opener races a re-open that the server answers with a fresh write delegation. Instead of dropping it, hand the delegation back during these error flows. Fixes: ade04647dd56 ("NFSv4: Ensure we honour NFS_DELEGATION_RETURNING in nfs_inode_set_delegation()") Signed-off-by: Chuck Lever <cel@kernel.org> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2026-08-10sunrpc: xprtsock: annotate shared socket callbacks with READ_ONCE/WRITE_ONCERunyu Xiao
xprtsock replaces and restores sk->sk_data_ready and sk->sk_write_space on live sockets with plain stores, and xs_udp_do_set_buffer_size() invokes sk->sk_write_space via a plain load. These callback pointers are shared with generic socket and protocol paths that may read or invoke them concurrently, so xprtsock needs the same READ_ONCE()/WRITE_ONCE() callback visibility contract that the validated 4022 family applied elsewhere. When SUNRPC takes over an AF_LOCAL, UDP, or TCP socket and later restores the lower-socket callbacks during teardown, another CPU may still hold an earlier callback snapshot. The plain replace/restore pattern leaves the same visibility hole as the validated 4022 family, so a stale snapshot can still invoke xs_data_ready() or xs_udp_write_space() after the live callback fields have already been restored to the lower-socket handlers. Use WRITE_ONCE() for the shared sk_data_ready and sk_write_space stores in xs_local_finish_connecting(), xs_udp_finish_connecting(), xs_tcp_finish_connecting(), and xs_restore_old_callbacks(). Use READ_ONCE() for the direct sk_write_space invocation in xs_udp_do_set_buffer_size(). This matches the required callback visibility contract while leaving adjacent sk_state_change and sk_error_report handling unchanged. Fixes: a246b0105bbd ("[PATCH] RPC: introduce client-side transport switch") Signed-off-by: Runyu Xiao <runyu.xiao@seu.edu.cn> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2026-08-10SUNRPC: check rpc_sockaddr2uaddr() return value in rpcb_register_inet4/6Weiming Shi
rpcb_register_inet4() and rpcb_register_inet6() store the result of rpc_sockaddr2uaddr() into map->r_addr without checking it for NULL. rpc_sockaddr2uaddr() returns NULL when its final kstrdup() fails, and the unchecked NULL is then carried into the synchronous RPCBPROC_SET encode path: rpcb_register_call() -> rpc_call_sync() -> rpcb_enc_getaddr() -> encode_rpcb_string(), whose first statement is strlen(string), dereferencing NULL and oopsing the kernel. The crash reproduces under failslab on v6.12; with KASAN the NULL dereference surfaces as a fault on the shadow of address zero: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000 [#1] PREEMPT SMP KASAN RIP: 0010:strlen (lib/string.c:409) Call Trace: encode_rpcb_string (net/sunrpc/rpcb_clnt.c:890) rpcb_enc_getaddr (net/sunrpc/rpcb_clnt.c:910) rpcauth_wrap_req_encode (net/sunrpc/auth.c:745) call_encode (net/sunrpc/clnt.c:1966) __rpc_execute (net/sunrpc/sched.c:952) rpc_run_task (net/sunrpc/clnt.c:1243) rpc_call_sync (net/sunrpc/clnt.c:1272) rpcb_v4_register (net/sunrpc/rpcb_clnt.c:500) svc_generic_rpcbind_set nfsd_rpcbind_set svc_register svc_setup_socket svc_addsock write_ports nfsctl_transaction_write vfs_write The crash is reachable when an in-kernel RPC service (nfsd, lockd, nfs-callback) registers with the local rpcbind under enough memory pressure for the small GFP_KERNEL kstrdup() in rpc_sockaddr2uaddr() to fail. The asynchronous getport path already handles this exact failure mode by returning -ENOMEM; only the two register helpers omit the check. Mirror that handling: bail out with -ENOMEM when rpc_sockaddr2uaddr() returns NULL, before the address is fed into the encoder. Fixes: d77385f23830 ("SUNRPC: Fix rpc_sockaddr2uaddr") Reported-by: Xiang Mei <xmei5@asu.edu> Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Weiming Shi <bestswngs@gmail.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2026-08-10spi: spi-mem: Flag DQS capabilityMiquel Raynal
DQS is a typical SPI memory signal used to help with reading the data on the bus at high speeds (especially in DTR mode) by avoiding clock skews. The chip generates a clock signal synchronized with its data output fronts, also called data strobe. SPI NOR and SPI NAND cores must set this flag in order to indicate to other layers that DQS is available. Create a getter and a setter to reach this capability. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://patch.msgid.link/20260810-winbond-nand-next-phy-tuning-v3-1-a97c3a61e675@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-08-10Merge tag 'apple-soc-dt-7.3' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux into soc/dt Apple SoC DTS changes for 7.3 - Initial M3 Pro, Max and Ultra device trees, which are responsible for the majority of the diffstat. These include CPU cores, interrupt controller, power state, watchdog, serial pin/gpio controller, i2c and the boot framebuffer. They are now on par with the base M3 device trees. - HWMON sensors for M1/M2 - "pmgr-misc" nodes for M1/2 Pro/Max/Ultra which saves about 1W of power on these machines. The corresponding driver and dt-binding are part of the Apple SoC driver changes tag for this cycle. Signed-off-by: Sven Peter <sven@kernel.org> * tag 'apple-soc-dt-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux: (22 commits) arm64: dts: apple: Initial T6030 (M3 Pro) device trees arm64: dts: apple: Initial T603[124] (M3 Max and Ultra) device trees dt-bindings: pwm: apple,s5l-fpwm: Add t6030 and t6031 compatibles dt-bindings: i2c: apple,i2c: Add t6030 and t6031 compatibles dt-bindings: power: apple,pmgr-pwrstate: Add t6030 and t6031 compatibles dt-bindings: arm: apple: apple,pmgr: Add t6030 and t6031 compatibles dt-bindings: interrupt-controller: apple,aic2: Add apple,t6031-aic3 compatible dt-bindings: interrupt-controller: apple,aic2: Invert #interrupt-cells condition dt-bindings: arm: apple: Add M3 Pro/Max/Ultra devices (T603x) arm64: dts: apple: t60xx: jxxx: Add device-specific SMC hwmon sensors arm64: dts: apple: t8112: jxxx: Add device-specific SMC hwmon sensors arm64: dts: apple: t8103: jxxx: Add device-specific SMC hwmon sensors arm64: dts: apple: t602x: Add common SMC hwmon sensors arm64: dts: apple: t600x: Add common SMC hwmon sensors arm64: dts: apple: t8112: Add common SMC hwmon sensors arm64: dts: apple: t8103: Add common SMC hwmon sensors arm64: dts: apple: Add common SMC hwmon infrastructure arm64: dts: apple: t602x: Add SMC hwmon node arm64: dts: apple: t600x: Add SMC hwmon node arm64: dts: apple: t8103: Add SMC hwmon node ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'qcom-arm32-for-7.3' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt Qualcomm Arm32 DeviceTree updates for v7.3 Add initial device tree support for the MSM8926-based Sony Xperia M2 and the MSM8226-based Motorola Moto G2 (2014). Add touchscreen, Bluetooth pin configuration, NFC, and multicolor status LED support to the MSM8974-based HTC One M8 device tree. Add the coreriver,tc360-touchkey compatible touchkey node to the MSM8960 Samsung ExpressATT device tree and label PM8921 XOADC channels. Consolidate shared IPA properties in the SDX55 device tree. * tag 'qcom-arm32-for-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: ARM: dts: qcom: msm8926-sony-xperia-yukon-eagle: add initial device tree ARM: dts: qcom: msm8960: expressatt: Add coreriver,tc360-touchkey ARM: dts: qcom: msm8226: Support Motorola Moto G2 (2014) ARM: dts: qcom: pm8921: add labels for ADC channels ARM: dts: qcom: sdx55: consolidate IPA properties ARM: dts: qcom: msm8974pro-htc-m8: add touchscreen ARM: dts: qcom: msm8974pro-htc-m8: add Bluetooth pins ARM: dts: qcom: msm8974pro-htc-m8: add NFC support ARM: dts: qcom: msm8974pro-htc-m8: add status LEDs Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'qcom-arm64-for-7.3-2' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt More Qualcomm Arm64 DeviceTree updates for v7.3 Introduce the Asus Zenbook A16 (UX3607OA). Add IPQ9574 PCIe bridge descriptions and enable PCIe0 and PCIe2 for QCN92xx Wi-Fi cards on RDP454. Align IPQ5018, IPQ6018, and IPQ8074 PCIe PHY and reset descriptions with the port-node binding. Extend Shikra platform enablement with CQM and IQS SoM Wi-Fi and Bluetooth descriptions. Enable CDSP, LPAICP, and MPSS remote processors on CQM, CQS, and IQS EVKs, and add SMP2P, QUPv3, DDR bandwidth monitor, CPU frequency hardware, EPSS L3 interconnect, OPP tables, thermal zones, GPIO reservations, and display and GPU clock controllers. Enable Eliza CQS EVK audio and add its LPASS macro and SoundWire descriptions. Add PMIC ADC support for Hamoa, Monaco, and Lemans, and ADC channel macros for the third-generation ADC block. Add minidump SRAM configurations across affected Qualcomm platforms. Fix QMP PHY vdda-phy and vdda-pll supply assignments across Qualcomm platforms. Correct PCIe IOMMU mappings for QCS6490, Lemans, Monaco, Talos, SM, SC, and related boards. Fix the Glymur/Mahua PDC interrupt mapping, USB HS properties, and wakeup configuration; correct board identifiers, pin configuration, GPIO supplies, default bus frequency, and DT validation issues. Enable the X1E80100 deepest idle state, configure SPMI ADC thermal monitoring on SM8550 and SM8650, add the Milos GPU clock controller, and assign SM8650 CCI clock rates. * tag 'qcom-arm64-for-7.3-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (117 commits) arm64: dts: qcom: talos-evk: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sa8155p-adp: Fix swapped USB and UFS QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: eliza-mtp: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: lemans: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: glymur: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: kaanapali: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sar2130p: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sm8750: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sm8650: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: purwa: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: hamoa: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sc8180x: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sc7280: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sc7180: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sm7225-fairphone-fp4: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: qcs6490: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: qcm6490: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: qcs8550-aim300: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sm8550: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies arm64: dts: qcom: sm8450: Fix swapped USB QMP PHY vdda-phy/vdda-pll supplies ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'ti-k3-dts-for-v7.3' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/dt TI K3 device tree updates for v7.3 SoC Specific Changes: AM64: - Non critical clock ID update for ICSSG MDIO Board Specific Changes: AM62L BeagleBadge: - New AM62L based BeagleBadge board Variscite VAR-SOM-AM62(P): - Add support for Variscite VAR-SOM-AM62 and Symphony carrier board - var-som-am62p: Fix Ethernet PHY configuration and update audio codec configuration - am62p5-var-som-symphony: Add touchscreen and TPM support AM69 Aquila (Toradex): - DSI adapters and Display addon board overlays - OV5640 CSI camera overlays AM62x (Toradex Verdin): - DSI adapters and Display addon board overlays AM62P-Verdin: - Add Toradex OV5640 CSI camera overlay - Add NAU8822 Bridge Tied Load audio support AM642 TQMa64xxl: - Misc non-urgent fixes AM67A BeagleY-AI: - Setup I2C for CSI/DSI connectors and add DSI0/CSI1 mux - Add IMX219 CSI0/CSI1 camera overlays - Add gpio line names AM68 phyBOARD-Izar: - Add pwm fan support AM625-BeaglePlay: - Add LincolnTech OLDI LCD-185 overlay AM625-SK: - Add Microtips OLDI SK-LCD1 overlay AM62L: - Add bootph-all property to usb0 AM62A7-SK: - Add bootph-all property in cpsw_mac_syscon node * tag 'ti-k3-dts-for-v7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: (37 commits) arm64: dts: ti: Correct white-space style arm64: dts: ti: k3-am64: Fix MDIO clock reference for ICSSG0 node arm64: dts: ti: k3-am67a-beagley-ai: Add gpio line names arm64: dts: ti: k3-am62a7-sk: Add bootph-all property in cpsw_mac_syscon node arm64: dts: ti: k3-am67a-beagley-ai: Add overlay for IMX219 on CSI1 arm64: dts: ti: k3-am67a-beagley-ai: Add overlay for IMX219 on CSI0 arm64: dts: ti: k3-am67a-beagley-ai: Add DSI0/CSI1 mux arm64: dts: ti: k3-am67a-beagley-ai: Setup I2C for CSI/DSI connectors arm64: dts: ti: Add LincolnTech OLDI LCD-185 Overlay for AM625-BeaglePlay arm64: dts: ti: k3-am68-phyboard-izar: Add pwm fan arm64: dts: ti: Add Microtips OLDI SK-LCD1 Overlay for AM625-SK arm64: dts: ti: k3-am62l: Add bootph to usb0 arm64: dts: ti: k3-am62x-verdin: Share UART_4 MCU reservation overlay arm64: dts: ti: k3-am62p-verdin: Add Toradex OV5640 CSI Cameras arm64: dts: ti: k3-am62p-verdin: Add NAU8822 Bridge Tied Load arm64: dts: ti: k3-am62-verdin: Add RPi Touch Display 2 7-inch arm64: dts: ti: k3-am62-verdin: Add Mezzanine with Toradex Display 10.1" LVDS arm64: dts: ti: k3-am62-verdin: Add Toradex DSI to LVDS adapter with the 10.1" V2 display arm64: dts: ti: k3-am62-verdin: Add Toradex Capacitive Touch Display 10.1" LVDS V2 arm64: dts: am62p5-var-som-symphony: add TPM support ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'regmap-fix-v7.2-rc7' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap Pull regmap fixes from Mark Brown: "These fix some issues which were noticed in some drivers where caches were not fully resynced after suspend. Drivers are supposed to be sorting the table of register defaults they provide to the core and the core was relying on that but it turns out there are many cases where this does not happen, it's easy to get wrong when using named defines for registers rather than numbers. It is more robust to remove the requirement for sorting and instead have the core ensure everything it needs sorting is sorted so do that. There will be patches during the merge window sorting the tables in drivers since it is more efficient to do that but this will just be a minor performance win rather than a correctness fix" * tag 'regmap-fix-v7.2-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regcache: Sort the local copy of an unsorted reg_defaults array regcache: Use a consistent sort for defaults table
2026-08-10Merge tag 'zynqmp-dt-for-7.3' of https://github.com/Xilinx/linux-xlnx into ↵Arnd Bergmann
soc/dt arm64: Xilinx DT changes for 7.3 bindings: - Cleanup xilinx.txt - Update ZynqMP firmware and clock descriptions zynq: - Drop bias-high-impedance on SD zynqmp: - Drop bias-high-impedance on SD - Correct indentation versalnet: - Enable firmware interface including clock, power and reset * tag 'zynqmp-dt-for-7.3' of https://github.com/Xilinx/linux-xlnx: arm64: versal-net: Switch Versal NET to firmware clock interface dt-bindings: clock: versal-clk: Fix Versal NET clock validation dt-bindings: clock: Move xlnx,zynqmp-clk to its own schema dt-bindings: clock: versal-clk: Fix mio_clk index range in clock-names pattern dt-bindings: firmware: xilinx: Add missing example for ZynqMP dt-bindings: xilinx: Remove EDK/Ethernet references arm64: dts: xilinx: zynqmp-sck: Correct indentation arm: dts: xilinx: drop bias-high-impedance on SDIO CD/WP pins arm64: dts: xilinx: drop bias-high-impedance on SDIO CD/WP pins Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'dt-cleanup-7.3' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt Minor improvements in DTS for v7.3 Several non-functional (white-space and style) changes to match with DTS coding style as reported by recent dt-check-style tool. * tag 'dt-cleanup-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt: ARM: dts: Correct white-space style ARM: dts: nvidia: tegra114-asus-tf701t: Correct trailing whitespace ARM: dts: vt8500: Correct indentation ARM: dts: microchip: at91: Correct indentation ARM: dts: arm: Correct indentation ARM: dts: sigmastar: Correct indentation Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10Merge tag 'dt64-cleanup-7.3' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt into soc/dt Minor improvements in arm64 DTS for v7.3 Several non-functional (white-space and style) changes to match with DTS coding style as reported by recent dt-check-style tool. Goal is to get to no `dt-check-style --mode strict` warnings over time. * tag 'dt64-cleanup-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-dt: arm64: dts: Correct white-space style arm64: dts: amd: seattle: Remove useless xgbe DTSI include arm64: dts: amd: seattle: Remove useless clocks DTSI include Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-08-10watchdog: orion_wdt: Propagate errors from optional IRQ lookupbui duc phuc
platform_get_irq_optional() returns a positive IRQ number on success or a negative error code on failure. For an optional IRQ, -ENXIO indicates that no IRQ is available, while other errors should be propagated. Propagate errors such as -EPROBE_DEFER and -EINVAL instead of continuing probe without the IRQ. Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> Link: https://lore.kernel.org/r/20260810082606.42623-1-phucduc.bui@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: qcom: Propagate errors from optional IRQ lookupbui duc phuc
platform_get_irq_optional() returns a positive IRQ number on success or a negative error code on failure. For an optional IRQ, -ENXIO indicates that no IRQ is available, while other errors should be propagated. Instead of only checking for -EPROBE_DEFER, propagate all error codes returned by platform_get_irq_optional() other than -ENXIO, so that failures are properly reported to the caller. Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> Link: https://lore.kernel.org/r/20260810105101.55945-1-phucduc.bui@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: aspeed: Propagate errors from optional IRQ lookupbui duc phuc
platform_get_irq_optional() returns a positive IRQ number on success or a negative error code on failure. For an optional IRQ, -ENXIO indicates that no IRQ is available, while other errors should be propagated. Propagate errors such as -EPROBE_DEFER and -EINVAL instead of continuing probe without the IRQ. Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> Link: https://lore.kernel.org/r/20260807081652.38692-4-phucduc.bui@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: stm32_iwdg: Propagate errors from optional IRQ lookupbui duc phuc
platform_get_irq_optional() returns a positive IRQ number on success or a negative error code on failure. For an optional IRQ, -ENXIO indicates that no IRQ is available, while other errors should be propagated. Propagate errors such as -EPROBE_DEFER and -EINVAL instead of continuing probe without the IRQ. Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> Link: https://lore.kernel.org/r/20260807080447.35479-2-phucduc.bui@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: dw_wdt: Propagate errors from optional IRQ lookupbui duc phuc
platform_get_irq_optional() returns a positive IRQ number on success or a negative error code on failure. For an optional IRQ, -ENXIO indicates that no IRQ is available, while other errors should be propagated. Instead of only checking for -EPROBE_DEFER, propagate all error codes returned by platform_get_irq_optional() other than -ENXIO, so that failures are properly reported to the caller. Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> Link: https://lore.kernel.org/r/20260807081652.38692-3-phucduc.bui@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: mediatek: Propagate errors from optional IRQ lookupbui duc phuc
platform_get_irq_optional() returns a positive IRQ number on success or a negative error code on failure. For an optional IRQ, -ENXIO indicates that no IRQ is available, while other errors should be propagated. Instead of only checking for -EPROBE_DEFER, propagate all error codes returned by platform_get_irq_optional() other than -ENXIO, so that failures are properly reported to the caller. Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> Link: https://lore.kernel.org/r/20260807081652.38692-2-phucduc.bui@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: apple: Constify some structuresChristophe JAILLET
'struct watchdog_ops' and 'struct watchdog_info' are not modified in this driver. Constifying these structure moves some data to a read-only section, so increases overall security, especially when the structure holds some function pointers. On a x86_64, with allmodconfig: Before: ====== text data bss dec hex filename 7319 1768 0 9087 237f drivers/watchdog/apple_wdt.o After: ===== text data bss dec hex filename 7543 1544 0 9087 237f drivers/watchdog/apple_wdt.o Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Link: https://lore.kernel.org/r/99019b7e560c2d9c087be340e68f9cce4db1988e.1786283336.git.christophe.jaillet@wanadoo.fr Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: pretimeout: Convert dump pretimeout governor to tristateMayank Rungta
Commit 645ad41da8b2 ("watchdog: pretimeout: Add "dump" pretimeout governor") added the "dump" watchdog pretimeout governor, but restricted it to built-in code because trigger_all_cpu_backtrace() was not exported to loadable modules. Now that CPU backtrace APIs are supported for loadable kernel modules via cpumask_backtrace(), convert WATCHDOG_PRETIMEOUT_GOV_DUMP to tristate. This allows kernels to deliver the pretimeout governor as a loadable kernel module. Signed-off-by: Mayank Rungta <mrungta@google.com> Reviewed-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org> Acked-by: Guenter Roeck <linux@roeck-us.net> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Link: https://lore.kernel.org/r/20260730-export-cpu-backtrace-apis-v1-2-bace8e1cb817@google.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10nmi: Export CPU backtrace APIs for loadable modulesMayank Rungta
Currently, CPU backtrace functions cannot be called from loadable modules because the underlying helper arch_trigger_cpumask_backtrace() is not exported. Instead of exporting arch_trigger_cpumask_backtrace() individually across every supported architecture, introduce and export a common helper, cpumask_backtrace(), in lib/nmi_backtrace.c. Update the four inline CPU backtrace macros in include/linux/nmi.h to route through this centralized helper. Signed-off-by: Mayank Rungta <mrungta@google.com> Reviewed-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Link: https://lore.kernel.org/r/20260730-export-cpu-backtrace-apis-v1-1-bace8e1cb817@google.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: booke_wdt: Document unused parameter of __booke_wdt_disable()Babanpreet Singh
scripts/kernel-doc -none reports: Warning: drivers/watchdog/booke_wdt.c:158 function parameter 'data' not described in '__booke_wdt_disable' __booke_wdt_disable() is invoked through on_each_cpu(), so it takes a void * argument that it does not use. Its kernel-doc comment does not describe the parameter at all. Document it as unused. Assisted-by: Claude:claude-opus-5 Signed-off-by: Babanpreet Singh <bbnpreetsingh@gmail.com> Link: https://lore.kernel.org/r/20260730060617.7-3-bbnpreetsingh@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: wdat_wdt: map registers that fall inside ACPI NVSRenê de Souza Pinto
Some firmwares describe WDAT registers inside memory ranges marked as ACPI NVS in the E820 map, failing with -EBUSY during probe, leaving the hardware watchdog unserviced and triggering periodic system resets. This issue was observed on a OnLogic Karbon 524 device (when watchdog is enabled in BIOS): wdat_wdt wdat_wdt: error -EBUSY: can't request region for resource [mem 0x63df7a98] wdat_wdt wdat_wdt: probe with driver wdat_wdt failed with error -16 Check whether the region falls inside ACPI NVS before requesting it and, if so, map it without reservation. Signed-off-by: Renê de Souza Pinto <rene@renesp.com.br> Link: https://lore.kernel.org/r/20260804103958.3684195-1-rene@renesp.com.br Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: Add Nuvoton MA35D1 watchdog driver supportZi-Yu Chen
Add driver support for the Watchdog Timer (WDT) integrated in Nuvoton MA35D1 SoC. This driver provides standard watchdog functionality, including timeout configuration, ping, and system reset support via the watchdog framework. Signed-off-by: Zi-Yu Chen <zychennvt@gmail.com> Link: https://lore.kernel.org/r/20260804070351.1846165-3-zychennvt@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10dt-bindings: watchdog: Add MA35D1 WatchdogZi-Yu Chen
Add device tree binding documentation for the watchdog timer (WDT) controller found on Nuvoton MA35D1 SoC. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Signed-off-by: Zi-Yu Chen <zychennvt@gmail.com> Link: https://lore.kernel.org/r/20260804070351.1846165-2-zychennvt@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: qcom: report bootstatus on IPQ9574 and IPQ5332Kathiravan Thirumoorthy
Report bootstatus on IPQ5332 and IPQ9574. These SoCs use different restart-reason values from IPQ5424 for watchdog reset and powerunder reset events, so add separate match data for them and use it when decoding the restart reason. Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260728-qcom_wdt_powerunder-v1-2-de8d9e964e7d@oss.qualcomm.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: qcom: report WDIOF_POWERUNDER in bootstatusKathiravan Thirumoorthy
On IPQ platforms, identify the restart reason as POWERUNDER, similar to CARDRESET, and expose it via the bootstatus sysfs interface. Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260728-qcom_wdt_powerunder-v1-1-de8d9e964e7d@oss.qualcomm.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: sprd: Remove redundant dev_err()Pan Chuang
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in devm_request_*_irq()"), devm_request_irq() automatically logs detailed error messages on failure. Remove the now-redundant driver-specific dev_err() call. Signed-off-by: Pan Chuang <panchuang@vivo.com> Link: https://lore.kernel.org/r/20260722084218.79073-10-panchuang@vivo.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: sama5d4: Remove redundant dev_err()Pan Chuang
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in devm_request_*_irq()"), devm_request_irq() automatically logs detailed error messages on failure. Remove the now-redundant driver-specific dev_err() call. Signed-off-by: Pan Chuang <panchuang@vivo.com> Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/r/20260722084218.79073-9-panchuang@vivo.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: realtek_otto: Remove redundant dev_err_probe()Pan Chuang
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in devm_request_*_irq()"), devm_request_irq() automatically logs detailed error messages on failure. Remove the now-redundant driver-specific dev_err_probe() call. Signed-off-by: Pan Chuang <panchuang@vivo.com> Link: https://lore.kernel.org/r/20260722084218.79073-8-panchuang@vivo.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: orion: Remove redundant dev_err()Pan Chuang
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in devm_request_*_irq()"), devm_request_irq() automatically logs detailed error messages on failure. Remove the now-redundant driver-specific dev_err() calls. Signed-off-by: Pan Chuang <panchuang@vivo.com> Link: https://lore.kernel.org/r/20260722084218.79073-7-panchuang@vivo.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: marvell_gti: Remove redundant dev_err_probe()Pan Chuang
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in devm_request_*_irq()"), devm_request_irq() automatically logs detailed error messages on failure. Remove the now-redundant driver-specific dev_err_probe() call. Signed-off-by: Pan Chuang <panchuang@vivo.com> Link: https://lore.kernel.org/r/20260722084218.79073-6-panchuang@vivo.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: keembay: Remove redundant dev_err_probe()Pan Chuang
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in devm_request_*_irq()"), devm_request_irq() automatically logs detailed error messages on failure. Remove the now-redundant driver-specific dev_err_probe() calls. Signed-off-by: Pan Chuang <panchuang@vivo.com> Link: https://lore.kernel.org/r/20260722084218.79073-5-panchuang@vivo.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: intel-mid_wdt: Remove redundant dev_err()Pan Chuang
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in devm_request_*_irq()"), devm_request_irq() automatically logs detailed error messages on failure. Remove the now-redundant driver-specific dev_err() call. Signed-off-by: Pan Chuang <panchuang@vivo.com> Link: https://lore.kernel.org/r/20260722084218.79073-4-panchuang@vivo.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2026-08-10watchdog: cadence_wdt: Remove redundant dev_err()Pan Chuang
Since commit 55b48e23f5c4 ("genirq/devres: Add error handling in devm_request_*_irq()"), devm_request_irq() automatically logs detailed error messages on failure. Remove the now-redundant driver-specific dev_err() call. Signed-off-by: Pan Chuang <panchuang@vivo.com> Link: https://lore.kernel.org/r/20260722084218.79073-3-panchuang@vivo.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>