summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-06-09fbdev: Wrap user-invoked calls to fb_blank() in helperThomas Zimmermann
Handle fbcon during blanking in fb_blank_from_user(). First blank the hardware, then blank fbcon. Same for unblanking. Update all callers and resolve the duplicated logic. With the new helper, fbdev's sysfb code no longer maintains fbcon state by itself. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09fbdev: Wrap user-invoked calls to fb_set_var() in helperThomas Zimmermann
Handle fbcon during display updates in fb_set_var_from_user(). Check with fbcon if the mode change is possible, update hardware state and finally update fbcon. Update all callers. Only the FBIOPUT_VSCREENINFO ioctl currently does all steps. Other mode-changes callers in sysfs and driver code are missing fbcon-related steps. With the new helper, ps3fb and sh_mobile_lcdcfb no longer maintain fbcon state themselves. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09fbdev: omap2: fix use-after-free in omapfb_mmapHongling Zeng
omapfb_mmap() has a race condition with OMAPFB_SETUP_PLANE ioctl that can lead to use-after-free: The fb_mmap() entry point holds mm_lock but not lock (fb_info->lock), while ioctl handlers like OMAPFB_SETUP_PLANE hold lock but not mm_lock. This allows concurrent execution. In omapfb_mmap(): 1. rg = omapfb_get_mem_region(ofbi->region); // Get old region ref 2. start = omapfb_get_region_paddr(ofbi); // Read from NEW region 3. len = fix->smem_len; // Read from NEW region 4. vm_iomap_memory(vma, start, len); // Map NEW region memory 5. atomic_inc(&rg->map_count); // Increment OLD region! Concurrently, OMAPFB_SETUP_PLANE can: - Reassign ofbi->region = new_rg - Update fix->smem_len - OMAPFB_SETUP_MEM then checks NEW region's map_count (0!) and frees it This leaves userspace with a mapping to freed physical memory. The fix is to read all required values (start, len) from the same region reference (rg) that will have its map_count incremented, preventing the region from being freed while still mapped. Cc: stable@vger.kernel.org Signed-off-by: Hongling Zeng <zenghongling@kylinos.cn> Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09docs: omap/dss: Fix stale modedb.c pathCosta Shulyupin
The modedb.c file was moved from drivers/video/ to drivers/video/fbdev/core/. Update the reference. Assisted-by: Claude:claude-opus-4-6 Signed-off-by: Costa Shulyupin <costa.shul@redhat.com> Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09fbdev: pxa168fb: use devm_ioremap_resource() for MMIOAlbertoArostegui
pxa168fb maps the LCD controller register resource with devm_ioremap(), which does not request the memory region. Use devm_ioremap_resource() instead so the MMIO range is claimed before being mapped. This also handles cleanup automatically. Signed-off-by: AlbertoArostegui <aarosteguig@gmail.com> Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09fbdev: grvga: Fix CLUT register address offset in commentEduardo Silva
The comment does not match the actual address offset. According to the GRLIB IP Library Reference Manual (p. 2119), the CLUT register is at offset 0x28, not the value stated in the comment. Signed-off-by: Eduardo Silva <eduardo4silva@gmail.com> Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09fbdev: sunxvr2500: replace printk with device-aware logging functionsRahman Mahmutović
Replace all printk() calls with appropriate device-aware logging functions to properly associate log messages with the PCI device. - Use pci_err() for errors where struct pci_dev is available - Use pci_info() for info messages where struct pci_dev is available Remove redundant 's3d:' prefix and pci_name() calls as device-aware functions include device identification automatically. Assisted-by: Claude:claude-sonnet-4-6 Signed-off-by: Rahman Mahmutović <mahmutovicrahman5@gmail.com> Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09fbcon: don't suspend/resume when vc is graphics modeLu Yao
Don't need to do suspend/resume for fbcon in graphic mode. Doing this may cause error, eg: At the beginning, starting the Xorg with single screen and then an external screen was plugged in. After logging out in Xorg, fbdev info may using screen which is connected later on for info always using first connected connector in list in func 'drm_setup_crtcs_fb'. Then, S3 executed, fbcon found that the information did not match and do atomic to switch fb. However, Xorg will not re-bind the crtc fb but continues doing ioctl. At this time, the fb is incorrect. With some modifications by Helge Deller. Signed-off-by: Lu Yao <yaolu@kylinos.cn> Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09fbdev: chipsfb: add missing MODULE_DESCRIPTION() macroRahman Mahmutović
The chipsfb driver is missing the MODULE_DESCRIPTION macro which is required for all kernel modules. Assisted-by: Claude:claude-sonnet-4-6 Signed-off-by: Rahman Mahmutović <mahmutovicrahman5@gmail.com> Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09fbdev: sm712: Fix operator precedence in big_swap macroLi RongQing
The big_swap(p) macro was intended to swap bytes within 16-bit halves of a 32-bit value. However, because the bitwise shift operators (<<, >>) have higher precedence than the bitwise AND operator (&), the original code failed to perform any shifting on the masked bits. For example, 'p & 0xff00ff00 >> 8' was evaluated as 'p & (0xff00ff00 >> 8)', effectively neutralizing the intended swap. Fix this by adding parentheses to ensure the bitwise AND is performed before the shift, correctly implementing the byte swap logic. Fixes: 1461d66728648 ("staging: sm7xxfb: merge sm712fb with fbdev") Cc: stable@vger.kernel.org Signed-off-by: Li RongQing <lirongqing@baidu.com> Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09esp: fix page frag reference leak on skb_to_sgvec failureAlessandro Schino
In esp_output_tail(), when esp->inplace is false, the old skb page frags are replaced with a new page from the xfrm page_frag cache The source scatterlist (sg) is built from the old frags before the replacement, and esp_ssg_unref() is responsible for releasing the old page references after the crypto operation completes However, if the second skb_to_sgvec() call (which builds the destination scatterlist from the new page) fails, the code jumps to error_free which only calls kfree(tmp). The old page frag references captured in the source scatterlist are never released: 1 sg[] is built from old frags via skb_to_sgvec() (no extra get_page) 2 nr_frags is set to 1 and frag[0] is replaced with the new page 3 Second skb_to_sgvec() fails -> goto error_free Fix this by adding a bool parameter to esp_ssg_unref() that, when true, unconditionally unrefs the source scatterlist frags. Since req->src is not yet initialized by aead_request_set_crypt() at the point of the error, the source scatterlist is obtained directly via esp_req_sg() Existing callers pass false to preserve the original behavior The same issue exists in both esp4 and esp6 as the code is identical Fixes: cac2661c53f3 ("esp4: Avoid skb_cow_data whenever possible") Fixes: 03e2a30f6a27 ("esp6: Avoid skb_cow_data whenever possible") Signed-off-by: Alessandro Schino <7991aleschino@gmail.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
2026-06-09PCI: cadence: Use common TLP type macrosHans Zhang
The Cadence HPA driver uses hardcoded constants (0x0, 0x2, 0x4, 0x5, 0x10) to program the outbound region type. Replace them with the newly introduced common TLP type macros from pci.h for better readability and maintainability. Signed-off-by: Hans Zhang <18255117159@163.com> Signed-off-by: Manivannan Sadhasivam <mani@kernel.org> Link: https://patch.msgid.link/20260516153657.65214-4-18255117159@163.com
2026-06-09PCI: dwc: Replace ATU type macros with common TLP type macrosHans Zhang
The dwc driver defines its own ATU type macros (PCIE_ATU_TYPE_MEM, PCIE_ATU_TYPE_IO, PCIE_ATU_TYPE_CFG0, PCIE_ATU_TYPE_CFG1, PCIE_ATU_TYPE_MSG) with the same numerical values as the newly introduced common TLP type macros. Remove the local definitions and switch all DWC users to the common PCIE_TLP_TYPE_* macros. This eliminates redundancy and improves consistency across PCI controller drivers. No functional change intended. Signed-off-by: Hans Zhang <18255117159@163.com> Signed-off-by: Manivannan Sadhasivam <mani@kernel.org> Link: https://patch.msgid.link/20260516153657.65214-3-18255117159@163.com
2026-06-09PCI: Add common TLP type macros and convert aspeed/mediatekHans Zhang
Introduce a set of unified TLP type macros in pci.h according to PCIe spec r7.0, sec 2.2.1: - PCIE_TLP_TYPE_MEM_RDWR (0x00) for Memory Read/Write - PCIE_TLP_TYPE_IO_RDWR (0x02) for I/O Read/Write - PCIE_TLP_TYPE_CFG0_RDWR (0x04) for Type 0 Config Read/Write - PCIE_TLP_TYPE_CFG1_RDWR (0x05) for Type 1 Config Read/Write - PCIE_TLP_TYPE_MSG (0x10) for Message Request (routing to RC) These replace the old per-driver hardcoded values or local macros, and also replace the previous PCIE_TLP_TYPE_CFG0_RD/WR and PCIE_TLP_TYPE_CFG1_RD/WR definitions which had identical numeric values. The read/write distinction is already handled by the TLP Format field (Fmt), so a single type macro suffices. Convert the aspeed and mediatek drivers to use the new macros, and remove the obsolete definitions from pci.h. No functional change intended. Signed-off-by: Hans Zhang <18255117159@163.com> Signed-off-by: Manivannan Sadhasivam <mani@kernel.org> Link: https://patch.msgid.link/20260516153657.65214-2-18255117159@163.com
2026-06-09wifi: ath12k: enable IEEE80211_VHT_EXT_NSS_BW_CAPABLE when NSS ratio is reportedWen Gong
When firmware reports NSS ratio support, SUPPORTS_VHT_EXT_NSS_BW is enabled in ath12k. However, IEEE80211_VHT_EXT_NSS_BW_CAPABLE must also be set to make the advertisement valid. According to IEEE Std 802.11-2024, Subclause 9.4.2.156.3 (Supported VHT-MCS and NSS Set subfields), the VHT Extended NSS BW Capable bit indicates whether a STA is capable of interpreting the Extended NSS BW Support subfield of the VHT capabilities information field. Advertising extended NSS BW support without setting this capability bit is therefore invalid. Without this change, mac80211 detects the inconsistency and logs: ieee80211 phy0: copying sband (band 1) due to VHT EXT NSS BW flag This indicates that mac80211 implicitly aligns IEEE80211_VHT_EXT_NSS_BW_CAPABLE during ieee80211_register_hw(). Explicitly setting the bit in ath12k avoids this fixup and ensures capabilities are advertised correctly by the driver. This change follows the same approach as the existing ath11k fix. https://lore.kernel.org/all/20211013073704.15888-1-wgong@codeaurora.org/ Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.5-01651-QCAHKSWPL_SILICONZ-1 Fixes: 18ab9d038fad ("wifi: ath12k: add support for 160 MHz bandwidth") Signed-off-by: Wen Gong <quic_wgong@quicinc.com> Signed-off-by: Maharaja Kennadyrajan <maharaja.kennadyrajan@oss.qualcomm.com> Reviewed-by: Rameshkumar Sundaram <rameshkumar.sundaram@oss.qualcomm.com> Link: https://patch.msgid.link/20260604095831.2674298-1-maharaja.kennadyrajan@oss.qualcomm.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2026-06-09wifi: ath12k: fix EAPOL TX failure caused by stale tcl_metadata bitsBaochen Qiang
On WCN7850, after the following sequence: 1. load ath12k and connect to a non-MLO AP 2. disconnect and connect to an MLO AP 3. disconnect and reconnect to the non-MLO AP the third connection always fails with a 4-Way handshake timeout. The supplicant transmits message 2 of 4 four times in response to AP retries of message 1, but the AP never sees any of them. ath12k_dp_vdev_tx_attach() composes dp_link_vif->tcl_metadata using |=, but dp_link_vif is embedded in struct ath12k_dp_vif and its slots are reused across vif/peer teardown and setup. Since tcl_metadata is never cleared on detach, vdev_id bits from a previous attach remain set when the same link slot is reused with a different vdev_id. In this specific issue, the same link slot is used for vdev_id 0, then vdev_id 1, then vdev_id 0 again, the OR yields tcl_metadata == 0x9, which encodes vdev_id 1 in the HTT_TCL_META_DATA_VDEV_ID field even though ti.vdev_id is 0. Firmware then routes the EAPOL frame to the wrong vdev and the AP never receives message 2. Use plain assignment instead of |= so the field is fully recomputed from the current arvif on every attach. Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c7-00108-QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3 Fixes: af66c7640cf9 ("wifi: ath12k: Refactor ath12k_vif structure") Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com> Reviewed-by: Rameshkumar Sundaram <rameshkumar.sundaram@oss.qualcomm.com> Link: https://patch.msgid.link/20260609-ath12k-fix-eapol-tcl-metadata-v1-1-d47e6f90d4ee@oss.qualcomm.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2026-06-09wifi: ath: Update copyright in testmode_i.hJeff Johnson
Update Qualcomm copyrights per current legal guidance. Assisted-by: Claude:claude-sonnet-4-6 Link: https://patch.msgid.link/20260608-ath12k-copyright-v2-4-37504d70b03c@oss.qualcomm.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2026-06-09wifi: ath10k: Update Qualcomm copyrightsJeff Johnson
Update Qualcomm copyrights per current legal guidance. Assisted-by: Claude:claude-sonnet-4-6 Link: https://patch.msgid.link/20260608-ath12k-copyright-v2-3-37504d70b03c@oss.qualcomm.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2026-06-09wifi: ath11k: Update Qualcomm copyrightsJeff Johnson
Update Qualcomm copyrights per current legal guidance. Assisted-by: Claude:claude-sonnet-4-6 Link: https://patch.msgid.link/20260608-ath12k-copyright-v2-2-37504d70b03c@oss.qualcomm.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2026-06-09wifi: ath12k: Update Qualcomm copyrightsJeff Johnson
Update Qualcomm copyrights per current legal guidance. Assisted-by: Claude:claude-sonnet-4-6 Link: https://patch.msgid.link/20260608-ath12k-copyright-v2-1-37504d70b03c@oss.qualcomm.com Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2026-06-09pwm: rzg2l-gpt: Add missing newlines to dev_err_probe() messagesBiju Das
dev_err_probe() internally calls dev_err() which uses pr_fmt() and printk(). Kernel log messages should end with a newline character to ensure proper log formatting. Add missing '\n' at the end of the error strings in rzg2l_gpt_probe(). Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Link: https://patch.msgid.link/20260604095647.108654-5-biju.das.jz@bp.renesas.com Fixes: 061f087f5d0b ("pwm: Add support for RZ/G2L GPT") Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2026-06-09PCI: mediatek: Fix operator precedence in PCIE_FTS_NUM_L0 macroLi RongQing
The original PCIE_FTS_NUM_L0(x) macro was buggy due to improper operator precedence, where ((x) & 0xff << 8) was evaluated as ((x) & 0xff00). Instead of just fixing the parentheses, use the standard FIELD_PREP() macro. This makes the code more robust by automatically handling masks and shifts, while also adding compile-time type and range checking to ensure the value fits within PCIE_FTS_NUM_MASK. Fixes: 637cfacae96f ("PCI: mediatek: Add MediaTek PCIe host controller support") Signed-off-by: Li RongQing <lirongqing@baidu.com> [mani: added the bitfield header include spotted by Sashiko] Signed-off-by: Manivannan Sadhasivam <mani@kernel.org> Reviewed-by: Krzysztof Wilczyński <kwilczynski@kernel.org> Link: https://patch.msgid.link/20260515005552.2343-1-lirongqing@baidu.com
2026-06-09pwm: rzg2l-gpt: Fix period_ticks type from u32 to u64Biju Das
period_ticks is used to store PWM period values that can exceed the 32-bit range, so change its type from u32 to u64 to prevent overflow. Cc: stable@kernel.org Fixes: 061f087f5d0b ("pwm: Add support for RZ/G2L GPT") Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Link: https://patch.msgid.link/20260604095647.108654-2-biju.das.jz@bp.renesas.com Signed-off-by: Uwe Kleine-König <ukleinek@kernel.org>
2026-06-09arm64: dts: allwinner: a523: add gpadc nodeMichal Piekos
Describe GPADC block on Allwinner A523. Tested on Radxa Cubie A5E: - 2 connected channels are showing voltages in agreement with schematics. BOOT-SEL-ADC ~500mV BOM-ADC ~1800mV - 3rd channel exposed on 40pin header is showing correct voltages when connected to known voltage source. Signed-off-by: Michal Piekos <michal.piekos@mmpsystems.pl> Link: https://patch.msgid.link/20260516-sunxi-a523-gpadc-v3-3-a3a04cff2620@mmpsystems.pl Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
2026-06-09arm64: dts: allwinner: Add EL2 virtual timer interruptMarc Zyngier
The ARMv8.2 based CPUs used in the A523 SoC (and derivatives) are missing the EL2 virtual timer interrupt. Add it. Reviewed-by: Andre Przywara <andre.przywara@arm.com> Tested-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://patch.msgid.link/20260523140242.586031-6-maz@kernel.org Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
2026-06-09ARM: dts: sun8i: a83t: Add MIPI CSI-2 controller nodePaul Kocialkowski
MIPI CSI-2 is supported on the A83T with a dedicated controller that covers both the protocol and D-PHY. It is connected to the only CSI receiver with a fwnode graph link. Note that the CSI receiver supports both this MIPI CSI-2 source and a parallel source. An empty port with a label for the MIPI CSI-2 sensor input is also defined for convenience. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com> Link: https://patch.msgid.link/20260518153339.619947-8-paulk@sys-base.io Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
2026-06-09dt-bindings: media: sun6i-a31-isp: Add optional interconnect propertiesPaul Kocialkowski
An interconnect can be attached to the sun6i-a31-isp device, which is useful to attach the dma memory offset. Add related properties. Signed-off-by: Paul Kocialkowski <paulk@sys-base.io> Acked-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260518153339.619947-3-paulk@sys-base.io [wens@kernel.org: Corrected sun6i-a31-csi to sun6i-a31-isp in commit log] Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
2026-06-09dt-bindings: media: sun6i-a31-csi: Add optional interconnect propertiesPaul Kocialkowski
An interconnect can be attached to the sun6i-a31-csi device, which is useful to attach the dma memory offset. Add related properties. Signed-off-by: Paul Kocialkowski <paulk@sys-base.io> Acked-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260518153339.619947-2-paulk@sys-base.io Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
2026-06-09Merge tag 'tegra-for-7.2-soc' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers soc/tegra: Changes for v7.2-rc1 These changes update some maintainer contact information, add a modern way of reading the chip information and cleanup/enhance some existing code. * tag 'tegra-for-7.2-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: soc/tegra: Use ARM SMCCC to get chip ID, revision, and platform info soc/tegra: fuse: Register nvmem lookups at probe Documentation: ABI: Take over as contact for sysfs-driver-tegra-fuse MAINTAINERS: Move Peter De Schrijver to CREDITS bus: tegra-aconnect: Use dev_err_probe for probe error paths Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09Merge tag 'mt76-next-2026-06-09' of https://github.com/nbd168/wirelessJohannes Berg
Felix Fietkau says: =================== mt76 patches for 7.2 - fixes - mt792x broken usb transport detection - mt7921 regd improvements - mt7927 support =================== Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-06-09arm64: configs: Update defconfig for AST2700 platform supportRyan Chen
Enable options for ASPEED AST2700 SoC. Signed-off-by: Ryan Chen <ryan_chen@aspeedtech.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20260609-upstream_ast2700-v9-4-f631752f0cb1@aspeedtech.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09Merge branch 'net-mctp-usb-minor-fixes-for-mctp-over-usb-transport-driver'Paolo Abeni
Jeremy Kerr says: ==================== net: mctp: usb: minor fixes for MCTP over USB transport driver This series adds a couple of fixes in the ndo_open / ndo_stop path for the MCTP over USB transport, where we are incorrectly sequencing two error cases. Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au> ==================== Link: https://patch.msgid.link/20260608-dev-mctp-usb-rx-requeue-v2-0-29a3aa507609@codeconstruct.com.au Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-06-09net: mctp: usb: don't fail mctp_usb_rx_queue on a deferred submissionJeremy Kerr
In the ndo_open path, a deferred queue open will report a failure, and so the netdev will not be ndo_stop()ed, leaving us with the rx_retry work potentially pending. Don't report a deferred queue as an error, as we are still operational. This means we use the ndo_stop() path for future cleanup, which handles rx_retry_work cancellation. Fixes: 0791c0327a6e ("net: mctp: Add MCTP USB transport driver") Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au> Link: https://patch.msgid.link/20260608-dev-mctp-usb-rx-requeue-v2-2-29a3aa507609@codeconstruct.com.au Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-06-09net: mctp: usb: fix race between urb completion and rx_retry cancellationJeremy Kerr
It's possible that sequencing between setting ->stopped and cancelling the rx_retry work (in ndo_stop) could leave us with an urb queued: T1: ndo_stop T2: rx_retry_work ------------ ---------------- LD: ->stopped => false ST: ->stopped <= true usb_kill_urb() mctp_usb_rx_queue() usb_submit_urb() cancel_delayed_work_sync() That urb completion can then re-schedule rx_retry_work. Strenghen the sequencing between the stop (preventing another requeue) and the cancel by updating both atomically under a new rx lock. After setting ->rx_stopped, and cancelling pending work, we know that the requeue cannot occur, so all that's left is killing any pending urb. Fixes: 0791c0327a6e ("net: mctp: Add MCTP USB transport driver") Signed-off-by: Jeremy Kerr <jk@codeconstruct.com.au> Link: https://patch.msgid.link/20260608-dev-mctp-usb-rx-requeue-v2-1-29a3aa507609@codeconstruct.com.au Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-06-09selftests/net/openvswitch: guard command substitutions against empty outputMinxi Hou
When ip-link output is unavailable, when the upcall daemon log has not been written yet, or when pahole does not know the OVS drop subsystem ID, the affected command substitutions silently produce empty strings. The caller then passes empty sha= or pid= arguments to ovs_add_flow, or matches against wrong drop reason codes, all without a diagnostic. Add [ -z ] guards immediately after each assignment. For test_arp_ping, also align the MAC extraction to use awk '/link\/ether/' as in test_pop_vlan. The drop_reason guard returns ksft_skip because an absent subsystem ID is an environment issue, not a test failure. Signed-off-by: Minxi Hou <houminxi@gmail.com> Reviewed-by: Aaron Conole <aconole@redhat.com> Link: https://patch.msgid.link/20260604163016.3929371-1-houminxi@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-06-09ntfs: use direct pointer for inline data to avoid redundant allocationNamjae Jeon
Previously, NTFS used page allocation for IOMAP_INLINE to ensure that the inline_data pointer was page-aligned, avoiding strict boundary checks in the iomap core. Since the previous patch has removed the over-strict PAGE_SIZE boundary check in iomap, NTFS can now safely point iomap::inline_data directly to the MFT record. This change eliminates redundant memory allocations and memcpy operations in both read and write paths. It also simplifies the iomap_ops by removing the need for a iomap_end callback that was previously used to free the temporary page. Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
2026-06-09ntfs: validate resident index root values on lookupDaeMyung Kang
Resident $INDEX_ROOT values carry index header fields that callers consume after lookup. Some callers already validate parts of the layout before walking entries, but those checks are scattered and do not cover all root header invariants, such as entries_offset alignment and lower bound, index_length, and allocated_size consistency. The resident root resize paths now keep these header fields consistent while the value size changes: ntfs_ir_truncate() lowers index.allocated_size before shrinking the resident value, and ntfs_ir_reparent() grows the resident value before publishing a larger root header. Lookup-time validation can therefore cover these invariants without tripping over the driver's own resize paths. Add $INDEX_ROOT to the minimum resident value size table and validate the resident index header fields before returning the attribute from lookup. Require 8-byte aligned index header fields, a sane entries_offset, an index_length within allocated_size, allocated_size within the resident value, and enough entry space for at least an index entry header. The shared validator already rejects non-resident records for resident-only attribute types, including $INDEX_ROOT. Cc: stable@vger.kernel.org # v7.1 Signed-off-by: DaeMyung Kang <charsyam@gmail.com> Reviewed-by: Hyunchul Lee <hyc.lee@gmail.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
2026-06-09ntfs: update index root allocated size before shrinkDaeMyung Kang
ntfs_ir_truncate() currently shrinks the resident $INDEX_ROOT value first and only updates index.allocated_size after re-looking up the attribute. During that relookup, the resident value_length can already be smaller while index.allocated_size still contains the old larger size. That leaves a transiently inconsistent $INDEX_ROOT layout and prevents lookup-time $INDEX_ROOT validation from being enabled: validation can correctly reject allocated_size extending past the newly shrunk resident value. When shrinking, lower index.allocated_size before shrinking value_length. If the truncate fails, restore the old allocated_size. Keep the existing grow ordering because the old allocated_size remains within the enlarged resident value until it is updated after the relookup. The shrink path is safe because the new value_length still covers struct index_root, so the index.allocated_size field remains present while it is updated first. Cc: stable@vger.kernel.org # v7.1 Signed-off-by: DaeMyung Kang <charsyam@gmail.com> Reviewed-by: Hyunchul Lee <hyc.lee@gmail.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
2026-06-09ntfs: grow index root value before reparent header updateDaeMyung Kang
ntfs_ir_reparent() moves the resident index root entries into an index block and leaves a small root stub containing the child VCN. That root stub can be larger than the existing resident value. For example, an empty root with value_length 48 has an index area of 32 bytes, while the large-index root stub needs index_length and allocated_size of 40 bytes. The current code publishes the larger index.index_length and index.allocated_size before resizing the resident value. If the resize returns -ENOSPC, the recovery path can call ntfs_inode_add_attrlist(), which looks attributes up again while the root header says allocated_size 40 but the resident value still only provides 32 bytes of index area. Lookup-time $INDEX_ROOT validation then correctly rejects that transient layout as corrupt. This reproduces as a generic/013 failure under qemu. In the failing run, the transient root had value_len=48, index_size=32, index_length=40, and allocated_size=40, and ntfsprogs-plus ntfsck reported "Corrupt index root in MFT record 1177". When the root stub grows, resize the resident value before publishing the larger root header. If the resize fails, the old root remains valid for recovery lookups. Keep the existing header-before-resize ordering for shrink or same-size cases so the resident value never temporarily exposes an allocated_size beyond its bounds. Cc: stable@vger.kernel.org # v7.1 Signed-off-by: DaeMyung Kang <charsyam@gmail.com> Reviewed-by: Hyunchul Lee <hyc.lee@gmail.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
2026-06-09ntfs: reject non-resident records for resident-only attributesDaeMyung Kang
The shared lookup-time attribute validator rejects non-resident $FILE_NAME and $VOLUME_NAME records because their formats require resident values and callers handle returned records as resident attributes. Other resident-only attribute types still pass through the generic non-resident mapping-pairs checks. That leaves real resident/non-resident union confusion paths. Inode load looks up $STANDARD_INFORMATION and then reads data.resident.value_offset without checking a->non_resident. ntfs_inode_sync_standard_information() does the same when updating the standard information value. ntfs_write_volume_flags() also looks up $VOLUME_INFORMATION and reads data.resident.value_offset directly. $INDEX_ROOT callers in dir.c and index.c depend on the same lookup contract before consuming the resident index root value. Reject non-resident records for all resident-only attribute types in the shared validator. Keep the existing $FILE_NAME and $VOLUME_NAME behavior, but factor it through a helper and extend it to $STANDARD_INFORMATION, $OBJECT_ID, $VOLUME_INFORMATION, $INDEX_ROOT, and $EA_INFORMATION. For $OBJECT_ID and $EA_INFORMATION this is contract hardening for resident-only formats; this patch only rejects the non-resident form and does not add new resident value validation for those types. Cc: stable@vger.kernel.org # v7.1 Signed-off-by: DaeMyung Kang <charsyam@gmail.com> Reviewed-by: Hyunchul Lee <hyc.lee@gmail.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
2026-06-09Merge tag 'aspeed-7.2-devicetree-0' of ↵Krzysztof Kozlowski
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/bmc/linux into soc/dt aspeed: First batch of ARM devicetree changes for v7.2 New platforms: - Rainiera6 (Meta) - SanMiguel (Meta) Updated platforms: - Anacapa: SGPIO line names and interrupt configuration - Clemente: Remove TMP421 nodes - Kommando: Enable networking via MAC2/MDIO2 - SanMiguel: Line names and interrupt configuration AST2600 SoC updates: - Describe PWM/Tach - Describe I3C controllers - Reorganise I2C nodes Other notes: 91b9aed7381c ("ARM: dts: aspeed-g6: Add nodes for i3c controllers") currently causes a new warning: ... /ahb/apb/bus@1e7a0000/syscon@0: failed to match any schema with compatible: ['aspeed,ast2600-i3c-global', 'syscon'] The patch necessary to address it has an R-b tag from Kryzsztof[2] but as best I can tell is yet to be applied to the MFD tree. I've left the change in for now as the warning will resolve once the binding patch is applied. Lastly, as part of improving support for the Kommando card Anirudh has also addressed[1] the persistent pain we've had with the phy-mode property for the AST2600 MACs. Thanks to Andrew Lunn for being on the case for a while now, and for those who tested Anirudh's patch. [1]: https://lore.kernel.org/all/20260525-asus-kommando-v3-0-e6a0ca1b4a3e@gmail.com/ [2]: https://lore.kernel.org/all/20260425-poised-accomplished-hyena-d2c1a0@quoll/ * tag 'aspeed-7.2-devicetree-0' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/bmc/linux: ARM: dts: aspeed: sanmiguel: Fix the CPU_CHIPTHROT linename ARM: dts: aspeed: sanmiguel: Add IOEXP interrupt pin settings ARM: dts: aspeed: clemente: Remove IOB NIC TMP421 nodes ARM: dts: aspeed: Enable networking for Asus Kommando IPMI Card ARM: dts: aspeed: rainiera6: Add Meta Rainiera6 BMC dt-bindings: arm: aspeed: Add Meta Rainiera6 board ARM: dts: aspeed: anacapa: Correct SGPIO names for monitoring ARM: dts: aspeed: Add Meta SanMiguel BMC dt-bindings: arm: aspeed: add Meta SanMiguel BMC ARM: dts: aspeed: g6: Add PWM/Tach controller node ARM: dts: aspeed: yosemite5: Add MP5998 power monitor ARM: dts: aspeed: anacapa: Add interrupt properties for PDB PCA9555 ARM: dts: aspeed: msx4: enable BMC networking via MAC0 ARM: dts: aspeed: anacapa: Add JTAG CPLD TRST pin to SGPIO map ARM: dts: aspeed-g6: Add nodes for i3c controllers ARM: dts: aspeed-g6: move i2c controllers directly into apb node Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-06-09Merge tag 'riscv-sophgo-dt-for-v7.2' of https://github.com/sophgo/linux into ↵Krzysztof Kozlowski
soc/dt RISC-V Devicetrees for v7.2 Sophgo: For CV18xx serials: - Add bindings for Milk-V "Duo S" board. For SG2042: - The CPU unit address incorrectly used decimal numbers, especially for those nodes which value >= 10. Now corrected to use hexadecimal. - The MSI controller actually only supports 16 interrupts; corrected to match the actual situation. - PCIe RCs are cache-coherent with the CPU. Marked it out for RC nodes. For SG2044: - The same as SG2042, use hex for CPU unit address. In additional, update Chen Wang's email address for Sopgho SoC maintainer. Signed-off-by: Chen Wang <unicorn_wang@outlook.com> * tag 'riscv-sophgo-dt-for-v7.2' of https://github.com/sophgo/linux: riscv: dts: sophgo: reduce SG2042 MSI count to 16 riscv: dts: sophgo: sg2042: use hex for CPU unit address riscv: dts: sophgo: sg2044: use hex for CPU unit address riscv: dts: sophgo: Add dma-coherent to SG2042 PCIe controllers dt-bindings: soc: sophgo: add sg2000 plic and clint documentation dt-bindings: soc: sophgo: add Milk-V Duo S board compatibles MAINTAINERS: update Chen Wang's email address Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-06-09Merge remote-tracking branch 'wsa/i2c/fix-registration' into i2c/i2c-hostAndi Shyti
Merge Johan Hovold's adapter registration fixes from Wolfram's branch, addressing races, cleanup paths and resource management issues.
2026-06-09Merge tag 'nuvoton-7.2-devicetree-0' of ↵Krzysztof Kozlowski
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/bmc/linux into soc/dt nuvoton: First batch of arm64 devicetree changes for v7.2 Just the one patch adding ethernet nodes for the MA35D1 development board. * tag 'nuvoton-7.2-devicetree-0' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/bmc/linux: arm64: dts: nuvoton: Add Ethernet nodes Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-06-09Merge tag 'aspeed-7.2-drivers-0' of ↵Krzysztof Kozlowski
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/bmc/linux into soc/drivers aspeed: First batch of driver changes for v7.2 While bc13f14f5cd3 ("soc: aspeed: cleanup dead default for ASPEED_SOCINFO") was committed just now it has been in -next for a while as b333a0f1c857411d83a02aa6f1d9ecc7666d6179. The commit is fresh as I moved it between branches. Other than that it's just the one other patch from Krzysztof tidying up the location of MODULE_DEVICE_TABLE(). * tag 'aspeed-7.2-drivers-0' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/bmc/linux: soc: aspeed: cleanup dead default for ASPEED_SOCINFO soc: aspeed: Move MODULE_DEVICE_TABLE next to the table itself Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-06-09Merge tag 'amlogic-arm64-dt-for-v7.2-v2' of ↵Krzysztof Kozlowski
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt Amlogic ARM64 DT for v7.2 v2 take 1: - Khadas VIM4 (T7 SoC) features: - Memory layout fixup - GIC register range - Model name fixup - PWM, eMMC, SD card and SDIO support - PWM LED - I2C pinctrl node - Khadas VIM1s Features - Bluetooth - PWM LED - Power Key - Function Key via SARADC - RTC - Remote control keymap - Bluetooth node for Phicomm N1 * tag 'amlogic-arm64-dt-for-v7.2-v2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: (22 commits) arm64: dts: amlogic: t7: Add i2c pinctrl node arm64: dts: amlogic: t7: khadas-vim4: add PWM-driven status LED arm64: dts: amlogic: t7: khadas-vim4: reorder root node arm64: dts: amlogic: t7: Fix missing required reset property arm64: dts: amlogic: t7: khadas-vim4: Add MMC nodes arm64: dts: amlogic: t7: khadas-vim4: Add SDIO power sequence and WiFi clock arm64: dts: amlogic: t7: Add PWM controller nodes arm64: dts: amlogic: t7: Add MMC controller nodes arm64: dts: amlogic: t7: Add clock controller nodes arm64: dts: amlogic: meson-s4-s905y4-khadas-vim1s: use rc-khadas keymap arm64: dts: amlogic: meson-s4-s905y4-khadas-vim1s: enable HYM8563 RTC arm64: dts: amlogic: meson-s4: add VRTC node arm64: dts: amlogic: meson-s4-s905y4-khadas-vim1s: add Function key support arm64: dts: amlogic: meson-s4: add internal SARADC controller arm64: dts: amlogic: t7: khadas-vim4: Add power regulators arm64: dts: amlogic: t7: Add PWM pinctrl nodes arm64: dts: amlogic: t7: Add eMMC, SD card and SDIO pinctrl nodes arm64: dts: amlogic: meson-s4-s905y4-khadas-vim1s: add POWER key support arm64: dts: amlogic: meson-s4-s905y4-khadas-vim1s: add PWM LED support arm64: dts: amlogic: meson-s4-s905y4-khadas-vim1s: enable bluetooth ... Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-06-09Merge tag 'spacemit-dt-for-7.2-1' of https://github.com/spacemit-com/linux ↵Krzysztof Kozlowski
into soc/dt RISC-V SpacemiT DT changes for 7.2 For K3 SoC - Add Ziccrse extension - Add PWM support - Add PDMA support - Add USB2.0 support - Add CoM260-IFX board - Add DeepComputing FML13V05 board - Fix I/O power of pinctrl For K1 SoC - Add Micro SD card support - Add baudrate to console - Add SPI support - Enable thermal sensor - Fix 32K clock For boards of K1 - Milk-V Jupiter - Enable eMMC - MusePi-Pro - Enable EEPROM/PCIe/QSPI/USB - OrangePi R2S - Enable PMIC/USB3 - OrangePi RV2 - Enable eMMC/I2C/PCIe/PMIC/QSPI/USB * tag 'spacemit-dt-for-7.2-1' of https://github.com/spacemit-com/linux: (35 commits) riscv: dts: spacemit: enable PMIC on OrangePi R2S dts: riscv: spacemit: k3: Fix I/O power settings riscv: dts: spacemit: k3: Add Ziccrse extension for X100 cores riscv: dts: spacemit: k3: Initial support for CoM260-IFX board dt-bindings: riscv: spacemit: Add K3 CoM260-IFX board riscv: dts: spacemit: k1-musepi-pro: add SD card support with UHS modes riscv: dts: spacemit: k3: Add pwm support riscv: dts: spacemit: fix uboot partition offset on Milk-V Jupiter riscv: dts: spacemit: enable SD card support on Milk-V Jupiter riscv: dts: spacemit: enable eMMC on Milk-V Jupiter riscv: dts: spacemit: sort aliases on Milk-V Jupiter riscv: dts: spacemit: set console baud rate on Milk-V Jupiter riscv: dts: spacemit: enable USB3 on OrangePi R2S riscv: dts: spacemit: Add thermal sensor for K1 SoC riscv: dts: spacemit: Add PDMA controller node for K3 SoC riscv: dts: spacemit: enable QSPI for OrangePi RV2 riscv: dts: spacemit: k1-musepi-pro: set default console baud rate riscv: dts: spacemit: k1-musepi-pro: enable PCIe ports riscv: dts: spacemit: k1-musepi-pro: enable USB 3 ports riscv: dts: spacemit: k1-musepi-pro: enable QSPI and add SPI NOR ... Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-06-09platform/x86/intel/tpmi: convert mutex in mem_write() to guardZhaoJinming
Convert the explicit mutex_lock/mutex_unlock pair in mem_write() into a cleanup.h guard(mutex)() scope-based lock acquisition. This removes the remaining goto-based cleanup path and keeps the lock held until the end of the mem_write() scope. Suggested-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: ZhaoJinming <zhaojinming@uniontech.com> Link: https://patch.msgid.link/20260521130848.2860219-2-zhaojinming@uniontech.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2026-06-09Merge tag 'thead-dt-for-v7.2' of ↵Krzysztof Kozlowski
https://git.kernel.org/pub/scm/linux/kernel/git/fustini/linux into soc/dt T-HEAD Devicetrees for 7.2 Enable wifi on two TH1520 boards: BeagleV Ahead and Lichee Pi 4a. The BeagleV Ahead board uses an AP6203BM WiFi module connected to SDIO1. The Lichee Pi 4A has an RTL8723DS WiFi module also connected to SDIO1. The module reset line is driven through a PCA9557 GPIO expander on the I2C1 bus. * tag 'thead-dt-for-v7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/fustini/linux: riscv: dts: thead: Enable wifi on the BeagleV-Ahead riscv: dts: thead: Enable WiFi on Lichee Pi 4A riscv: dts: thead: Add TH1520 I2C1 controller Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-06-09Merge tag 'tenstorrent-dt-for-v7.2' of ↵Krzysztof Kozlowski
https://git.kernel.org/pub/scm/linux/kernel/git/tenstorrent/linux into soc/dt Tenstorrent device tree for v7.2 Add a riscv,pmu node to the Tenstorrent Blackhole SoC device tree. This enables OpenSBI to expose the SBI PMU extension, allowing Linux perf to use the 4 programmable counters (mhpmcounter3-6) across 3 event classes: instruction commit, microarchitectural, and memory system events. Extend the RISC-V IOMMU device tree bindings to document the Tenstorrent IOMMU used in the Tenstorrent Atlantis SoC. A second register range is added which contains M-mode only registers like PMAs and PMPs. The binding will be used by OpenSBI and potentially other M-mode software. * tag 'tenstorrent-dt-for-v7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/tenstorrent/linux: dt-bindings: iommu: riscv: Add bindings for Tenstorrent RISC-V IOMMU riscv: dts: tenstorrent: Add PMU node to blackhole for Linux perf support Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>