Skip to contentSkip to conversation

Linux 6.9.11

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jul 25, 2024 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 6.9.11 kernel.

All users of the 6.9 kernel series must upgrade.

The updated 6.9.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-6.9.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/cdrom/cdrom-standard.rst                         |    4 
 Makefile                                                       |    2 
 arch/arm64/kernel/armv8_deprecated.c                           |    3 
 arch/loongarch/boot/dts/loongson-2k0500-ref.dts                |    4 
 arch/loongarch/boot/dts/loongson-2k1000-ref.dts                |    4 
 arch/loongarch/boot/dts/loongson-2k2000-ref.dts                |    2 
 arch/mips/kernel/syscalls/syscall_o32.tbl                      |    2 
 arch/powerpc/kernel/eeh_pe.c                                   |    7 
 arch/powerpc/kvm/book3s_64_vio.c                               |   18 
 arch/powerpc/platforms/pseries/setup.c                         |    4 
 arch/riscv/kernel/stacktrace.c                                 |    3 
 drivers/acpi/ac.c                                              |    4 
 drivers/acpi/ec.c                                              |    9 
 drivers/acpi/sbs.c                                             |    4 
 drivers/block/loop.c                                           |   23 
 drivers/block/null_blk/main.c                                  |    4 
 drivers/bluetooth/btnxpuart.c                                  |    2 
 drivers/clk/qcom/apss-ipq-pll.c                                |    2 
 drivers/firmware/efi/libstub/zboot.lds                         |    1 
 drivers/gpio/gpio-pca953x.c                                    |    2 
 drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c                        |   15 
 drivers/gpu/drm/amd/amdgpu/psp_v14_0.c                         |    5 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c              |   52 +
 drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c |    3 
 drivers/gpu/drm/amd/display/dc/dml/dcn35/dcn35_fpu.c           |    2 
 drivers/gpu/drm/amd/display/dc/dml/dcn351/dcn351_fpu.c         |    2 
 drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c  |    1 
 drivers/gpu/drm/amd/display/dc/dml2/dml2_utils.c               |    2 
 drivers/gpu/drm/amd/include/pptable.h                          |   91 +--
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c                      |   13 
 drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h                  |    5 
 drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v14_0_0_ppsmc.h   |    4 
 drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h                   |    4 
 drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c           |   73 ++
 drivers/gpu/drm/drm_panel_orientation_quirks.c                 |    6 
 drivers/gpu/drm/exynos/exynos_dp.c                             |    1 
 drivers/gpu/drm/mediatek/mtk_drm_drv.c                         |    8 
 drivers/gpu/drm/radeon/radeon_gem.c                            |    2 
 drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c               |    8 
 drivers/gpu/drm/vmwgfx/Kconfig                                 |    2 
 drivers/hid/hid-debug.c                                        |    2 
 drivers/hid/hid-ids.h                                          |    2 
 drivers/hid/hid-input.c                                        |   13 
 drivers/input/joystick/xpad.c                                  |    1 
 drivers/input/mouse/elantech.c                                 |   31 +
 drivers/input/serio/i8042-acpipnpio.h                          |   18 
 drivers/input/touchscreen/ads7846.c                            |   12 
 drivers/input/touchscreen/silead.c                             |   19 
 drivers/misc/mei/main.c                                        |    2 
 drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c               |    2 
 drivers/net/ethernet/ibm/ibmvnic.c                             |   12 
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c                |    1 
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c       |   10 
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_reg.h          |   55 +-
 drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c         |    2 
 drivers/net/ethernet/marvell/octeontx2/nic/qos.c               |    3 
 drivers/net/usb/qmi_wwan.c                                     |    2 
 drivers/net/wireless/intel/iwlwifi/mvm/d3.c                    |   16 
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c              |   47 +
 drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c               |   13 
 drivers/net/wireless/intel/iwlwifi/mvm/ops.c                   |    6 
 drivers/net/wireless/intel/iwlwifi/mvm/scan.c                  |    8 
 drivers/net/wireless/intel/iwlwifi/mvm/sta.c                   |   12 
 drivers/net/wireless/intel/iwlwifi/mvm/sta.h                   |    5 
 drivers/nvme/host/core.c                                       |    1 
 drivers/nvme/host/fabrics.c                                    |    6 
 drivers/nvme/host/nvme.h                                       |    2 
 drivers/nvme/target/core.c                                     |    1 
 drivers/nvme/target/fabrics-cmd-auth.c                         |    3 
 drivers/nvme/target/fabrics-cmd.c                              |    6 
 drivers/of/irq.c                                               |  143 ++---
 drivers/of/of_private.h                                        |    3 
 drivers/parport/parport_amiga.c                                |    8 
 drivers/perf/riscv_pmu_sbi.c                                   |    2 
 drivers/platform/mellanox/nvsw-sn2201.c                        |    5 
 drivers/platform/x86/amd/hsmp.c                                |   50 +
 drivers/platform/x86/lg-laptop.c                               |   89 +--
 drivers/platform/x86/wireless-hotkey.c                         |    2 
 drivers/pnp/base.h                                             |    1 
 drivers/s390/char/sclp.c                                       |    1 
 drivers/scsi/device_handler/scsi_dh_alua.c                     |   31 -
 drivers/scsi/libsas/sas_internal.h                             |   14 
 drivers/scsi/qedf/qedf.h                                       |    1 
 drivers/scsi/qedf/qedf_main.c                                  |   47 +
 drivers/scsi/sr.h                                              |    2 
 drivers/scsi/sr_ioctl.c                                        |    5 
 drivers/spi/spi-davinci.c                                      |    6 
 drivers/spi/spi-imx.c                                          |    2 
 drivers/spi/spi-mux.c                                          |    1 
 drivers/spi/spi.c                                              |    6 
 drivers/tee/optee/ffa_abi.c                                    |   12 
 drivers/vfio/device_cdev.c                                     |    7 
 drivers/vfio/group.c                                           |    7 
 drivers/vfio/pci/vfio_pci_core.c                               |  271 ++--------
 drivers/vfio/vfio_main.c                                       |   44 +
 fs/btrfs/btrfs_inode.h                                         |   10 
 fs/btrfs/file.c                                                |   16 
 fs/btrfs/ordered-data.c                                        |   31 +
 fs/btrfs/qgroup.c                                              |    4 
 fs/btrfs/ref-verify.c                                          |    9 
 fs/btrfs/scrub.c                                               |   24 
 fs/cachefiles/cache.c                                          |   45 +
 fs/cachefiles/ondemand.c                                       |   74 +-
 fs/cachefiles/volume.c                                         |    1 
 fs/dcache.c                                                    |   31 -
 fs/erofs/zmap.c                                                |    2 
 fs/file.c                                                      |    4 
 fs/hfsplus/xattr.c                                             |    2 
 fs/iomap/buffered-io.c                                         |    3 
 fs/netfs/buffered_write.c                                      |    4 
 fs/netfs/fscache_volume.c                                      |   14 
 fs/netfs/internal.h                                            |    2 
 fs/nfs/dir.c                                                   |   27 
 fs/nfs/nfs4proc.c                                              |    1 
 fs/nfs/pagelist.c                                              |    5 
 fs/nfs/symlink.c                                               |    2 
 fs/smb/client/cifsfs.c                                         |    2 
 fs/smb/client/file.c                                           |    4 
 fs/smb/common/smb2pdu.h                                        |   34 +
 fs/smb/server/smb2pdu.c                                        |    9 
 include/linux/cdrom.h                                          |    2 
 include/linux/fscache-cache.h                                  |    6 
 include/linux/page_ref.h                                       |   49 -
 include/linux/pnp.h                                            |    2 
 include/linux/spi/spi.h                                        |    5 
 include/linux/vfio.h                                           |    1 
 include/linux/vfio_pci_core.h                                  |    2 
 include/net/bluetooth/hci_sync.h                               |    2 
 include/sound/dmaengine_pcm.h                                  |    1 
 include/trace/events/fscache.h                                 |    4 
 include/uapi/linux/input-event-codes.h                         |    2 
 io_uring/register.c                                            |    4 
 kernel/workqueue.c                                             |   51 +
 lib/Kconfig                                                    |    8 
 lib/closure.c                                                  |   10 
 mm/filemap.c                                                   |   10 
 mm/gup.c                                                       |    2 
 net/bluetooth/hci_core.c                                       |   76 --
 net/bluetooth/hci_sync.c                                       |   13 
 net/bluetooth/l2cap_core.c                                     |    3 
 net/bluetooth/l2cap_sock.c                                     |   14 
 net/ipv6/ila/ila_lwt.c                                         |    7 
 net/ipv6/rpl_iptunnel.c                                        |   14 
 net/mac80211/cfg.c                                             |    5 
 net/mac80211/ieee80211_i.h                                     |    2 
 net/mac80211/main.c                                            |   11 
 net/mac80211/mesh.c                                            |    1 
 net/mac80211/scan.c                                            |   31 -
 net/mac80211/util.c                                            |    4 
 net/mac802154/tx.c                                             |    8 
 net/wireless/rdev-ops.h                                        |    6 
 net/wireless/scan.c                                            |   59 +-
 scripts/kconfig/expr.c                                         |   29 -
 scripts/kconfig/expr.h                                         |    1 
 scripts/kconfig/gconf.c                                        |    3 
 scripts/kconfig/menu.c                                         |    2 
 sound/core/pcm_dmaengine.c                                     |   22 
 sound/core/pcm_native.c                                        |    2 
 sound/pci/hda/Kconfig                                          |    2 
 sound/pci/hda/cs35l41_hda_property.c                           |    8 
 sound/pci/hda/cs35l56_hda.c                                    |    5 
 sound/pci/hda/patch_realtek.c                                  |    9 
 sound/soc/amd/yc/acp6x-mach.c                                  |    7 
 sound/soc/codecs/cs35l56-shared.c                              |    4 
 sound/soc/codecs/es8326.c                                      |    8 
 sound/soc/codecs/rt722-sdca-sdw.c                              |    4 
 sound/soc/intel/avs/topology.c                                 |   19 
 sound/soc/intel/boards/bytcr_rt5640.c                          |   11 
 sound/soc/soc-generic-dmaengine-pcm.c                          |    8 
 sound/soc/soc-topology.c                                       |   29 -
 sound/soc/sof/intel/hda-pcm.c                                  |    6 
 sound/soc/sof/sof-audio.c                                      |    2 
 sound/soc/ti/davinci-mcasp.c                                   |    9 
 sound/soc/ti/omap-hdmi.c                                       |    6 
 tools/power/cpupower/utils/helpers/amd.c                       |   26 
 tools/testing/selftests/bpf/config                             |    3 
 tools/testing/selftests/bpf/prog_tests/tc_links.c              |   61 ++
 tools/testing/selftests/cachestat/test_cachestat.c             |    1 
 tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c    |    1 
 tools/testing/selftests/futex/functional/Makefile              |    2 
 tools/testing/selftests/net/openvswitch/ovs-dpctl.py           |    2 
 tools/testing/selftests/openat2/openat2_test.c                 |    1 
 tools/testing/selftests/timens/exec.c                          |    6 
 tools/testing/selftests/timens/timer.c                         |    2 
 tools/testing/selftests/timens/timerfd.c                       |    2 
 tools/testing/selftests/timens/vfork_exec.c                    |    4 
 tools/testing/selftests/vDSO/parse_vdso.c                      |   16 
 tools/testing/selftests/vDSO/vdso_standalone_test_x86.c        |   18 
 188 files changed, 1713 insertions(+), 879 deletions(-)

Adrian Moreno (1):
selftests: openvswitch: Set value to nla flags.

Aivaz Latypov (1):

      ALSA: hda/relatek: Enable Mute LED on HP Laptop 15-gw0xxx

Alex Williamson (3):
vfio: Create vfio_fs_type with inode per device vfio/pci: Use unmap_mapping_range() vfio/pci: Insert full vma on mmap'd MMIO fault

Alexander Stein (1):
Input: ads7846 - use spi_device_id table

Alexander Usyskin (1):
mei: demote client disconnect warning on suspend to debug

Alexey Makhalov (1):
drm/vmwgfx: Fix missing HYPERVISOR_GUEST dependency

Alvin Lee (1):
drm/amd/display: Account for cursor prefetch BW in DML1 mode support

Amadeusz Sławiński (3):
ASoC: topology: Fix references to freed memory
ASoC: Intel: avs: Fix route override
ASoC: topology: Do not assign fields that are already set

Andreas Hindborg (1):
null_blk: fix validation of block size

Andy Shevchenko (1):
PNP: Hide pnp_bus_type from the non-PNP code

Anjali K (1):
powerpc/pseries: Whitelist dtl slub object for copying to userspace

Armin Wolf (6):
ACPI: EC: Abort address space access upon error
ACPI: EC: Avoid returning AE_OK on errors in address space handler platform/x86: wireless-hotkey: Add support for LG Airplane Button platform/x86: lg-laptop: Remove LGEX0815 hotkey handling platform/x86: lg-laptop: Change ACPI device id
platform/x86: lg-laptop: Use ACPI device handle when evaluating WMAB/WMBB

Arnd Bergmann (1):
mips: fix compat_sys_lseek syscall

Aryan Srivastava (1):
net: mvpp2: fill-in dev_port attribute

Aseda Aboagye (2):
input: Add event code for accessibility key
input: Add support for "Do Not Disturb"

Ayala Beker (1):
wifi: iwlwifi: mvm: properly set 6 GHz channel direct probe option

Baokun Li (5):
cachefiles: add consistency check for copen/cread
cachefiles: make on-demand read killable
netfs, fscache: export fscache_put_volume() and add fscache_try_get_volume()
cachefiles: fix slab-use-after-free in fscache_withdraw_volume()
cachefiles: fix slab-use-after-free in cachefiles_withdraw_cookie()

Bastien Curutchet (1):
spi: davinci: Unset POWERDOWN bit when releasing resources

Benjamin Berg (1):
wifi: iwlwifi: mvm: remove stale STA link data during restart

Boyang Yu (1):
nvme: fix NVME_NS_DEAC may incorrectly identifying the disk as EXT_LBA.

Chen Ni (2):
can: kvaser_usb: fix return value for hif_usb_send_regout platform/mellanox: nvsw-sn2201: Add check for platform_device_add_resources

Christian Brauner (1):
fs: better handle deep ancestor chains in is_subdir()

Chunguang Xu (2):
nvme-fabrics: use reserved tag for reg read/write command
nvme: avoid double free special payload

Cyril Hrubis (1):
loop: Disable fallocate() zero and discard if not supported

Daniel Borkmann (1):
selftests/bpf: Extend tcx tests to cover late tcx_entry release

Daniel Gabay (1):
wifi: iwlwifi: properly set WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK

Daniel Miess (1):
drm/amd/display: Change dram_clock_latency to 34us for dcn351

Daniel Wagner (1):
nvmet: always initialize cqe.result

Daniele Palmas (1):
net: usb: qmi_wwan: add Telit FN912 compositions

David Lechner (1):

      spi: mux: set ctlr->bits_per_word_mask

Dhananjay Ugwekar (1):
tools/power/cpupower: Fix Pstate frequency reporting on AMD Family 1Ah CPUs

Dmitry Antipov (2):
wifi: mac80211: fix UBSAN noise in ieee80211_prep_hw_scan()
wifi: cfg80211: wext: add extra SIOCSIWSCAN data check

Dmitry Mastykin (1):
NFSv4: Fix memory leak in nfs4_set_security_label

Dmitry Savin (1):
ALSA: hda: cs35l41: Fix swapped l/r audio channels for Lenovo ThinBook 13x Gen4

Douglas Anderson (2):
drm: renesas: shmobile: Call drm_atomic_helper_shutdown() at shutdown time drm/mediatek: Call drm_atomic_helper_shutdown() at shutdown time

Edward Adam Davis (2):
bluetooth/l2cap: sync sock recv cb and release
hfsplus: fix uninit-value in copy_name

Emmanuel Grumbach (1):
wifi: iwlwifi: mvm: don't wake up rx_sync_waitq upon RFKILL

Eric Dumazet (2):
net: ipv6: rpl_iptunnel: block BH in rpl_output() and rpl_input()
ila: block BH in ila_output()

Fangzhi Zuo (1):
drm/amd/display: Update efficiency bandwidth for dcn351

Filipe Manana (3):
btrfs: ensure fast fsync waits for ordered extents after a write failure
btrfs: qgroup: fix quota root leak after quota disable failure
btrfs: fix uninitialized return value in the ref-verify tool

Gabor Juhos (1):
clk: qcom: apss-ipq-pll: remove 'config_ctl_hi_val' from Stromer pll configs

Ganesh Goudar (1):

      powerpc/eeh: avoid possible crash when edev->pdev changes

Gao Xiang (1):
erofs: ensure m_llen is reset to 0 if metadata is invalid

Greg Kroah-Hartman (1):

      Linux 6.9.11

Hagar Hemdan (1):
io_uring: fix possible deadlock in io_register_iowq_max_workers()

Hans de Goede (1):
Input: silead - Always support 10 fingers

Harish Kasiviswanathan (1):
drm/amdgpu: Indicate CU havest info to CP

Heiko Carstens (1):
s390/sclp: Fix sclp_init() cleanup on failure

Huacai Chen (1):
LoongArch: Fix GMAC's phy-mode definitions in dts

Ian Ray (1):
gpio: pca953x: fix pca953x_irq_bus_sync_unlock race

Ilan Peer (1):
wifi: iwlwifi: mvm: Fix scan abort handling with HW rfkill

Jack Yu (2):
ASoC: rt722-sdca-sdw: add silence detection register as volatile
ASoC: rt722-sdca-sdw: add debounce time for type detection

Jai Luthra (2):
ALSA: dmaengine: Synchronize dma channel after drop()
ASoC: ti: davinci-mcasp: Set min period size using FIFO config

Jan Kara (1):
nfs: Avoid flushing many pages with NFS_FILE_SYNC

Johannes Berg (6):
wifi: mac80211: apply mcast rate only if interface is up
wifi: mac80211: handle tasklet frames before stopping
wifi: cfg80211: fix 6 GHz scan request building
wifi: iwlwifi: mvm: handle BA session teardown in RF-kill
wifi: cfg80211: wext: set ssids=NULL for passive scans
wifi: mac80211: disable softirqs for queued frame handling

John Hubbard (3):
selftests/futex: pass _GNU_SOURCE without a value to the compiler selftest/timerns: fix clang build failures for abs() calls selftests/vDSO: fix clang build errors and warnings

Jonathan Denose (1):
Input: elantech - fix touchpad state on resume for Lenovo N24

Justin Stitt (1):
scsi: sr: Fix unintentional arithmetic wraparound

Kailang Yang (1):
ALSA: hda/realtek: Add more codec ID to no shutup pins list

Kent Overstreet (1):
closures: Change BUG_ON() to WARN_ON()

Kenton Groombridge (1):
wifi: mac80211: Avoid address calculations via out of bounds array indexing

Krzysztof Kozlowski (1):
drm/exynos: dp: drop driver owner initialization

Li Ma (1):
drm/amd/swsmu: add MALL init support workaround for smu_v14_0_1

Likun Gao (1):
drm/amdgpu: init TA fw for psp v14

Linus Torvalds (1):
cpumask: limit FORCE_NR_CPUS to just the UP case

Louis Dalibard (1):
HID: Ignore battery for ELAN touchscreens 2F2C and 4116

Luiz Augusto von Dentz (1):
Bluetooth: L2CAP: Fix deadlock

Luke D. Jones (1):
Input: xpad - add support for ASUS ROG RAIKIRI PRO

Marc Zyngier (1):
of/irq: Disable "interrupt-map" parsing for PASEMI Nemo

Mark-PK Tsai (1):
tee: optee: ffa: Fix missing-field-initializers warning

Martin Wilck (1):
scsi: core: alua: I/O errors for ALUA state transitions

Masahiro Yamada (2):
kconfig: gconf: give a proper initial state to the Save button
kconfig: remove wrong expr_trans_bool()

Michael Ellerman (4):
selftests: cachestat: Fix build warnings on ppc64 selftests/openat2: Fix build warnings on ppc64 selftests/overlayfs: Fix build error on ppc64
KVM: PPC: Book3S HV: Prevent UAF in kvm_spapr_tce_attach_iommu_group()

Namjae Jeon (1):
ksmbd: return FILE_DEVICE_DISK instead of super magic

Nathan Chancellor (1):
efi/libstub: zboot.lds: Discard .discard sections

Neeraj Sanjay Kale (1):
Bluetooth: btnxpuart: Enable Power Save feature on startup

Nick Child (1):
ibmvnic: Add tx check to prevent skb leak

Nicolas Escande (1):
wifi: mac80211: mesh: init nonpeer_pm to active by default in mesh sdata

Patrice Chotard (1):
spi: Fix OCTAL mode support

Paul Hsieh (1):
drm/amd/display: change dram_clock_latency to 34us for dcn35

Peter Ujfalusi (2):
ASoC: SOF: sof-audio: Skip unprepare for in-use widgets on error rollback
ASoC: SOF: Intel: hda-pcm: Limit the maximum number of periods by MAX_BDL_ENTRIES

Pierre-Eric Pelloux-Prayer (1):

      drm/radeon: check bo_va->bo is non-NULL before using it

Primoz Fiser (1):
ASoC: ti: omap-hdmi: Fix too long driver name

Puranjay Mohan (1):
riscv: stacktrace: fix usage of ftrace_graph_ret_addr()

Qu Wenruo (1):
btrfs: scrub: handle RST lookup error correctly

Ratheesh Kannoth (1):
octeontx2-pf: Fix coverity and klockwork issues in octeon PF driver

Richard Fitzgerald (1):
ASoC: cs35l56: Disconnect ASP1 TX sources when ASP1 DAI is hooked up

Ritesh Harjani (IBM) (1):
iomap: Fix iomap_adjust_read_range for plen calculation

Rob Herring (Arm) (1):
of/irq: Factor out parsing of interrupt-map parent phandle+args from of_irq_parse_raw()

Roman Li (1):
drm/amd/display: Fix array-index-out-of-bounds in dml2/FCLKChangeSupport

Sagi Grimberg (1):
nfs: propagate readlink errors in nfs_symlink_filler

Samuel Holland (1):
drivers/perf: riscv: Reset the counter to hpmevent mapping while starting cpus

Saurav Kashyap (3):
scsi: qedf: Don't process stag work during unload and recovery
scsi: qedf: Wait for stag work during unload
scsi: qedf: Set qed_slowpath_params to zero before use

Scott Mayhew (1):
nfs: don't invalidate dentries on transient errors

Shengjiu Wang (1):
ALSA: dmaengine_pcm: terminate dmaengine before synchronize

Simon Trimmer (2):
ALSA: hda: cs35l56: Fix lifecycle of codec pointer
ALSA: hda: cs35l56: Select SERIAL_MULTI_INSTANTIATE

Stefan Binding (4):
ALSA: hda: cs35l41: Support Lenovo Thinkbook 16P Gen 5
ALSA: hda: cs35l41: Support Lenovo Thinkbook 13x Gen 4
ALSA: hda/realtek: Support Lenovo Thinkbook 16P Gen 5
ALSA: hda/realtek: Support Lenovo Thinkbook 13x Gen 4

Steve French (1):
cifs: fix noisy message on copy_file_range

Suma Hegde (1):
platform/x86/amd/hsmp: Check HSMP support on AMD family of processors

Takashi Iwai (2):
ALSA: PCM: Allow resume only for suspended streams
ALSA: hda: Use imply for suggesting CONFIG_SERIAL_MULTI_INSTANTIATE

Tasos Sahanidis (1):
drm/amdgpu/pptable: Fix UBSAN array-index-out-of-bounds

Tejun Heo (1):
workqueue: Refactor worker ID formatting and make wq_worker_comm() use full ID string

Tetsuo Handa (1):
Bluetooth: hci_core: cancel all works upon hci_unregister_dev()

Thomas GENTY (1):
bytcr_rt5640 : inverse jack detect for Archos 101 cesium

Thomas Weißschuh (1):
ACPI: AC: Properly notify powermanagement core about changes

Tobias Jakobi (2):
drm: panel-orientation-quirks: Add quirk for Aya Neo KUN
Input: i8042 - add Ayaneo Kun to i8042 quirk table

Tom Chung (2):
drm/amd/display: Add refresh rate range check drm/amd/display: Fix refresh rate range for some panel

Uwe Kleine-König (2):
parport: amiga: Mark driver struct with __refdata to prevent section mismatch
spi: imx: Don't expect DMA for i.MX{25,35,50,51,53} cspi devices

Vyacheslav Frantsishko (1):
ASoC: amd: yc: Fix non-functional mic on ASUS M5602RA

Wei Li (1):
arm64: armv8_deprecated: Fix warning in isndep cpuhp starting process

Xingui Yang (1):
scsi: libsas: Fix exp-attached device scan after probe failure scanned in again after probe failed

Yang Shi (1):
mm: page_ref: remove folio_try_get_rcu()

Yedidya Benshimol (2):
wifi: iwlwifi: mvm: d3: fix WoWLAN command version lookup
wifi: iwlwifi: mvm: Handle BIGTK cipher in kek_kck cmd

Yunshui Jiang (1):
net: mac802154: Fix racy device stats updates by DEV_STATS_INC() and DEV_STATS_ADD()

Yuntao Wang (1):
fs/file: fix the check in find_next_fd()

Zhang Yi (1):
ASoC: codecs: ES8326: Solve headphone detection issue

Zizhi Wo (1):
cachefiles: Set object to close if ondemand_id < 0 in copen

author maintainer
#1 lore raw
Documentation/cdrom/cdrom-standard.rst +2 -2
index 7964fe134277..6c1303cff159 100644
@@ -217,7 +217,7 @@ current *struct* is::
 		int (*media_changed)(struct cdrom_device_info *, int);
 		int (*tray_move)(struct cdrom_device_info *, int);
 		int (*lock_door)(struct cdrom_device_info *, int);
-		int (*select_speed)(struct cdrom_device_info *, int);
+		int (*select_speed)(struct cdrom_device_info *, unsigned long);
 		int (*get_last_session) (struct cdrom_device_info *,
 					 struct cdrom_multisession *);
 		int (*get_mcn)(struct cdrom_device_info *, struct cdrom_mcn *);
@@ -396,7 +396,7 @@ action need be taken, and the return value should be 0.
 
 ::
 
-	int select_speed(struct cdrom_device_info *cdi, int speed)
+	int select_speed(struct cdrom_device_info *cdi, unsigned long speed)
 
 Some CD-ROM drives are capable of changing their head-speed. There
 are several reasons for changing the speed of a CD-ROM drive. Badly
Makefile +1 -1
index 5471f554f95e..46457f645921 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 6
 PATCHLEVEL = 9
-SUBLEVEL = 10
+SUBLEVEL = 11
 EXTRAVERSION =
 NAME = Hurr durr I'ma ninja sloth
 
arch/arm64/kernel/armv8_deprecated.c +3 -0
index dd6ce86d4332..b776e7424fe9 100644
@@ -462,6 +462,9 @@ static int run_all_insn_set_hw_mode(unsigned int cpu)
 	for (int i = 0; i < ARRAY_SIZE(insn_emulations); i++) {
 		struct insn_emulation *insn = insn_emulations[i];
 		bool enable = READ_ONCE(insn->current_mode) == INSN_HW;
+		if (insn->status == INSN_UNAVAILABLE)
+			continue;
+
 		if (insn->set_hw_mode && insn->set_hw_mode(enable)) {
 			pr_warn("CPU[%u] cannot support the emulation of %s",
 				cpu, insn->name);
arch/loongarch/boot/dts/loongson-2k0500-ref.dts +2 -2
index 8aefb0c12672..a34734a6c3ce 100644
@@ -44,14 +44,14 @@ linux,cma {
 &gmac0 {
 	status = "okay";
 
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-id";
 	bus_id = <0x0>;
 };
 
 &gmac1 {
 	status = "okay";
 
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-id";
 	bus_id = <0x1>;
 };
 
arch/loongarch/boot/dts/loongson-2k1000-ref.dts +2 -2
index ed4d32434041..aaf41b565805 100644
@@ -43,7 +43,7 @@ linux,cma {
 &gmac0 {
 	status = "okay";
 
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-id";
 	phy-handle = <&phy0>;
 	mdio {
 		compatible = "snps,dwmac-mdio";
@@ -58,7 +58,7 @@ phy0: ethernet-phy@0 {
 &gmac1 {
 	status = "okay";
 
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-id";
 	phy-handle = <&phy1>;
 	mdio {
 		compatible = "snps,dwmac-mdio";
arch/loongarch/boot/dts/loongson-2k2000-ref.dts +1 -1
index 74b99bd234cc..ea9e6985d0e9 100644
@@ -92,7 +92,7 @@ phy1: ethernet-phy@1 {
 &gmac2 {
 	status = "okay";
 
-	phy-mode = "rgmii";
+	phy-mode = "rgmii-id";
 	phy-handle = <&phy2>;
 	mdio {
 		compatible = "snps,dwmac-mdio";
arch/mips/kernel/syscalls/syscall_o32.tbl +1 -1
index 0352c07c608e..fe76282a353f 100644
@@ -27,7 +27,7 @@
 17	o32	break				sys_ni_syscall
 # 18 was sys_stat
 18	o32	unused18			sys_ni_syscall
-19	o32	lseek				sys_lseek
+19	o32	lseek				sys_lseek			compat_sys_lseek
 20	o32	getpid				sys_getpid
 21	o32	mount				sys_mount
 22	o32	umount				sys_oldumount
arch/powerpc/kernel/eeh_pe.c +5 -2
index e0ce81279624..7d1b50599dd6 100644
@@ -849,6 +849,7 @@ struct pci_bus *eeh_pe_bus_get(struct eeh_pe *pe)
 {
 	struct eeh_dev *edev;
 	struct pci_dev *pdev;
+	struct pci_bus *bus = NULL;
 
 	if (pe->type & EEH_PE_PHB)
 		return pe->phb->bus;
@@ -859,9 +860,11 @@ struct pci_bus *eeh_pe_bus_get(struct eeh_pe *pe)
 
 	/* Retrieve the parent PCI bus of first (top) PCI device */
 	edev = list_first_entry_or_null(&pe->edevs, struct eeh_dev, entry);
+	pci_lock_rescan_remove();
 	pdev = eeh_dev_to_pci_dev(edev);
 	if (pdev)
-		return pdev->bus;
+		bus = pdev->bus;
+	pci_unlock_rescan_remove();
 
-	return NULL;
+	return bus;
 }
arch/powerpc/kvm/book3s_64_vio.c +13 -5
index b569ebaa590e..3ff3de9a52ac 100644
@@ -130,14 +130,16 @@ long kvm_spapr_tce_attach_iommu_group(struct kvm *kvm, int tablefd,
 	}
 	rcu_read_unlock();
 
-	fdput(f);
-
-	if (!found)
+	if (!found) {
+		fdput(f);
 		return -EINVAL;
+	}
 
 	table_group = iommu_group_get_iommudata(grp);
-	if (WARN_ON(!table_group))
+	if (WARN_ON(!table_group)) {
+		fdput(f);
 		return -EFAULT;
+	}
 
 	for (i = 0; i < IOMMU_TABLE_GROUP_MAX_TABLES; ++i) {
 		struct iommu_table *tbltmp = table_group->tables[i];
@@ -158,8 +160,10 @@ long kvm_spapr_tce_attach_iommu_group(struct kvm *kvm, int tablefd,
 			break;
 		}
 	}
-	if (!tbl)
+	if (!tbl) {
+		fdput(f);
 		return -EINVAL;
+	}
 
 	rcu_read_lock();
 	list_for_each_entry_rcu(stit, &stt->iommu_tables, next) {
@@ -170,6 +174,7 @@ long kvm_spapr_tce_attach_iommu_group(struct kvm *kvm, int tablefd,
 			/* stit is being destroyed */
 			iommu_tce_table_put(tbl);
 			rcu_read_unlock();
+			fdput(f);
 			return -ENOTTY;
 		}
 		/*
@@ -177,6 +182,7 @@ long kvm_spapr_tce_attach_iommu_group(struct kvm *kvm, int tablefd,
 		 * its KVM reference counter and can return.
 		 */
 		rcu_read_unlock();
+		fdput(f);
 		return 0;
 	}
 	rcu_read_unlock();
@@ -184,6 +190,7 @@ long kvm_spapr_tce_attach_iommu_group(struct kvm *kvm, int tablefd,
 	stit = kzalloc(sizeof(*stit), GFP_KERNEL);
 	if (!stit) {
 		iommu_tce_table_put(tbl);
+		fdput(f);
 		return -ENOMEM;
 	}
 
@@ -192,6 +199,7 @@ long kvm_spapr_tce_attach_iommu_group(struct kvm *kvm, int tablefd,
 
 	list_add_rcu(&stit->next, &stt->iommu_tables);
 
+	fdput(f);
 	return 0;
 }
 
arch/powerpc/platforms/pseries/setup.c +2 -2
index b44de0f0822f..b10a25325238 100644
@@ -343,8 +343,8 @@ static int alloc_dispatch_log_kmem_cache(void)
 {
 	void (*ctor)(void *) = get_dtl_cache_ctor();
 
-	dtl_cache = kmem_cache_create("dtl", DISPATCH_LOG_BYTES,
-						DISPATCH_LOG_BYTES, 0, ctor);
+	dtl_cache = kmem_cache_create_usercopy("dtl", DISPATCH_LOG_BYTES,
+						DISPATCH_LOG_BYTES, 0, 0, DISPATCH_LOG_BYTES, ctor);
 	if (!dtl_cache) {
 		pr_warn("Failed to create dispatch trace log buffer cache\n");
 		pr_warn("Stolen time statistics will be unreliable\n");
arch/riscv/kernel/stacktrace.c +2 -1
index 0d3f00eb0bae..10e311b2759d 100644
@@ -32,6 +32,7 @@ void notrace walk_stackframe(struct task_struct *task, struct pt_regs *regs,
 			     bool (*fn)(void *, unsigned long), void *arg)
 {
 	unsigned long fp, sp, pc;
+	int graph_idx = 0;
 	int level = 0;
 
 	if (regs) {
@@ -68,7 +69,7 @@ void notrace walk_stackframe(struct task_struct *task, struct pt_regs *regs,
 			pc = regs->ra;
 		} else {
 			fp = frame->fp;
-			pc = ftrace_graph_ret_addr(current, NULL, frame->ra,
+			pc = ftrace_graph_ret_addr(current, &graph_idx, frame->ra,
 						   &frame->ra);
 			if (pc == (unsigned long)ret_from_exception) {
 				if (unlikely(!__kernel_text_address(pc) || !fn(arg, pc)))
drivers/acpi/ac.c +2 -2
index 2d4a35e6dd18..09a87fa222c7 100644
@@ -145,7 +145,7 @@ static void acpi_ac_notify(acpi_handle handle, u32 event, void *data)
 						  dev_name(&adev->dev), event,
 						  (u32) ac->state);
 		acpi_notifier_call_chain(adev, event, (u32) ac->state);
-		kobject_uevent(&ac->charger->dev.kobj, KOBJ_CHANGE);
+		power_supply_changed(ac->charger);
 	}
 }
 
@@ -268,7 +268,7 @@ static int acpi_ac_resume(struct device *dev)
 	if (acpi_ac_get_state(ac))
 		return 0;
 	if (old_state != ac->state)
-		kobject_uevent(&ac->charger->dev.kobj, KOBJ_CHANGE);
+		power_supply_changed(ac->charger);
 
 	return 0;
 }
drivers/acpi/ec.c +7 -2
index 1cec29ab64ce..299ec653388c 100644
@@ -1333,10 +1333,13 @@ acpi_ec_space_handler(u32 function, acpi_physical_address address,
 	if (ec->busy_polling || bits > 8)
 		acpi_ec_burst_enable(ec);
 
-	for (i = 0; i < bytes; ++i, ++address, ++value)
+	for (i = 0; i < bytes; ++i, ++address, ++value) {
 		result = (function == ACPI_READ) ?
 			acpi_ec_read(ec, address, value) :
 			acpi_ec_write(ec, address, *value);
+		if (result < 0)
+			break;
+	}
 
 	if (ec->busy_polling || bits > 8)
 		acpi_ec_burst_disable(ec);
@@ -1348,8 +1351,10 @@ acpi_ec_space_handler(u32 function, acpi_physical_address address,
 		return AE_NOT_FOUND;
 	case -ETIME:
 		return AE_TIME;
-	default:
+	case 0:
 		return AE_OK;
+	default:
+		return AE_ERROR;
 	}
 }
 
drivers/acpi/sbs.c +2 -2
index 94e3c000df2e..dc8164b182dc 100644
@@ -610,7 +610,7 @@ static void acpi_sbs_callback(void *context)
 	if (sbs->charger_exists) {
 		acpi_ac_get_present(sbs);
 		if (sbs->charger_present != saved_charger_state)
-			kobject_uevent(&sbs->charger->dev.kobj, KOBJ_CHANGE);
+			power_supply_changed(sbs->charger);
 	}
 
 	if (sbs->manager_present) {
@@ -622,7 +622,7 @@ static void acpi_sbs_callback(void *context)
 			acpi_battery_read(bat);
 			if (saved_battery_state == bat->present)
 				continue;
-			kobject_uevent(&bat->bat->dev.kobj, KOBJ_CHANGE);
+			power_supply_changed(bat->bat);
 		}
 	}
 }
drivers/block/loop.c +23 -0
index 28a95fd366fe..95a468eaa701 100644
@@ -302,6 +302,21 @@ static int lo_read_simple(struct loop_device *lo, struct request *rq,
 	return 0;
 }
 
+static void loop_clear_limits(struct loop_device *lo, int mode)
+{
+	struct queue_limits lim = queue_limits_start_update(lo->lo_queue);
+
+	if (mode & FALLOC_FL_ZERO_RANGE)
+		lim.max_write_zeroes_sectors = 0;
+
+	if (mode & FALLOC_FL_PUNCH_HOLE) {
+		lim.max_hw_discard_sectors = 0;
+		lim.discard_granularity = 0;
+	}
+
+	queue_limits_commit_update(lo->lo_queue, &lim);
+}
+
 static int lo_fallocate(struct loop_device *lo, struct request *rq, loff_t pos,
 			int mode)
 {
@@ -320,6 +335,14 @@ static int lo_fallocate(struct loop_device *lo, struct request *rq, loff_t pos,
 	ret = file->f_op->fallocate(file, mode, pos, blk_rq_bytes(rq));
 	if (unlikely(ret && ret != -EINVAL && ret != -EOPNOTSUPP))
 		return -EIO;
+
+	/*
+	 * We initially configure the limits in a hope that fallocate is
+	 * supported and clear them here if that turns out not to be true.
+	 */
+	if (unlikely(ret == -EOPNOTSUPP))
+		loop_clear_limits(lo, mode);
+
 	return ret;
 }
 
drivers/block/null_blk/main.c +2 -2
index 620679a0ac38..26e2c22a87e1 100644
@@ -1810,8 +1810,8 @@ static int null_validate_conf(struct nullb_device *dev)
 		dev->queue_mode = NULL_Q_MQ;
 	}
 
-	dev->blocksize = round_down(dev->blocksize, 512);
-	dev->blocksize = clamp_t(unsigned int, dev->blocksize, 512, 4096);
+	if (blk_validate_block_size(dev->blocksize))
+		return -EINVAL;
 
 	if (dev->use_per_node_hctx) {
 		if (dev->submit_queues != nr_online_nodes)
drivers/bluetooth/btnxpuart.c +1 -1
index 9d0c7e278114..9bfa9a6ad56c 100644
@@ -281,7 +281,7 @@ static u8 crc8_table[CRC8_TABLE_SIZE];
 
 /* Default configurations */
 #define DEFAULT_H2C_WAKEUP_MODE	WAKEUP_METHOD_BREAK
-#define DEFAULT_PS_MODE		PS_MODE_DISABLE
+#define DEFAULT_PS_MODE		PS_MODE_ENABLE
 #define FW_INIT_BAUDRATE	HCI_NXP_PRI_BAUDRATE
 
 static struct sk_buff *nxp_drv_send_cmd(struct hci_dev *hdev, u16 opcode,
drivers/clk/qcom/apss-ipq-pll.c +0 -2
index d7ab5bd5d4b4..e12bb9abf6b6 100644
@@ -100,7 +100,6 @@ static struct clk_alpha_pll ipq_pll_stromer_plus = {
 static const struct alpha_pll_config ipq5018_pll_config = {
 	.l = 0x2a,
 	.config_ctl_val = 0x4001075b,
-	.config_ctl_hi_val = 0x304,
 	.main_output_mask = BIT(0),
 	.aux_output_mask = BIT(1),
 	.early_output_mask = BIT(3),
@@ -114,7 +113,6 @@ static const struct alpha_pll_config ipq5018_pll_config = {
 static const struct alpha_pll_config ipq5332_pll_config = {
 	.l = 0x2d,
 	.config_ctl_val = 0x4001075b,
-	.config_ctl_hi_val = 0x304,
 	.main_output_mask = BIT(0),
 	.aux_output_mask = BIT(1),
 	.early_output_mask = BIT(3),
drivers/firmware/efi/libstub/zboot.lds +1 -0
index ac8c0ef85158..af2c82f7bd90 100644
@@ -41,6 +41,7 @@ SECTIONS
 	}
 
 	/DISCARD/ : {
+		*(.discard .discard.*)
 		*(.modinfo .init.modinfo)
 	}
 }
drivers/gpio/gpio-pca953x.c +2 -0
index 00ffa168e405..f2f40393e369 100644
@@ -758,6 +758,8 @@ static void pca953x_irq_bus_sync_unlock(struct irq_data *d)
 	int level;
 
 	if (chip->driver_data & PCA_PCAL) {
+		guard(mutex)(&chip->i2c_lock);
+
 		/* Enable latch on interrupt-enabled inputs */
 		pca953x_write_regs(chip, PCAL953X_IN_LATCH, chip->irq_mask);
 
drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c +13 -2
index d89d6829f1df..b10fdd8b5414 100644
@@ -4187,9 +4187,10 @@ static u32 gfx_v9_4_3_get_cu_active_bitmap(struct amdgpu_device *adev, int xcc_i
 static int gfx_v9_4_3_get_cu_info(struct amdgpu_device *adev,
 				 struct amdgpu_cu_info *cu_info)
 {
-	int i, j, k, counter, xcc_id, active_cu_number = 0;
-	u32 mask, bitmap, ao_bitmap, ao_cu_mask = 0;
+	int i, j, k, prev_counter, counter, xcc_id, active_cu_number = 0;
+	u32 mask, bitmap, ao_bitmap, ao_cu_mask = 0, tmp;
 	unsigned disable_masks[4 * 4];
+	bool is_symmetric_cus;
 
 	if (!adev || !cu_info)
 		return -EINVAL;
@@ -4207,6 +4208,7 @@ static int gfx_v9_4_3_get_cu_info(struct amdgpu_device *adev,
 
 	mutex_lock(&adev->grbm_idx_mutex);
 	for (xcc_id = 0; xcc_id < NUM_XCC(adev->gfx.xcc_mask); xcc_id++) {
+		is_symmetric_cus = true;
 		for (i = 0; i < adev->gfx.config.max_shader_engines; i++) {
 			for (j = 0; j < adev->gfx.config.max_sh_per_se; j++) {
 				mask = 1;
@@ -4234,6 +4236,15 @@ static int gfx_v9_4_3_get_cu_info(struct amdgpu_device *adev,
 					ao_cu_mask |= (ao_bitmap << (i * 16 + j * 8));
 				cu_info->ao_cu_bitmap[i][j] = ao_bitmap;
 			}
+			if (i && is_symmetric_cus && prev_counter != counter)
+				is_symmetric_cus = false;
+			prev_counter = counter;
+		}
+		if (is_symmetric_cus) {
+			tmp = RREG32_SOC15(GC, GET_INST(GC, xcc_id), regCP_CPC_DEBUG);
+			tmp = REG_SET_FIELD(tmp, CP_CPC_DEBUG, CPC_HARVESTING_RELAUNCH_DISABLE, 1);
+			tmp = REG_SET_FIELD(tmp, CP_CPC_DEBUG, CPC_HARVESTING_DISPATCH_DISABLE, 1);
+			WREG32_SOC15(GC, GET_INST(GC, xcc_id), regCP_CPC_DEBUG, tmp);
 		}
 		gfx_v9_4_3_xcc_select_se_sh(adev, 0xffffffff, 0xffffffff, 0xffffffff,
 					    xcc_id);
drivers/gpu/drm/amd/amdgpu/psp_v14_0.c +5 -0
index 78a95f8f370b..238abd98072a 100644
@@ -32,7 +32,9 @@
 #include "mp/mp_14_0_2_sh_mask.h"
 
 MODULE_FIRMWARE("amdgpu/psp_14_0_2_sos.bin");
+MODULE_FIRMWARE("amdgpu/psp_14_0_2_ta.bin");
 MODULE_FIRMWARE("amdgpu/psp_14_0_3_sos.bin");
+MODULE_FIRMWARE("amdgpu/psp_14_0_3_ta.bin");
 
 /* For large FW files the time to complete can be very long */
 #define USBC_PD_POLLING_LIMIT_S 240
@@ -64,6 +66,9 @@ static int psp_v14_0_init_microcode(struct psp_context *psp)
 	case IP_VERSION(14, 0, 2):
 	case IP_VERSION(14, 0, 3):
 		err = psp_init_sos_microcode(psp, ucode_prefix);
+		if (err)
+			return err;
+		err = psp_init_ta_microcode(psp, ucode_prefix);
 		if (err)
 			return err;
 		break;
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +51 -1

72 lines not on this page · raw message

drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_32.c +3 -0
index 6c84b0fa40f4..0782a34689a0 100644
@@ -3364,6 +3364,9 @@ void dml32_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
 							&mode_lib->vba.UrgentBurstFactorLumaPre[k],
 							&mode_lib->vba.UrgentBurstFactorChromaPre[k],
 							&mode_lib->vba.NotUrgentLatencyHidingPre[k]);
+
+					v->cursor_bw_pre[k] = mode_lib->vba.NumberOfCursors[k] * mode_lib->vba.CursorWidth[k][0] * mode_lib->vba.CursorBPP[k][0] /
+							8.0 / (mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k]) * v->VRatioPreY[i][j][k];
 				}
 
 				{
drivers/gpu/drm/amd/display/dc/dml/dcn35/dcn35_fpu.c +1 -1
index 53e40d3c48d4..6716696df771 100644
@@ -177,7 +177,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_5_soc = {
 	.urgent_latency_pixel_data_only_us = 4.0,
 	.urgent_latency_pixel_mixed_with_vm_data_us = 4.0,
 	.urgent_latency_vm_data_only_us = 4.0,
-	.dram_clock_change_latency_us = 11.72,
+	.dram_clock_change_latency_us = 34.0,
 	.urgent_out_of_order_return_per_channel_pixel_only_bytes = 4096,
 	.urgent_out_of_order_return_per_channel_pixel_and_vm_bytes = 4096,
 	.urgent_out_of_order_return_per_channel_vm_only_bytes = 4096,
drivers/gpu/drm/amd/display/dc/dml/dcn351/dcn351_fpu.c +1 -1
index b3ffab77cf88..40ca38dd1b23 100644
@@ -215,7 +215,7 @@ struct _vcs_dpi_soc_bounding_box_st dcn3_51_soc = {
 	.urgent_latency_pixel_data_only_us = 4.0,
 	.urgent_latency_pixel_mixed_with_vm_data_us = 4.0,
 	.urgent_latency_vm_data_only_us = 4.0,
-	.dram_clock_change_latency_us = 11.72,
+	.dram_clock_change_latency_us = 34,
 	.urgent_out_of_order_return_per_channel_pixel_only_bytes = 4096,
 	.urgent_out_of_order_return_per_channel_pixel_and_vm_bytes = 4096,
 	.urgent_out_of_order_return_per_channel_vm_only_bytes = 4096,
drivers/gpu/drm/amd/display/dc/dml2/dml2_translation_helper.c +1 -0
index a20f28a5d2e7..3af759dca6eb 100644
@@ -233,6 +233,7 @@ void dml2_init_socbb_params(struct dml2_context *dml2, const struct dc *in_dc, s
 		out->round_trip_ping_latency_dcfclk_cycles = 106;
 		out->smn_latency_us = 2;
 		out->dispclk_dppclk_vco_speed_mhz = 3600;
+		out->pct_ideal_dram_bw_after_urgent_pixel_only = 65.0;
 		break;
 
 	}
drivers/gpu/drm/amd/display/dc/dml2/dml2_utils.c +1 -1
index b72ed3e78df0..bb4e812248ae 100644
@@ -294,7 +294,7 @@ void dml2_calculate_rq_and_dlg_params(const struct dc *dc, struct dc_state *cont
 	context->bw_ctx.bw.dcn.clk.dcfclk_deep_sleep_khz = (unsigned int)in_ctx->v20.dml_core_ctx.mp.DCFCLKDeepSleep * 1000;
 	context->bw_ctx.bw.dcn.clk.dppclk_khz = 0;
 
-	if (in_ctx->v20.dml_core_ctx.ms.support.FCLKChangeSupport[in_ctx->v20.scratch.mode_support_params.out_lowest_state_idx] == dml_fclock_change_unsupported)
+	if (in_ctx->v20.dml_core_ctx.ms.support.FCLKChangeSupport[0] == dml_fclock_change_unsupported)
 		context->bw_ctx.bw.dcn.clk.fclk_p_state_change_support = false;
 	else
 		context->bw_ctx.bw.dcn.clk.fclk_p_state_change_support = true;
drivers/gpu/drm/amd/include/pptable.h +49 -42

177 lines not on this page · raw message

drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +13 -0
index 65333141b1c1..5a2247018229 100644
@@ -323,6 +323,18 @@ static int smu_dpm_set_umsch_mm_enable(struct smu_context *smu,
 	return ret;
 }
 
+static int smu_set_mall_enable(struct smu_context *smu)
+{
+	int ret = 0;
+
+	if (!smu->ppt_funcs->set_mall_enable)
+		return 0;
+
+	ret = smu->ppt_funcs->set_mall_enable(smu);
+
+	return ret;
+}
+
 /**
  * smu_dpm_set_power_gate - power gate/ungate the specific IP block
  *
@@ -1785,6 +1797,7 @@ static int smu_hw_init(void *handle)
 		smu_dpm_set_jpeg_enable(smu, true);
 		smu_dpm_set_vpe_enable(smu, true);
 		smu_dpm_set_umsch_mm_enable(smu, true);
+		smu_set_mall_enable(smu);
 		smu_set_gfx_cgpg(smu, true);
 	}
 
drivers/gpu/drm/amd/pm/swsmu/inc/amdgpu_smu.h +5 -0
index 1fa81575788c..8667e8c9d7e7 100644
@@ -1391,6 +1391,11 @@ struct pptable_funcs {
 	 */
 	int (*dpm_set_umsch_mm_enable)(struct smu_context *smu, bool enable);
 
+	/**
+	 * @set_mall_enable: Init MALL power gating control.
+	 */
+	int (*set_mall_enable)(struct smu_context *smu);
+
 	/**
 	 * @notify_rlc_state: Notify RLC power state to SMU.
 	 */
drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/smu_v14_0_0_ppsmc.h +2 -2
index c4dc5881d8df..e7f5ef49049f 100644
@@ -106,8 +106,8 @@
 #define PPSMC_MSG_DisableLSdma                  0x35 ///< Disable LSDMA
 #define PPSMC_MSG_SetSoftMaxVpe                 0x36 ///<
 #define PPSMC_MSG_SetSoftMinVpe                 0x37 ///<
-#define PPSMC_MSG_AllocMALLCache                0x38 ///< Allocating MALL Cache
-#define PPSMC_MSG_ReleaseMALLCache              0x39 ///< Releasing MALL Cache
+#define PPSMC_MSG_MALLPowerController           0x38 ///< Set MALL control
+#define PPSMC_MSG_MALLPowerState                0x39 ///< Enter/Exit MALL PG
 #define PPSMC_Message_Count                     0x3A ///< Total number of PPSMC messages
 /** @}*/
 
drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h +3 -1
index af427cc7dbb8..4a7404856b96 100644
@@ -272,7 +272,9 @@
 	__SMU_DUMMY_MAP(SetSoftMinVpe), \
 	__SMU_DUMMY_MAP(GetMetricsVersion), \
 	__SMU_DUMMY_MAP(EnableUCLKShadow), \
-	__SMU_DUMMY_MAP(RmaDueToBadPageThreshold),
+	__SMU_DUMMY_MAP(RmaDueToBadPageThreshold), \
+	__SMU_DUMMY_MAP(MALLPowerController), \
+	__SMU_DUMMY_MAP(MALLPowerState),
 
 #undef __SMU_DUMMY_MAP
 #define __SMU_DUMMY_MAP(type)	SMU_MSG_##type
drivers/gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_0_ppt.c +73 -0

103 lines not on this page · raw message

drivers/gpu/drm/drm_panel_orientation_quirks.c +6 -0
index 426bbee2d9f5..5db52d6c5c35 100644
@@ -202,6 +202,12 @@ static const struct dmi_system_id orientation_data[] = {
 		  DMI_MATCH(DMI_BOARD_NAME, "NEXT"),
 		},
 		.driver_data = (void *)&lcd800x1280_rightside_up,
+	}, {	/* AYA NEO KUN */
+		.matches = {
+		  DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
+		  DMI_MATCH(DMI_BOARD_NAME, "KUN"),
+		},
+		.driver_data = (void *)&lcd1600x2560_rightside_up,
 	}, {	/* Chuwi HiBook (CWI514) */
 		.matches = {
 			DMI_MATCH(DMI_BOARD_VENDOR, "Hampoo"),
drivers/gpu/drm/exynos/exynos_dp.c +0 -1
index f48c4343f469..3e6d4c6aa877 100644
@@ -285,7 +285,6 @@ struct platform_driver dp_driver = {
 	.remove_new	= exynos_dp_remove,
 	.driver		= {
 		.name	= "exynos-dp",
-		.owner	= THIS_MODULE,
 		.pm	= pm_ptr(&exynos_dp_pm_ops),
 		.of_match_table = exynos_dp_match,
 	},
drivers/gpu/drm/mediatek/mtk_drm_drv.c +8 -0
index 74832c213092..0b570e194079 100644
@@ -950,6 +950,13 @@ static void mtk_drm_remove(struct platform_device *pdev)
 		of_node_put(private->comp_node[i]);
 }
 
+static void mtk_drm_shutdown(struct platform_device *pdev)
+{
+	struct mtk_drm_private *private = platform_get_drvdata(pdev);
+
+	drm_atomic_helper_shutdown(private->drm);
+}
+
 static int mtk_drm_sys_prepare(struct device *dev)
 {
 	struct mtk_drm_private *private = dev_get_drvdata(dev);
@@ -981,6 +988,7 @@ static const struct dev_pm_ops mtk_drm_pm_ops = {
 static struct platform_driver mtk_drm_platform_driver = {
 	.probe	= mtk_drm_probe,
 	.remove_new = mtk_drm_remove,
+	.shutdown = mtk_drm_shutdown,
 	.driver	= {
 		.name	= "mediatek-drm",
 		.pm     = &mtk_drm_pm_ops,
drivers/gpu/drm/radeon/radeon_gem.c +1 -1
index 3fec3acdaf28..27225d1fe8d2 100644
@@ -641,7 +641,7 @@ static void radeon_gem_va_update_vm(struct radeon_device *rdev,
 	if (r)
 		goto error_unlock;
 
-	if (bo_va->it.start)
+	if (bo_va->it.start && bo_va->bo)
 		r = radeon_vm_bo_update(rdev, bo_va, bo_va->bo->tbo.resource);
 
 error_unlock:
drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c +8 -0
index e83c3e52251d..0250d5f00bf1 100644
@@ -171,6 +171,13 @@ static void shmob_drm_remove(struct platform_device *pdev)
 	drm_kms_helper_poll_fini(ddev);
 }
 
+static void shmob_drm_shutdown(struct platform_device *pdev)
+{
+	struct shmob_drm_device *sdev = platform_get_drvdata(pdev);
+
+	drm_atomic_helper_shutdown(&sdev->ddev);
+}
+
 static int shmob_drm_probe(struct platform_device *pdev)
 {
 	struct shmob_drm_platform_data *pdata = pdev->dev.platform_data;
@@ -273,6 +280,7 @@ static const struct of_device_id shmob_drm_of_table[] __maybe_unused = {
 static struct platform_driver shmob_drm_platform_driver = {
 	.probe		= shmob_drm_probe,
 	.remove_new	= shmob_drm_remove,
+	.shutdown	= shmob_drm_shutdown,
 	.driver		= {
 		.name	= "shmob-drm",
 		.of_match_table = of_match_ptr(shmob_drm_of_table),
drivers/gpu/drm/vmwgfx/Kconfig +1 -1
index faddae3d6ac2..6f1ac940cbae 100644
@@ -2,7 +2,7 @@
 config DRM_VMWGFX
 	tristate "DRM driver for VMware Virtual GPU"
 	depends on DRM && PCI && MMU
-	depends on X86 || ARM64
+	depends on (X86 && HYPERVISOR_GUEST) || ARM64
 	select DRM_TTM
 	select DRM_TTM_HELPER
 	select MAPPING_DIRTY_HELPERS
drivers/hid/hid-debug.c +2 -0
index 7dd83ec74f8a..5302bfd527d8 100644
@@ -974,6 +974,8 @@ static const char *keys[KEY_MAX + 1] = {
 	[KEY_CAMERA_ACCESS_ENABLE] = "CameraAccessEnable",
 	[KEY_CAMERA_ACCESS_DISABLE] = "CameraAccessDisable",
 	[KEY_CAMERA_ACCESS_TOGGLE] = "CameraAccessToggle",
+	[KEY_ACCESSIBILITY] = "Accessibility",
+	[KEY_DO_NOT_DISTURB] = "DoNotDisturb",
 	[KEY_DICTATE] = "Dictate",
 	[KEY_MICMUTE] = "MicrophoneMute",
 	[KEY_BRIGHTNESS_MIN] = "BrightnessMin",
drivers/hid/hid-ids.h +2 -0
index 68b0f39deaa9..8eb073dea359 100644
@@ -421,6 +421,8 @@
 #define I2C_DEVICE_ID_HP_SPECTRE_X360_13_AW0020NG  0x29DF
 #define I2C_DEVICE_ID_ASUS_TP420IA_TOUCHSCREEN 0x2BC8
 #define I2C_DEVICE_ID_ASUS_GV301RA_TOUCHSCREEN 0x2C82
+#define I2C_DEVICE_ID_ASUS_UX3402_TOUCHSCREEN 0x2F2C
+#define I2C_DEVICE_ID_ASUS_UX6404_TOUCHSCREEN 0x4116
 #define USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN	0x2544
 #define USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN	0x2706
 #define I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN	0x261A
drivers/hid/hid-input.c +13 -0
index e03d300d2bac..c9094a4f281e 100644
@@ -377,6 +377,10 @@ static const struct hid_device_id hid_battery_quirks[] = {
 	  HID_BATTERY_QUIRK_IGNORE },
 	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_GV301RA_TOUCHSCREEN),
 	  HID_BATTERY_QUIRK_IGNORE },
+	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_UX3402_TOUCHSCREEN),
+	  HID_BATTERY_QUIRK_IGNORE },
+	{ HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_ASUS_UX6404_TOUCHSCREEN),
+	  HID_BATTERY_QUIRK_IGNORE },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN),
 	  HID_BATTERY_QUIRK_IGNORE },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN),
@@ -833,9 +837,18 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
 			break;
 		}
 
+		if ((usage->hid & 0xf0) == 0x90) { /* SystemControl*/
+			switch (usage->hid & 0xf) {
+			case 0xb: map_key_clear(KEY_DO_NOT_DISTURB); break;
+			default: goto ignore;
+			}
+			break;
+		}
+
 		if ((usage->hid & 0xf0) == 0xa0) {	/* SystemControl */
 			switch (usage->hid & 0xf) {
 			case 0x9: map_key_clear(KEY_MICMUTE); break;
+			case 0xa: map_key_clear(KEY_ACCESSIBILITY); break;
 			default: goto ignore;
 			}
 			break;
drivers/input/joystick/xpad.c +1 -0
index 6fadaddb2b90..3a5af0909233 100644
@@ -209,6 +209,7 @@ static const struct xpad_device {
 	{ 0x0738, 0xf738, "Super SFIV FightStick TE S", 0, XTYPE_XBOX360 },
 	{ 0x07ff, 0xffff, "Mad Catz GamePad", 0, XTYPE_XBOX360 },
 	{ 0x0b05, 0x1a38, "ASUS ROG RAIKIRI", 0, XTYPE_XBOXONE },
+	{ 0x0b05, 0x1abb, "ASUS ROG RAIKIRI PRO", 0, XTYPE_XBOXONE },
 	{ 0x0c12, 0x0005, "Intec wireless", 0, XTYPE_XBOX },
 	{ 0x0c12, 0x8801, "Nyko Xbox Controller", 0, XTYPE_XBOX },
 	{ 0x0c12, 0x8802, "Zeroplus Xbox Controller", 0, XTYPE_XBOX },
drivers/input/mouse/elantech.c +31 -0
index 4e38229404b4..b4723ea395eb 100644
@@ -1476,16 +1476,47 @@ static void elantech_disconnect(struct psmouse *psmouse)
 	psmouse->private = NULL;
 }
 
+/*
+ * Some hw_version 4 models fail to properly activate absolute mode on
+ * resume without going through disable/enable cycle.
+ */
+static const struct dmi_system_id elantech_needs_reenable[] = {
+#if defined(CONFIG_DMI) && defined(CONFIG_X86)
+	{
+		/* Lenovo N24 */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "81AF"),
+		},
+	},
+#endif
+	{ }
+};
+
 /*
  * Put the touchpad back into absolute mode when reconnecting
  */
 static int elantech_reconnect(struct psmouse *psmouse)
 {
+	int err;
+
 	psmouse_reset(psmouse);
 
 	if (elantech_detect(psmouse, 0))
 		return -1;
 
+	if (dmi_check_system(elantech_needs_reenable)) {
+		err = ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_DISABLE);
+		if (err)
+			psmouse_warn(psmouse, "failed to deactivate mouse on %s: %d\n",
+				     psmouse->ps2dev.serio->phys, err);
+
+		err = ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_ENABLE);
+		if (err)
+			psmouse_warn(psmouse, "failed to reactivate mouse on %s: %d\n",
+				     psmouse->ps2dev.serio->phys, err);
+	}
+
 	if (elantech_set_absolute_mode(psmouse)) {
 		psmouse_err(psmouse,
 			    "failed to put touchpad back into absolute mode.\n");
drivers/input/serio/i8042-acpipnpio.h +16 -2
index dfc6c581873b..5b50475ec414 100644
@@ -76,7 +76,7 @@ static inline void i8042_write_command(int val)
 #define SERIO_QUIRK_PROBE_DEFER		BIT(5)
 #define SERIO_QUIRK_RESET_ALWAYS	BIT(6)
 #define SERIO_QUIRK_RESET_NEVER		BIT(7)
-#define SERIO_QUIRK_DIECT		BIT(8)
+#define SERIO_QUIRK_DIRECT		BIT(8)
 #define SERIO_QUIRK_DUMBKBD		BIT(9)
 #define SERIO_QUIRK_NOLOOP		BIT(10)
 #define SERIO_QUIRK_NOTIMEOUT		BIT(11)
@@ -1332,6 +1332,20 @@ static const struct dmi_system_id i8042_dmi_quirk_table[] __initconst = {
 		.driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS |
 					SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP)
 	},
+	{
+		/*
+		 * The Ayaneo Kun is a handheld device where some the buttons
+		 * are handled by an AT keyboard. The keyboard is usually
+		 * detected as raw, but sometimes, usually after a cold boot,
+		 * it is detected as translated. Make sure that the keyboard
+		 * is always in raw mode.
+		 */
+		.matches = {
+			DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"),
+			DMI_MATCH(DMI_BOARD_NAME, "KUN"),
+		},
+		.driver_data = (void *)(SERIO_QUIRK_DIRECT)
+	},
 	{ }
 };
 
@@ -1655,7 +1669,7 @@ static void __init i8042_check_quirks(void)
 		if (quirks & SERIO_QUIRK_RESET_NEVER)
 			i8042_reset = I8042_RESET_NEVER;
 	}
-	if (quirks & SERIO_QUIRK_DIECT)
+	if (quirks & SERIO_QUIRK_DIRECT)
 		i8042_direct = true;
 	if (quirks & SERIO_QUIRK_DUMBKBD)
 		i8042_dumbkbd = true;
drivers/input/touchscreen/ads7846.c +11 -1
index d2bbb436a77d..4d13db13b9e5 100644
@@ -1111,6 +1111,16 @@ static const struct of_device_id ads7846_dt_ids[] = {
 };
 MODULE_DEVICE_TABLE(of, ads7846_dt_ids);
 
+static const struct spi_device_id ads7846_spi_ids[] = {
+	{ "tsc2046", 7846 },
+	{ "ads7843", 7843 },
+	{ "ads7845", 7845 },
+	{ "ads7846", 7846 },
+	{ "ads7873", 7873 },
+	{ },
+};
+MODULE_DEVICE_TABLE(spi, ads7846_spi_ids);
+
 static const struct ads7846_platform_data *ads7846_get_props(struct device *dev)
 {
 	struct ads7846_platform_data *pdata;
@@ -1386,10 +1396,10 @@ static struct spi_driver ads7846_driver = {
 	},
 	.probe		= ads7846_probe,
 	.remove		= ads7846_remove,
+	.id_table	= ads7846_spi_ids,
 };
 
 module_spi_driver(ads7846_driver);
 
 MODULE_DESCRIPTION("ADS7846 TouchScreen Driver");
 MODULE_LICENSE("GPL");
-MODULE_ALIAS("spi:ads7846");
drivers/input/touchscreen/silead.c +5 -14
index 62f562ad5026..050fa9ca4ec9 100644
@@ -71,7 +71,6 @@ struct silead_ts_data {
 	struct regulator_bulk_data regulators[2];
 	char fw_name[64];
 	struct touchscreen_properties prop;
-	u32 max_fingers;
 	u32 chip_id;
 	struct input_mt_pos pos[SILEAD_MAX_FINGERS];
 	int slots[SILEAD_MAX_FINGERS];
@@ -136,7 +135,7 @@ static int silead_ts_request_input_dev(struct silead_ts_data *data)
 	touchscreen_parse_properties(data->input, true, &data->prop);
 	silead_apply_efi_fw_min_max(data);
 
-	input_mt_init_slots(data->input, data->max_fingers,
+	input_mt_init_slots(data->input, SILEAD_MAX_FINGERS,
 			    INPUT_MT_DIRECT | INPUT_MT_DROP_UNUSED |
 			    INPUT_MT_TRACK);
 
@@ -256,10 +255,10 @@ static void silead_ts_read_data(struct i2c_client *client)
 		return;
 	}
 
-	if (buf[0] > data->max_fingers) {
+	if (buf[0] > SILEAD_MAX_FINGERS) {
 		dev_warn(dev, "More touches reported then supported %d > %d\n",
-			 buf[0], data->max_fingers);
-		buf[0] = data->max_fingers;
+			 buf[0], SILEAD_MAX_FINGERS);
+		buf[0] = SILEAD_MAX_FINGERS;
 	}
 
 	if (silead_ts_handle_pen_data(data, buf))
@@ -315,7 +314,6 @@ static void silead_ts_read_data(struct i2c_client *client)
 
 static int silead_ts_init(struct i2c_client *client)
 {
-	struct silead_ts_data *data = i2c_get_clientdata(client);
 	int error;
 
 	error = i2c_smbus_write_byte_data(client, SILEAD_REG_RESET,
@@ -325,7 +323,7 @@ static int silead_ts_init(struct i2c_client *client)
 	usleep_range(SILEAD_CMD_SLEEP_MIN, SILEAD_CMD_SLEEP_MAX);
 
 	error = i2c_smbus_write_byte_data(client, SILEAD_REG_TOUCH_NR,
-					data->max_fingers);
+					  SILEAD_MAX_FINGERS);
 	if (error)
 		goto i2c_write_err;
 	usleep_range(SILEAD_CMD_SLEEP_MIN, SILEAD_CMD_SLEEP_MAX);
@@ -591,13 +589,6 @@ static void silead_ts_read_props(struct i2c_client *client)
 	const char *str;
 	int error;
 
-	error = device_property_read_u32(dev, "silead,max-fingers",
-					 &data->max_fingers);
-	if (error) {
-		dev_dbg(dev, "Max fingers read error %d\n", error);
-		data->max_fingers = 5; /* Most devices handle up-to 5 fingers */
-	}
-
 	error = device_property_read_string(dev, "firmware-name", &str);
 	if (!error)
 		snprintf(data->fw_name, sizeof(data->fw_name),
drivers/misc/mei/main.c +1 -1
index 79e6f3c1341f..40c3fe26f76d 100644
@@ -329,7 +329,7 @@ static ssize_t mei_write(struct file *file, const char __user *ubuf,
 	}
 
 	if (!mei_cl_is_connected(cl)) {
-		cl_err(dev, cl, "is not connected");
+		cl_dbg(dev, cl, "is not connected");
 		rets = -ENODEV;
 		goto out;
 	}
drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +1 -1
index ffc3e9329250..024169461cad 100644
@@ -295,7 +295,7 @@ int kvaser_usb_send_cmd_async(struct kvaser_usb_net_priv *priv, void *cmd,
 	}
 	usb_free_urb(urb);
 
-	return 0;
+	return err;
 }
 
 int kvaser_usb_can_rx_over_error(struct net_device *netdev)
drivers/net/ethernet/ibm/ibmvnic.c +12 -0
index 722bb724361c..664baedfe7d1 100644
@@ -2478,6 +2478,18 @@ static netdev_tx_t ibmvnic_xmit(struct sk_buff *skb, struct net_device *netdev)
 	    (tx_pool->consumer_index + 1) % tx_pool->num_buffers;
 
 	tx_buff = &tx_pool->tx_buff[bufidx];
+
+	/* Sanity checks on our free map to make sure it points to an index
+	 * that is not being occupied by another skb. If skb memory is
+	 * not freed then we see congestion control kick in and halt tx.
+	 */
+	if (unlikely(tx_buff->skb)) {
+		dev_warn_ratelimited(dev, "TX free map points to untracked skb (%s %d idx=%d)\n",
+				     skb_is_gso(skb) ? "tso_pool" : "tx_pool",
+				     queue_num, bufidx);
+		dev_kfree_skb_any(tx_buff->skb);
+	}
+
 	tx_buff->skb = skb;
 	tx_buff->index = bufidx;
 	tx_buff->pool_index = queue_num;
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +1 -0
index cebc79a710ec..6340e5e61a7d 100644
@@ -6906,6 +6906,7 @@ static int mvpp2_port_probe(struct platform_device *pdev,
 	/* 9704 == 9728 - 20 and rounding to 8 */
 	dev->max_mtu = MVPP2_BM_JUMBO_PKT_SIZE;
 	device_set_node(&dev->dev, port_fwnode);
+	dev->dev_port = port->id;
 
 	port->pcs_gmac.ops = &mvpp2_phylink_gmac_pcs_ops;
 	port->pcs_gmac.neg_mode = true;
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c +5 -5
index a85ac039d779..87d5776e3b88 100644
@@ -648,14 +648,14 @@ int otx2_txschq_config(struct otx2_nic *pfvf, int lvl, int prio, bool txschq_for
 	} else if (lvl == NIX_TXSCH_LVL_TL4) {
 		parent = schq_list[NIX_TXSCH_LVL_TL3][prio];
 		req->reg[0] = NIX_AF_TL4X_PARENT(schq);
-		req->regval[0] = parent << 16;
+		req->regval[0] = (u64)parent << 16;
 		req->num_regs++;
 		req->reg[1] = NIX_AF_TL4X_SCHEDULE(schq);
 		req->regval[1] = dwrr_val;
 	} else if (lvl == NIX_TXSCH_LVL_TL3) {
 		parent = schq_list[NIX_TXSCH_LVL_TL2][prio];
 		req->reg[0] = NIX_AF_TL3X_PARENT(schq);
-		req->regval[0] = parent << 16;
+		req->regval[0] = (u64)parent << 16;
 		req->num_regs++;
 		req->reg[1] = NIX_AF_TL3X_SCHEDULE(schq);
 		req->regval[1] = dwrr_val;
@@ -670,11 +670,11 @@ int otx2_txschq_config(struct otx2_nic *pfvf, int lvl, int prio, bool txschq_for
 	} else if (lvl == NIX_TXSCH_LVL_TL2) {
 		parent = schq_list[NIX_TXSCH_LVL_TL1][prio];
 		req->reg[0] = NIX_AF_TL2X_PARENT(schq);
-		req->regval[0] = parent << 16;
+		req->regval[0] = (u64)parent << 16;
 
 		req->num_regs++;
 		req->reg[1] = NIX_AF_TL2X_SCHEDULE(schq);
-		req->regval[1] = TXSCH_TL1_DFLT_RR_PRIO << 24 | dwrr_val;
+		req->regval[1] = (u64)hw->txschq_aggr_lvl_rr_prio << 24 | dwrr_val;
 
 		if (lvl == hw->txschq_link_cfg_lvl) {
 			req->num_regs++;
@@ -698,7 +698,7 @@ int otx2_txschq_config(struct otx2_nic *pfvf, int lvl, int prio, bool txschq_for
 
 		req->num_regs++;
 		req->reg[1] = NIX_AF_TL1X_TOPOLOGY(schq);
-		req->regval[1] = (TXSCH_TL1_DFLT_RR_PRIO << 1);
+		req->regval[1] = hw->txschq_aggr_lvl_rr_prio << 1;
 
 		req->num_regs++;
 		req->reg[2] = NIX_AF_TL1X_CIR(schq);
drivers/net/ethernet/marvell/octeontx2/nic/otx2_reg.h +28 -27

61 lines not on this page · raw message

drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c +1 -1
index 04a49b9b545f..0ca9f2ffd932 100644
@@ -510,7 +510,7 @@ static int otx2_tx_napi_handler(struct otx2_nic *pfvf,
 
 static void otx2_adjust_adaptive_coalese(struct otx2_nic *pfvf, struct otx2_cq_poll *cq_poll)
 {
-	struct dim_sample dim_sample;
+	struct dim_sample dim_sample = { 0 };
 	u64 rx_frames, rx_bytes;
 	u64 tx_frames, tx_bytes;
 
drivers/net/ethernet/marvell/octeontx2/nic/qos.c +1 -2
index 6cddb4da85b7..4995a2d54d7d 100644
@@ -153,7 +153,6 @@ static void __otx2_qos_txschq_cfg(struct otx2_nic *pfvf,
 		num_regs++;
 
 		otx2_config_sched_shaping(pfvf, node, cfg, &num_regs);
-
 	} else if (level == NIX_TXSCH_LVL_TL4) {
 		otx2_config_sched_shaping(pfvf, node, cfg, &num_regs);
 	} else if (level == NIX_TXSCH_LVL_TL3) {
@@ -176,7 +175,7 @@ static void __otx2_qos_txschq_cfg(struct otx2_nic *pfvf,
 		/* check if node is root */
 		if (node->qid == OTX2_QOS_QID_INNER && !node->parent) {
 			cfg->reg[num_regs] = NIX_AF_TL2X_SCHEDULE(node->schq);
-			cfg->regval[num_regs] =  TXSCH_TL1_DFLT_RR_PRIO << 24 |
+			cfg->regval[num_regs] =  (u64)hw->txschq_aggr_lvl_rr_prio << 24 |
 						 mtu_to_dwrr_weight(pfvf,
 								    pfvf->tx_max_pktlen);
 			num_regs++;
drivers/net/usb/qmi_wwan.c +2 -0
index a5469cf5cf67..befbca01bfe3 100644
@@ -1380,6 +1380,8 @@ static const struct usb_device_id products[] = {
 	{QMI_QUIRK_SET_DTR(0x1bc7, 0x1260, 2)},	/* Telit LE910Cx */
 	{QMI_QUIRK_SET_DTR(0x1bc7, 0x1261, 2)},	/* Telit LE910Cx */
 	{QMI_QUIRK_SET_DTR(0x1bc7, 0x1900, 1)},	/* Telit LN940 series */
+	{QMI_QUIRK_SET_DTR(0x1bc7, 0x3000, 0)},	/* Telit FN912 series */
+	{QMI_QUIRK_SET_DTR(0x1bc7, 0x3001, 0)},	/* Telit FN912 series */
 	{QMI_FIXED_INTF(0x1c9e, 0x9801, 3)},	/* Telewell TW-3G HSPA+ */
 	{QMI_FIXED_INTF(0x1c9e, 0x9803, 4)},	/* Telewell TW-3G HSPA+ */
 	{QMI_FIXED_INTF(0x1c9e, 0x9b01, 3)},	/* XS Stick W100-2 from 4G Systems */
drivers/net/wireless/intel/iwlwifi/mvm/d3.c +13 -3
index 52518a47554e..6f16b5b33f0c 100644
@@ -595,6 +595,12 @@ static void iwl_mvm_wowlan_gtk_type_iter(struct ieee80211_hw *hw,
 					 void *_data)
 {
 	struct wowlan_key_gtk_type_iter *data = _data;
+	__le32 *cipher = NULL;
+
+	if (key->keyidx == 4 || key->keyidx == 5)
+		cipher = &data->kek_kck_cmd->igtk_cipher;
+	if (key->keyidx == 6 || key->keyidx == 7)
+		cipher = &data->kek_kck_cmd->bigtk_cipher;
 
 	switch (key->cipher) {
 	default:
@@ -606,10 +612,13 @@ static void iwl_mvm_wowlan_gtk_type_iter(struct ieee80211_hw *hw,
 		return;
 	case WLAN_CIPHER_SUITE_BIP_GMAC_256:
 	case WLAN_CIPHER_SUITE_BIP_GMAC_128:
-		data->kek_kck_cmd->igtk_cipher = cpu_to_le32(STA_KEY_FLG_GCMP);
+		if (cipher)
+			*cipher = cpu_to_le32(STA_KEY_FLG_GCMP);
 		return;
 	case WLAN_CIPHER_SUITE_AES_CMAC:
-		data->kek_kck_cmd->igtk_cipher = cpu_to_le32(STA_KEY_FLG_CCM);
+	case WLAN_CIPHER_SUITE_BIP_CMAC_256:
+		if (cipher)
+			*cipher = cpu_to_le32(STA_KEY_FLG_CCM);
 		return;
 	case WLAN_CIPHER_SUITE_CCMP:
 		if (!sta)
@@ -2182,7 +2191,8 @@ static bool iwl_mvm_setup_connection_keep(struct iwl_mvm *mvm,
 
 out:
 	if (iwl_fw_lookup_notif_ver(mvm->fw, LONG_GROUP,
-				    WOWLAN_GET_STATUSES, 0) < 10) {
+				    WOWLAN_GET_STATUSES,
+				    IWL_FW_CMD_VER_UNKNOWN) < 10) {
 		mvmvif->seqno_valid = true;
 		/* +0x10 because the set API expects next-to-use, not last-used */
 		mvmvif->seqno = status->non_qos_seq_ctr + 0x10;
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +41 -6

78 lines not on this page · raw message

drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c +7 -6
index 36dc291d98dd..dbe668db7ce3 100644
@@ -515,11 +515,11 @@ static int iwl_mvm_mld_cfg_sta(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
 	return iwl_mvm_mld_send_sta_cmd(mvm, &cmd);
 }
 
-static void iwl_mvm_mld_free_sta_link(struct iwl_mvm *mvm,
-				      struct iwl_mvm_sta *mvm_sta,
-				      struct iwl_mvm_link_sta *mvm_sta_link,
-				      unsigned int link_id,
-				      bool is_in_fw)
+void iwl_mvm_mld_free_sta_link(struct iwl_mvm *mvm,
+			       struct iwl_mvm_sta *mvm_sta,
+			       struct iwl_mvm_link_sta *mvm_sta_link,
+			       unsigned int link_id,
+			       bool is_in_fw)
 {
 	RCU_INIT_POINTER(mvm->fw_id_to_mac_id[mvm_sta_link->sta_id],
 			 is_in_fw ? ERR_PTR(-EINVAL) : NULL);
@@ -1012,7 +1012,8 @@ static int iwl_mvm_mld_update_sta_baids(struct iwl_mvm *mvm,
 
 		cmd.modify.tid = cpu_to_le32(data->tid);
 
-		ret = iwl_mvm_send_cmd_pdu(mvm, cmd_id, 0, sizeof(cmd), &cmd);
+		ret = iwl_mvm_send_cmd_pdu(mvm, cmd_id, CMD_SEND_IN_RFKILL,
+					   sizeof(cmd), &cmd);
 		data->sta_mask = new_sta_mask;
 		if (ret)
 			return ret;
drivers/net/wireless/intel/iwlwifi/mvm/ops.c +2 -4
index a93981cb9714..7f5685a4838c 100644
@@ -1854,12 +1854,10 @@ static bool iwl_mvm_set_hw_rfkill_state(struct iwl_op_mode *op_mode, bool state)
 	bool rfkill_safe_init_done = READ_ONCE(mvm->rfkill_safe_init_done);
 	bool unified = iwl_mvm_has_unified_ucode(mvm);
 
-	if (state) {
+	if (state)
 		set_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status);
-		wake_up(&mvm->rx_sync_waitq);
-	} else {
+	else
 		clear_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status);
-	}
 
 	iwl_mvm_set_rfkill_state(mvm);
 
drivers/net/wireless/intel/iwlwifi/mvm/scan.c +6 -2
index 525d8efcc147..aa5fa6c657c0 100644
@@ -1717,7 +1717,10 @@ iwl_mvm_umac_scan_fill_6g_chan_list(struct iwl_mvm *mvm,
 				break;
 		}
 
-		if (k == idex_b && idex_b < SCAN_BSSID_MAX_SIZE) {
+		if (k == idex_b && idex_b < SCAN_BSSID_MAX_SIZE &&
+		    !WARN_ONCE(!is_valid_ether_addr(scan_6ghz_params[j].bssid),
+			       "scan: invalid BSSID at index %u, index_b=%u\n",
+			       j, idex_b)) {
 			memcpy(&pp->bssid_array[idex_b++],
 			       scan_6ghz_params[j].bssid, ETH_ALEN);
 		}
@@ -3251,10 +3254,11 @@ static int iwl_mvm_umac_scan_abort(struct iwl_mvm *mvm, int type)
 
 	ret = iwl_mvm_send_cmd_pdu(mvm,
 				   WIDE_ID(IWL_ALWAYS_LONG_GROUP, SCAN_ABORT_UMAC),
-				   0, sizeof(cmd), &cmd);
+				   CMD_SEND_IN_RFKILL, sizeof(cmd), &cmd);
 	if (!ret)
 		mvm->scan_uid_status[uid] = type << IWL_MVM_SCAN_STOPPING_SHIFT;
 
+	IWL_DEBUG_SCAN(mvm, "Scan abort: ret=%d\n", ret);
 	return ret;
 }
 
drivers/net/wireless/intel/iwlwifi/mvm/sta.c +8 -4
index 491c449fd431..908d0bc474da 100644
@@ -2836,7 +2836,12 @@ static int iwl_mvm_fw_baid_op_cmd(struct iwl_mvm *mvm,
 		.action = start ? cpu_to_le32(IWL_RX_BAID_ACTION_ADD) :
 				  cpu_to_le32(IWL_RX_BAID_ACTION_REMOVE),
 	};
-	u32 cmd_id = WIDE_ID(DATA_PATH_GROUP, RX_BAID_ALLOCATION_CONFIG_CMD);
+	struct iwl_host_cmd hcmd = {
+		.id = WIDE_ID(DATA_PATH_GROUP, RX_BAID_ALLOCATION_CONFIG_CMD),
+		.flags = CMD_SEND_IN_RFKILL,
+		.len[0] = sizeof(cmd),
+		.data[0] = &cmd,
+	};
 	int ret;
 
 	BUILD_BUG_ON(sizeof(struct iwl_rx_baid_cfg_resp) != sizeof(baid));
@@ -2848,7 +2853,7 @@ static int iwl_mvm_fw_baid_op_cmd(struct iwl_mvm *mvm,
 		cmd.alloc.ssn = cpu_to_le16(ssn);
 		cmd.alloc.win_size = cpu_to_le16(buf_size);
 		baid = -EIO;
-	} else if (iwl_fw_lookup_cmd_ver(mvm->fw, cmd_id, 1) == 1) {
+	} else if (iwl_fw_lookup_cmd_ver(mvm->fw, hcmd.id, 1) == 1) {
 		cmd.remove_v1.baid = cpu_to_le32(baid);
 		BUILD_BUG_ON(sizeof(cmd.remove_v1) > sizeof(cmd.remove));
 	} else {
@@ -2857,8 +2862,7 @@ static int iwl_mvm_fw_baid_op_cmd(struct iwl_mvm *mvm,
 		cmd.remove.tid = cpu_to_le32(tid);
 	}
 
-	ret = iwl_mvm_send_cmd_pdu_status(mvm, cmd_id, sizeof(cmd),
-					  &cmd, &baid);
+	ret = iwl_mvm_send_cmd_status(mvm, &hcmd, &baid);
 	if (ret)
 		return ret;
 
drivers/net/wireless/intel/iwlwifi/mvm/sta.h +5 -0
index b3450569864e..7dd8f7f4b449 100644
@@ -638,6 +638,11 @@ int iwl_mvm_mld_update_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
 			   struct ieee80211_sta *sta);
 int iwl_mvm_mld_rm_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
 		       struct ieee80211_sta *sta);
+void iwl_mvm_mld_free_sta_link(struct iwl_mvm *mvm,
+			       struct iwl_mvm_sta *mvm_sta,
+			       struct iwl_mvm_link_sta *mvm_sta_link,
+			       unsigned int link_id,
+			       bool is_in_fw);
 int iwl_mvm_mld_rm_sta_id(struct iwl_mvm *mvm, u8 sta_id);
 int iwl_mvm_mld_update_sta_links(struct iwl_mvm *mvm,
 				 struct ieee80211_vif *vif,
drivers/nvme/host/core.c +1 -0
index d513fd27589d..36f30594b671 100644
@@ -998,6 +998,7 @@ void nvme_cleanup_cmd(struct request *req)
 			clear_bit_unlock(0, &ctrl->discard_page_busy);
 		else
 			kfree(bvec_virt(&req->special_vec));
+		req->rq_flags &= ~RQF_SPECIAL_PAYLOAD;
 	}
 }
 EXPORT_SYMBOL_GPL(nvme_cleanup_cmd);
drivers/nvme/host/fabrics.c +3 -3
index 1f0ea1f32d22..f6416f8553f0 100644
@@ -180,7 +180,7 @@ int nvmf_reg_read32(struct nvme_ctrl *ctrl, u32 off, u32 *val)
 	cmd.prop_get.offset = cpu_to_le32(off);
 
 	ret = __nvme_submit_sync_cmd(ctrl->fabrics_q, &cmd, &res, NULL, 0,
-			NVME_QID_ANY, 0);
+			NVME_QID_ANY, NVME_SUBMIT_RESERVED);
 
 	if (ret >= 0)
 		*val = le64_to_cpu(res.u64);
@@ -226,7 +226,7 @@ int nvmf_reg_read64(struct nvme_ctrl *ctrl, u32 off, u64 *val)
 	cmd.prop_get.offset = cpu_to_le32(off);
 
 	ret = __nvme_submit_sync_cmd(ctrl->fabrics_q, &cmd, &res, NULL, 0,
-			NVME_QID_ANY, 0);
+			NVME_QID_ANY, NVME_SUBMIT_RESERVED);
 
 	if (ret >= 0)
 		*val = le64_to_cpu(res.u64);
@@ -271,7 +271,7 @@ int nvmf_reg_write32(struct nvme_ctrl *ctrl, u32 off, u32 val)
 	cmd.prop_set.value = cpu_to_le64(val);
 
 	ret = __nvme_submit_sync_cmd(ctrl->fabrics_q, &cmd, NULL, NULL, 0,
-			NVME_QID_ANY, 0);
+			NVME_QID_ANY, NVME_SUBMIT_RESERVED);
 	if (unlikely(ret))
 		dev_err(ctrl->device,
 			"Property Set error: %d, offset %#x\n",
drivers/nvme/host/nvme.h +1 -1
index d7bcc6d51e84..3f2b0d41e481 100644
@@ -503,7 +503,7 @@ static inline bool nvme_ns_head_multipath(struct nvme_ns_head *head)
 enum nvme_ns_features {
 	NVME_NS_EXT_LBAS = 1 << 0, /* support extended LBA format */
 	NVME_NS_METADATA_SUPPORTED = 1 << 1, /* support getting generated md */
-	NVME_NS_DEAC,		/* DEAC bit in Write Zeores supported */
+	NVME_NS_DEAC = 1 << 2,		/* DEAC bit in Write Zeores supported */
 };
 
 struct nvme_ns {
drivers/nvme/target/core.c +1 -0
index 06f0c587f343..4ff460ba2826 100644
@@ -957,6 +957,7 @@ bool nvmet_req_init(struct nvmet_req *req, struct nvmet_cq *cq,
 	req->metadata_sg_cnt = 0;
 	req->transfer_len = 0;
 	req->metadata_len = 0;
+	req->cqe->result.u64 = 0;
 	req->cqe->status = 0;
 	req->cqe->sq_head = 0;
 	req->ns = NULL;
drivers/nvme/target/fabrics-cmd-auth.c +0 -3
index eb7785be0ca7..ee76491e8b12 100644
@@ -332,7 +332,6 @@ void nvmet_execute_auth_send(struct nvmet_req *req)
 		pr_debug("%s: ctrl %d qid %d nvme status %x error loc %d\n",
 			 __func__, ctrl->cntlid, req->sq->qid,
 			 status, req->error_loc);
-	req->cqe->result.u64 = 0;
 	if (req->sq->dhchap_step != NVME_AUTH_DHCHAP_MESSAGE_SUCCESS2 &&
 	    req->sq->dhchap_step != NVME_AUTH_DHCHAP_MESSAGE_FAILURE2) {
 		unsigned long auth_expire_secs = ctrl->kato ? ctrl->kato : 120;
@@ -515,8 +514,6 @@ void nvmet_execute_auth_receive(struct nvmet_req *req)
 	status = nvmet_copy_to_sgl(req, 0, d, al);
 	kfree(d);
 done:
-	req->cqe->result.u64 = 0;
-
 	if (req->sq->dhchap_step == NVME_AUTH_DHCHAP_MESSAGE_SUCCESS2)
 		nvmet_auth_sq_free(req->sq);
 	else if (req->sq->dhchap_step == NVME_AUTH_DHCHAP_MESSAGE_FAILURE1) {
drivers/nvme/target/fabrics-cmd.c +0 -6
index b23f4cf840bd..f6714453b8bb 100644
@@ -226,9 +226,6 @@ static void nvmet_execute_admin_connect(struct nvmet_req *req)
 	if (status)
 		goto out;
 
-	/* zero out initial completion result, assign values as needed */
-	req->cqe->result.u32 = 0;
-
 	if (c->recfmt != 0) {
 		pr_warn("invalid connect version (%d).\n",
 			le16_to_cpu(c->recfmt));
@@ -304,9 +301,6 @@ static void nvmet_execute_io_connect(struct nvmet_req *req)
 	if (status)
 		goto out;
 
-	/* zero out initial completion result, assign values as needed */
-	req->cqe->result.u32 = 0;
-
 	if (c->recfmt != 0) {
 		pr_warn("invalid connect version (%d).\n",
 			le16_to_cpu(c->recfmt));
drivers/of/irq.c +78 -65

213 lines not on this page · raw message

drivers/of/of_private.h +3 -0
index 485483524b7f..b0609de49c7c 100644
@@ -158,6 +158,9 @@ extern void __of_sysfs_remove_bin_file(struct device_node *np,
 extern int of_bus_n_addr_cells(struct device_node *np);
 extern int of_bus_n_size_cells(struct device_node *np);
 
+const __be32 *of_irq_parse_imap_parent(const __be32 *imap, int len,
+				       struct of_phandle_args *out_irq);
+
 struct bus_dma_region;
 #if defined(CONFIG_OF_ADDRESS) && defined(CONFIG_HAS_DMA)
 int of_dma_get_range(struct device_node *np,
drivers/parport/parport_amiga.c +7 -1
index e6dc857aac3f..e06c7b2aac5c 100644
@@ -229,7 +229,13 @@ static void __exit amiga_parallel_remove(struct platform_device *pdev)
 	parport_put_port(port);
 }
 
-static struct platform_driver amiga_parallel_driver = {
+/*
+ * amiga_parallel_remove() lives in .exit.text. For drivers registered via
+ * module_platform_driver_probe() this is ok because they cannot get unbound at
+ * runtime. So mark the driver struct with __refdata to prevent modpost
+ * triggering a section mismatch warning.
+ */
+static struct platform_driver amiga_parallel_driver __refdata = {
 	.remove_new = __exit_p(amiga_parallel_remove),
 	.driver   = {
 		.name	= "amiga-parallel",
drivers/perf/riscv_pmu_sbi.c +1 -1
index 3e44d2fb8bf8..6d3fdf3a688d 100644
@@ -634,7 +634,7 @@ static inline void pmu_sbi_stop_all(struct riscv_pmu *pmu)
 	 * which may include counters that are not enabled yet.
 	 */
 	sbi_ecall(SBI_EXT_PMU, SBI_EXT_PMU_COUNTER_STOP,
-		  0, pmu->cmask, 0, 0, 0, 0);
+		  0, pmu->cmask, SBI_PMU_STOP_FLAG_RESET, 0, 0, 0);
 }
 
 static inline void pmu_sbi_stop_hw_ctrs(struct riscv_pmu *pmu)
drivers/platform/mellanox/nvsw-sn2201.c +4 -1
index 3ef655591424..abe7be602f84 100644
@@ -1198,6 +1198,7 @@ static int nvsw_sn2201_config_pre_init(struct nvsw_sn2201 *nvsw_sn2201)
 static int nvsw_sn2201_probe(struct platform_device *pdev)
 {
 	struct nvsw_sn2201 *nvsw_sn2201;
+	int ret;
 
 	nvsw_sn2201 = devm_kzalloc(&pdev->dev, sizeof(*nvsw_sn2201), GFP_KERNEL);
 	if (!nvsw_sn2201)
@@ -1205,8 +1206,10 @@ static int nvsw_sn2201_probe(struct platform_device *pdev)
 
 	nvsw_sn2201->dev = &pdev->dev;
 	platform_set_drvdata(pdev, nvsw_sn2201);
-	platform_device_add_resources(pdev, nvsw_sn2201_lpc_io_resources,
+	ret = platform_device_add_resources(pdev, nvsw_sn2201_lpc_io_resources,
 				      ARRAY_SIZE(nvsw_sn2201_lpc_io_resources));
+	if (ret)
+		return ret;
 
 	nvsw_sn2201->main_mux_deferred_nr = NVSW_SN2201_MAIN_MUX_DEFER_NR;
 	nvsw_sn2201->main_mux_devs = nvsw_sn2201_main_mux_brdinfo;
drivers/platform/x86/amd/hsmp.c +43 -7

66 lines not on this page · raw message

drivers/platform/x86/lg-laptop.c +34 -55

275 lines not on this page · raw message

drivers/platform/x86/wireless-hotkey.c +2 -0
index 4422863f47bb..01feb6e6787f 100644
@@ -19,6 +19,7 @@ MODULE_AUTHOR("Alex Hung");
 MODULE_ALIAS("acpi*:HPQ6001:*");
 MODULE_ALIAS("acpi*:WSTADEF:*");
 MODULE_ALIAS("acpi*:AMDI0051:*");
+MODULE_ALIAS("acpi*:LGEX0815:*");
 
 struct wl_button {
 	struct input_dev *input_dev;
@@ -29,6 +30,7 @@ static const struct acpi_device_id wl_ids[] = {
 	{"HPQ6001", 0},
 	{"WSTADEF", 0},
 	{"AMDI0051", 0},
+	{"LGEX0815", 0},
 	{"", 0},
 };
 
drivers/pnp/base.h +1 -0
index e74a0f6a3157..4e80273dfb1e 100644
@@ -6,6 +6,7 @@
 
 extern struct mutex pnp_lock;
 extern const struct attribute_group *pnp_dev_groups[];
+extern const struct bus_type pnp_bus_type;
 
 int pnp_register_protocol(struct pnp_protocol *protocol);
 void pnp_unregister_protocol(struct pnp_protocol *protocol);
drivers/s390/char/sclp.c +1 -0
index d53ee34d398f..fbe29cabcbb8 100644
@@ -1293,6 +1293,7 @@ sclp_init(void)
 fail_unregister_reboot_notifier:
 	unregister_reboot_notifier(&sclp_reboot_notifier);
 fail_init_state_uninitialized:
+	list_del(&sclp_state_change_event.list);
 	sclp_init_state = sclp_init_state_uninitialized;
 	free_page((unsigned long) sclp_read_sccb);
 	free_page((unsigned long) sclp_init_sccb);
drivers/scsi/device_handler/scsi_dh_alua.c +22 -9
index a226dc1b65d7..4eb0837298d4 100644
@@ -414,28 +414,40 @@ static char print_alua_state(unsigned char state)
 	}
 }
 
-static enum scsi_disposition alua_check_sense(struct scsi_device *sdev,
-					      struct scsi_sense_hdr *sense_hdr)
+static void alua_handle_state_transition(struct scsi_device *sdev)
 {
 	struct alua_dh_data *h = sdev->handler_data;
 	struct alua_port_group *pg;
 
+	rcu_read_lock();
+	pg = rcu_dereference(h->pg);
+	if (pg)
+		pg->state = SCSI_ACCESS_STATE_TRANSITIONING;
+	rcu_read_unlock();
+	alua_check(sdev, false);
+}
+
+static enum scsi_disposition alua_check_sense(struct scsi_device *sdev,
+					      struct scsi_sense_hdr *sense_hdr)
+{
 	switch (sense_hdr->sense_key) {
 	case NOT_READY:
 		if (sense_hdr->asc == 0x04 && sense_hdr->ascq == 0x0a) {
 			/*
 			 * LUN Not Accessible - ALUA state transition
 			 */
-			rcu_read_lock();
-			pg = rcu_dereference(h->pg);
-			if (pg)
-				pg->state = SCSI_ACCESS_STATE_TRANSITIONING;
-			rcu_read_unlock();
-			alua_check(sdev, false);
+			alua_handle_state_transition(sdev);
 			return NEEDS_RETRY;
 		}
 		break;
 	case UNIT_ATTENTION:
+		if (sense_hdr->asc == 0x04 && sense_hdr->ascq == 0x0a) {
+			/*
+			 * LUN Not Accessible - ALUA state transition
+			 */
+			alua_handle_state_transition(sdev);
+			return NEEDS_RETRY;
+		}
 		if (sense_hdr->asc == 0x29 && sense_hdr->ascq == 0x00) {
 			/*
 			 * Power On, Reset, or Bus Device Reset.
@@ -502,7 +514,8 @@ static int alua_tur(struct scsi_device *sdev)
 
 	retval = scsi_test_unit_ready(sdev, ALUA_FAILOVER_TIMEOUT * HZ,
 				      ALUA_FAILOVER_RETRIES, &sense_hdr);
-	if (sense_hdr.sense_key == NOT_READY &&
+	if ((sense_hdr.sense_key == NOT_READY ||
+	     sense_hdr.sense_key == UNIT_ATTENTION) &&
 	    sense_hdr.asc == 0x04 && sense_hdr.ascq == 0x0a)
 		return SCSI_DH_RETRY;
 	else if (retval)
drivers/scsi/libsas/sas_internal.h +14 -0
index 3804aef165ad..164086c5824e 100644
@@ -145,6 +145,20 @@ static inline void sas_fail_probe(struct domain_device *dev, const char *func, i
 		func, dev->parent ? "exp-attached" :
 		"direct-attached",
 		SAS_ADDR(dev->sas_addr), err);
+
+	/*
+	 * If the device probe failed, the expander phy attached address
+	 * needs to be reset so that the phy will not be treated as flutter
+	 * in the next revalidation
+	 */
+	if (dev->parent && !dev_is_expander(dev->dev_type)) {
+		struct sas_phy *phy = dev->phy;
+		struct domain_device *parent = dev->parent;
+		struct ex_phy *ex_phy = &parent->ex_dev.ex_phy[phy->number];
+
+		memset(ex_phy->attached_sas_addr, 0, SAS_ADDR_SIZE);
+	}
+
 	sas_unregister_dev(dev->port, dev);
 }
 
drivers/scsi/qedf/qedf.h +1 -0
index 5058e01b65a2..98afdfe63600 100644
@@ -363,6 +363,7 @@ struct qedf_ctx {
 #define QEDF_IN_RECOVERY		5
 #define QEDF_DBG_STOP_IO		6
 #define QEDF_PROBING			8
+#define QEDF_STAG_IN_PROGRESS		9
 	unsigned long flags; /* Miscellaneous state flags */
 	int fipvlan_retries;
 	u8 num_queues;
drivers/scsi/qedf/qedf_main.c +44 -3

104 lines not on this page · raw message

drivers/scsi/sr.h +1 -1
index 1175f2e213b5..dc899277b3a4 100644
@@ -65,7 +65,7 @@ int sr_disk_status(struct cdrom_device_info *);
 int sr_get_last_session(struct cdrom_device_info *, struct cdrom_multisession *);
 int sr_get_mcn(struct cdrom_device_info *, struct cdrom_mcn *);
 int sr_reset(struct cdrom_device_info *);
-int sr_select_speed(struct cdrom_device_info *cdi, int speed);
+int sr_select_speed(struct cdrom_device_info *cdi, unsigned long speed);
 int sr_audio_ioctl(struct cdrom_device_info *, unsigned int, void *);
 
 int sr_is_xa(Scsi_CD *);
drivers/scsi/sr_ioctl.c +4 -1
index 5b0b35e60e61..a0d2556a27bb 100644
@@ -425,11 +425,14 @@ int sr_reset(struct cdrom_device_info *cdi)
 	return 0;
 }
 
-int sr_select_speed(struct cdrom_device_info *cdi, int speed)
+int sr_select_speed(struct cdrom_device_info *cdi, unsigned long speed)
 {
 	Scsi_CD *cd = cdi->handle;
 	struct packet_command cgc;
 
+	/* avoid exceeding the max speed or overflowing integer bounds */
+	speed = clamp(0, speed, 0xffff / 177);
+
 	if (speed == 0)
 		speed = 0xffff;	/* set to max */
 	else
drivers/spi/spi-davinci.c +6 -0
index be3998104bfb..f7e8b5efa50e 100644
@@ -984,6 +984,9 @@ static int davinci_spi_probe(struct platform_device *pdev)
 	return ret;
 
 free_dma:
+	/* This bit needs to be cleared to disable dpsi->clk */
+	clear_io_bits(dspi->base + SPIGCR1, SPIGCR1_POWERDOWN_MASK);
+
 	if (dspi->dma_rx) {
 		dma_release_channel(dspi->dma_rx);
 		dma_release_channel(dspi->dma_tx);
@@ -1013,6 +1016,9 @@ static void davinci_spi_remove(struct platform_device *pdev)
 
 	spi_bitbang_stop(&dspi->bitbang);
 
+	/* This bit needs to be cleared to disable dpsi->clk */
+	clear_io_bits(dspi->base + SPIGCR1, SPIGCR1_POWERDOWN_MASK);
+
 	if (dspi->dma_rx) {
 		dma_release_channel(dspi->dma_rx);
 		dma_release_channel(dspi->dma_tx);
drivers/spi/spi-imx.c +1 -1
index 09b6c1b45f1a..09c676e50fe0 100644
@@ -1050,7 +1050,7 @@ static struct spi_imx_devtype_data imx35_cspi_devtype_data = {
 	.rx_available = mx31_rx_available,
 	.reset = mx31_reset,
 	.fifo_size = 8,
-	.has_dmamode = true,
+	.has_dmamode = false,
 	.dynamic_burst = false,
 	.has_targetmode = false,
 	.devtype = IMX35_CSPI,
drivers/spi/spi-mux.c +1 -0
index 031b5795d106..a8bb07b38ec6 100644
@@ -156,6 +156,7 @@ static int spi_mux_probe(struct spi_device *spi)
 	/* supported modes are the same as our parent's */
 	ctlr->mode_bits = spi->controller->mode_bits;
 	ctlr->flags = spi->controller->flags;
+	ctlr->bits_per_word_mask = spi->controller->bits_per_word_mask;
 	ctlr->transfer_one_message = spi_mux_transfer_one_message;
 	ctlr->setup = spi_mux_setup;
 	ctlr->num_chipselect = mux_control_states(priv->mux);
drivers/spi/spi.c +4 -2
index 9304fd03bf76..fcc39523d685 100644
@@ -4152,7 +4152,8 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)
 				return -EINVAL;
 			if (xfer->tx_nbits != SPI_NBITS_SINGLE &&
 				xfer->tx_nbits != SPI_NBITS_DUAL &&
-				xfer->tx_nbits != SPI_NBITS_QUAD)
+				xfer->tx_nbits != SPI_NBITS_QUAD &&
+				xfer->tx_nbits != SPI_NBITS_OCTAL)
 				return -EINVAL;
 			if ((xfer->tx_nbits == SPI_NBITS_DUAL) &&
 				!(spi->mode & (SPI_TX_DUAL | SPI_TX_QUAD)))
@@ -4167,7 +4168,8 @@ static int __spi_validate(struct spi_device *spi, struct spi_message *message)
 				return -EINVAL;
 			if (xfer->rx_nbits != SPI_NBITS_SINGLE &&
 				xfer->rx_nbits != SPI_NBITS_DUAL &&
-				xfer->rx_nbits != SPI_NBITS_QUAD)
+				xfer->rx_nbits != SPI_NBITS_QUAD &&
+				xfer->rx_nbits != SPI_NBITS_OCTAL)
 				return -EINVAL;
 			if ((xfer->rx_nbits == SPI_NBITS_DUAL) &&
 				!(spi->mode & (SPI_RX_DUAL | SPI_RX_QUAD)))
drivers/tee/optee/ffa_abi.c +9 -3
index ecb5eb079408..c5a3e25c55da 100644
@@ -660,7 +660,9 @@ static bool optee_ffa_api_is_compatbile(struct ffa_device *ffa_dev,
 					const struct ffa_ops *ops)
 {
 	const struct ffa_msg_ops *msg_ops = ops->msg_ops;
-	struct ffa_send_direct_data data = { OPTEE_FFA_GET_API_VERSION };
+	struct ffa_send_direct_data data = {
+		.data0 = OPTEE_FFA_GET_API_VERSION,
+	};
 	int rc;
 
 	msg_ops->mode_32bit_set(ffa_dev);
@@ -677,7 +679,9 @@ static bool optee_ffa_api_is_compatbile(struct ffa_device *ffa_dev,
 		return false;
 	}
 
-	data = (struct ffa_send_direct_data){ OPTEE_FFA_GET_OS_VERSION };
+	data = (struct ffa_send_direct_data){
+		.data0 = OPTEE_FFA_GET_OS_VERSION,
+	};
 	rc = msg_ops->sync_send_receive(ffa_dev, &data);
 	if (rc) {
 		pr_err("Unexpected error %d\n", rc);
@@ -698,7 +702,9 @@ static bool optee_ffa_exchange_caps(struct ffa_device *ffa_dev,
 				    unsigned int *rpc_param_count,
 				    unsigned int *max_notif_value)
 {
-	struct ffa_send_direct_data data = { OPTEE_FFA_EXCHANGE_CAPABILITIES };
+	struct ffa_send_direct_data data = {
+		.data0 = OPTEE_FFA_EXCHANGE_CAPABILITIES,
+	};
 	int rc;
 
 	rc = ops->msg_ops->sync_send_receive(ffa_dev, &data);
drivers/vfio/device_cdev.c +7 -0
index e75da0a70d1f..bb1817bd4ff3 100644
@@ -39,6 +39,13 @@ int vfio_device_fops_cdev_open(struct inode *inode, struct file *filep)
 
 	filep->private_data = df;
 
+	/*
+	 * Use the pseudo fs inode on the device to link all mmaps
+	 * to the same address space, allowing us to unmap all vmas
+	 * associated to this device using unmap_mapping_range().
+	 */
+	filep->f_mapping = device->inode->i_mapping;
+
 	return 0;
 
 err_put_registration:
drivers/vfio/group.c +7 -0
index 610a429c6191..ded364588d29 100644
@@ -286,6 +286,13 @@ static struct file *vfio_device_open_file(struct vfio_device *device)
 	 */
 	filep->f_mode |= (FMODE_PREAD | FMODE_PWRITE);
 
+	/*
+	 * Use the pseudo fs inode on the device to link all mmaps
+	 * to the same address space, allowing us to unmap all vmas
+	 * associated to this device using unmap_mapping_range().
+	 */
+	filep->f_mapping = device->inode->i_mapping;
+
 	if (device->group->type == VFIO_NO_IOMMU)
 		dev_warn(device->dev, "vfio-noiommu device opened by user "
 			 "(%s:%d)\n", current->comm, task_pid_nr(current));
drivers/vfio/pci/vfio_pci_core.c +66 -205

387 lines not on this page · raw message

drivers/vfio/vfio_main.c +44 -0

82 lines not on this page · raw message

fs/btrfs/btrfs_inode.h +10 -0
index 100020ca4658..787ca2892d7a 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/file.c +16 -0
index f9d76072398d..97f6133b6eee 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/ordered-data.c +31 -0
index c2a42bcde98e..7dbf4162c75a 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/qgroup.c +2 -2
index 4caa078d972a..9af2afb41730 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/ref-verify.c +7 -2
index 8c4fc98ca9ce..aa7ddc09c55f 100644

Lines of this file are not shown. View the raw message.

fs/btrfs/scrub.c +14 -10
index afd6932f5e89..d7caa3732f07 100644

Lines of this file are not shown. View the raw message.

fs/cachefiles/cache.c +44 -1

45 lines not on this page · raw message

fs/cachefiles/ondemand.c +54 -20

74 lines not on this page · raw message

fs/cachefiles/volume.c +0 -1
index 89df0ba8ba5e..781aac4ef274 100644

Lines of this file are not shown. View the raw message.

fs/dcache.c +14 -17
index 66515fbc9dd7..4c144519aa70 100644

Lines of this file are not shown. View the raw message.

fs/erofs/zmap.c +2 -0
index e313c936351d..6bd435a565f6 100644

Lines of this file are not shown. View the raw message.

fs/file.c +2 -2
index 3b683b9101d8..005841dd3597 100644

Lines of this file are not shown. View the raw message.

fs/hfsplus/xattr.c +1 -1
index 9c9ff6b8c6f7..858029b1c173 100644

Lines of this file are not shown. View the raw message.

fs/iomap/buffered-io.c +2 -1
index 4ac6c8c403c2..248e615270ff 100644

Lines of this file are not shown. View the raw message.

fs/netfs/buffered_write.c +2 -2
index d2ce0849bb53..e6066ddbb3ac 100644

Lines of this file are not shown. View the raw message.

fs/netfs/fscache_volume.c +14 -0
index cdf991bdd9de..cb75c07b5281 100644

Lines of this file are not shown. View the raw message.

fs/netfs/internal.h +0 -2
index ec7045d24400..edf9b2a180ca 100644

Lines of this file are not shown. View the raw message.

fs/nfs/dir.c +13 -14
index bdd6cb33a370..375c08fdcf2f 100644

Lines of this file are not shown. View the raw message.

fs/nfs/nfs4proc.c +1 -0
index 3a816c4a6d5e..a691fa10b3e9 100644

Lines of this file are not shown. View the raw message.

fs/nfs/pagelist.c +5 -0
index 6efb5068c116..040b6b79c75e 100644

Lines of this file are not shown. View the raw message.

fs/nfs/symlink.c +1 -1
index 0e27a2e4e68b..13818129d268 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/cifsfs.c +1 -1
index d8ede6826000..612e3398b221 100644

Lines of this file are not shown. View the raw message.

fs/smb/client/file.c +2 -2
index 9be37d0fe724..4784fece4d99 100644

Lines of this file are not shown. View the raw message.

fs/smb/common/smb2pdu.h +34 -0
index 202ff9128156..694d2b4a4ad9 100644

Lines of this file are not shown. View the raw message.

fs/smb/server/smb2pdu.c +7 -2
index 7d26fdcebbf9..840c71c66b30 100644

Lines of this file are not shown. View the raw message.

include/linux/cdrom.h +1 -1
index 98c6fd0b39b6..fdfb61ccf55a 100644

Lines of this file are not shown. View the raw message.

include/linux/fscache-cache.h +6 -0
index bdf7f3eddf0a..4c91a019972b 100644

Lines of this file are not shown. View the raw message.

include/linux/page_ref.h +2 -47

49 lines not on this page · raw message

include/linux/pnp.h +0 -2
index ddbe7c3ca4ce..314892a6de8a 100644

Lines of this file are not shown. View the raw message.

include/linux/spi/spi.h +3 -2
index 64a4deb18dd0..afe6631da1bc 100644

Lines of this file are not shown. View the raw message.

include/linux/vfio.h +1 -0
index 8b1a29820409..000a6cab2d31 100644

Lines of this file are not shown. View the raw message.

include/linux/vfio_pci_core.h +0 -2
index a2c8b8bba711..f87067438ed4 100644

Lines of this file are not shown. View the raw message.

include/net/bluetooth/hci_sync.h +2 -0
index 6a9d063e9f47..534c3386e714 100644

Lines of this file are not shown. View the raw message.

include/sound/dmaengine_pcm.h +1 -0
index d70c55f17df7..94dbb23580f2 100644

Lines of this file are not shown. View the raw message.

include/trace/events/fscache.h +4 -0
index a6190aa1b406..f1a73aa83fbb 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/input-event-codes.h +2 -0
index 03edf2ccdf6c..a4206723f503 100644

Lines of this file are not shown. View the raw message.

io_uring/register.c +4 -0
index 99c37775f974..1ae8491e35ab 100644

Lines of this file are not shown. View the raw message.

kernel/workqueue.c +34 -17

51 lines not on this page · raw message

lib/Kconfig +1 -7
index 4557bb8a5256..c98e11c7330e 100644

Lines of this file are not shown. View the raw message.

lib/closure.c +8 -2
index c16540552d61..99380d9b4aa9 100644

Lines of this file are not shown. View the raw message.

mm/filemap.c +5 -5
index 41bf94f7dbd1..196f70166537 100644

Lines of this file are not shown. View the raw message.

mm/gup.c +1 -1
index 1611e73b1121..ec8570d25a6c 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hci_core.c +22 -54

76 lines not on this page · raw message

net/bluetooth/hci_sync.c +13 -0
index 7bfa6b59ba87..51f754b6e838 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/l2cap_core.c +3 -0
index 9394a158d1b1..b8ff522589cd 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/l2cap_sock.c +11 -3
index 8645461d45e8..1bc79887a794 100644

Lines of this file are not shown. View the raw message.

net/ipv6/ila/ila_lwt.c +6 -1
index 0601bad79822..ff7e734e335b 100644

Lines of this file are not shown. View the raw message.

net/ipv6/rpl_iptunnel.c +6 -8
index a013b92cbb86..2c83b7586422 100644

Lines of this file are not shown. View the raw message.

net/mac80211/cfg.c +3 -2
index 51dc2d9dd6b8..d0feadfdb46e 100644

Lines of this file are not shown. View the raw message.

net/mac80211/ieee80211_i.h +2 -0
index 70c67c860e99..48bf62e92e02 100644

Lines of this file are not shown. View the raw message.

net/mac80211/main.c +9 -2
index 4eaea0a9975b..0965ad11ec74 100644

Lines of this file are not shown. View the raw message.

net/mac80211/mesh.c +1 -0
index cbc9b5e40cb3..6d4510221c98 100644

Lines of this file are not shown. View the raw message.

net/mac80211/scan.c +19 -12
index 3da1c5c45035..b5f2df61c7f6 100644

Lines of this file are not shown. View the raw message.

net/mac80211/util.c +4 -0
index 0da5f6082d15..cd4573723999 100644

Lines of this file are not shown. View the raw message.

net/mac802154/tx.c +4 -4
index 2a6f1ed763c9..6fbed5bb5c3e 100644

Lines of this file are not shown. View the raw message.

net/wireless/rdev-ops.h +5 -1
index 43897a5269b6..755af47b88b9 100644

Lines of this file are not shown. View the raw message.

net/wireless/scan.c +40 -19

59 lines not on this page · raw message

scripts/kconfig/expr.c +0 -29
index a290de36307b..786616755217 100644

Lines of this file are not shown. View the raw message.

scripts/kconfig/expr.h +0 -1
index 0158f5eac454..f015883519b3 100644

Lines of this file are not shown. View the raw message.

scripts/kconfig/gconf.c +2 -1
index 9709aca3a30f..9e52c7360e55 100644

Lines of this file are not shown. View the raw message.

scripts/kconfig/menu.c +0 -2
index 3b822cd110f4..8b48a80e7e16 100644

Lines of this file are not shown. View the raw message.

sound/core/pcm_dmaengine.c +22 -0
index 494ec0c207fa..e299e8634751 100644

Lines of this file are not shown. View the raw message.

sound/core/pcm_native.c +2 -0
index 0b76e76823d2..353ecd960a1f 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/Kconfig +2 -0
index f806636242ee..b6869fe019f2 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/cs35l41_hda_property.c +8 -0
index 4f5e581cdd5f..16cf62f06d2c 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/cs35l56_hda.c +5 -0
index 6b77c38a0e15..e134ede6c5aa 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_realtek.c +9 -0
index 98f580e273e4..8a52ed9aa465 100644

Lines of this file are not shown. View the raw message.

sound/soc/amd/yc/acp6x-mach.c +7 -0
index 1760b5d42460..4e3a8ce690a4 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/cs35l56-shared.c +4 -0
index fd02b621da52..d29878af2a80 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/es8326.c +6 -2
index 17bd6b516077..8b2328d5d0c7 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/rt722-sdca-sdw.c +3 -1
index 65d584c1886e..543a3fa1f5d3 100644

Lines of this file are not shown. View the raw message.

sound/soc/intel/avs/topology.c +15 -4
index 42b42903ae9d..691d16ce95a0 100644

Lines of this file are not shown. View the raw message.

sound/soc/intel/boards/bytcr_rt5640.c +11 -0
index b41a1147f1c3..a64d1989e28a 100644

Lines of this file are not shown. View the raw message.

sound/soc/soc-generic-dmaengine-pcm.c +8 -0
index 092ca09f3631..7fa75b55c65e 100644

Lines of this file are not shown. View the raw message.

sound/soc/soc-topology.c +21 -8
index ba4890991f0d..ce22613bf969 100644

Lines of this file are not shown. View the raw message.

sound/soc/sof/intel/hda-pcm.c +6 -0
index d7b446f3f973..8b5fbbc777bd 100644

Lines of this file are not shown. View the raw message.

sound/soc/sof/sof-audio.c +1 -1
index e693dcb475e4..d1a7d867f6a3 100644

Lines of this file are not shown. View the raw message.

sound/soc/ti/davinci-mcasp.c +7 -2
index 1e760c315521..2b1ed91a736c 100644

Lines of this file are not shown. View the raw message.

sound/soc/ti/omap-hdmi.c +1 -5
index 4513b527ab97..ad8925b6481c 100644

Lines of this file are not shown. View the raw message.

tools/power/cpupower/utils/helpers/amd.c +23 -3
index c519cc89c97f..0a56e22240fc 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/bpf/config +3 -0
index 01f241ea2c67..dec9fd7ebba7 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/bpf/prog_tests/tc_links.c +61 -0

61 lines not on this page · raw message

tools/testing/selftests/cachestat/test_cachestat.c +1 -0
index b171fd53b004..632ab44737ec 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/filesystems/overlayfs/dev_in_maps.c +1 -0
index 759f86e7d263..2862aae58b79 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/futex/functional/Makefile +1 -1
index a392d0917b4e..994fa3468f17 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/net/openvswitch/ovs-dpctl.py +1 -1
index 5e0e539a323d..8b120718768e 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/openat2/openat2_test.c +1 -0
index 9024754530b2..5790ab446527 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/timens/exec.c +3 -3
index e40dc5be2f66..d12ff955de0d 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/timens/timer.c +1 -1
index 5e7f0051bd7b..5b939f59dfa4 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/timens/timerfd.c +1 -1
index 9edd43d6b2c1..a4196bbd6e33 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/timens/vfork_exec.c +2 -2
index beb7614941fb..5b8907bf451d 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/vDSO/parse_vdso.c +11 -5
index 413f75620a35..4ae417372e9e 100644

Lines of this file are not shown. View the raw message.

tools/testing/selftests/vDSO/vdso_standalone_test_x86.c +16 -2
index 8a44ff973ee1..27f6fdf11969 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.