Skip to contentSkip to conversation

Linux 5.4.132

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jul 14, 2021 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.4.132 kernel.

All users of the 5.4 kernel series must upgrade.

The updated 5.4.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.4.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/ABI/testing/evm                                  |   26 ++
 Documentation/admin-guide/kernel-parameters.txt                |    6 
 Documentation/hwmon/max31790.rst                               |    5 
 Makefile                                                       |    4 
 arch/arm/boot/dts/sama5d4.dtsi                                 |    2 
 arch/arm/kernel/perf_event_v7.c                                |    4 
 arch/arm64/boot/dts/marvell/armada-37xx.dtsi                   |    2 
 arch/arm64/include/asm/asm-uaccess.h                           |    4 
 arch/arm64/include/asm/kernel-pgtable.h                        |    6 
 arch/arm64/include/asm/mmu_context.h                           |    8 
 arch/arm64/include/asm/pgtable.h                               |    1 
 arch/arm64/include/asm/uaccess.h                               |    4 
 arch/arm64/kernel/entry.S                                      |    6 
 arch/arm64/kernel/setup.c                                      |    2 
 arch/arm64/kernel/vmlinux.lds.S                                |    8 
 arch/arm64/mm/proc.S                                           |    2 
 arch/ia64/kernel/mca_drv.c                                     |    2 
 arch/m68k/Kconfig.machine                                      |    3 
 arch/mips/include/asm/highmem.h                                |    2 
 arch/powerpc/include/asm/cputhreads.h                          |   30 ++
 arch/powerpc/kernel/smp.c                                      |   11 
 arch/powerpc/kernel/stacktrace.c                               |   27 +-
 arch/powerpc/kvm/book3s_hv.c                                   |   13 -
 arch/powerpc/kvm/book3s_hv_builtin.c                           |    2 
 arch/powerpc/kvm/book3s_hv_nested.c                            |    3 
 arch/powerpc/kvm/book3s_hv_rm_mmu.c                            |    2 
 arch/s390/Kconfig                                              |    2 
 arch/s390/kvm/kvm-s390.c                                       |   18 -
 arch/x86/kvm/vmx/nested.c                                      |    2 
 block/blk-merge.c                                              |    8 
 block/blk-rq-qos.h                                             |   24 ++
 block/blk-wbt.c                                                |   11 
 block/blk-wbt.h                                                |    1 
 crypto/shash.c                                                 |   18 +
 drivers/acpi/Makefile                                          |    5 
 drivers/acpi/acpi_pad.c                                        |   24 --
 drivers/acpi/acpi_tad.c                                        |   14 -
 drivers/acpi/acpica/nsrepair2.c                                |    7 
 drivers/acpi/bgrt.c                                            |   57 +---
 drivers/acpi/bus.c                                             |    1 
 drivers/acpi/device_sysfs.c                                    |   46 +--
 drivers/acpi/dock.c                                            |   26 +-
 drivers/acpi/ec.c                                              |   16 +
 drivers/acpi/power.c                                           |    9 
 drivers/acpi/processor_idle.c                                  |   40 +++
 drivers/acpi/resource.c                                        |    9 
 drivers/ata/pata_ep93xx.c                                      |    2 
 drivers/ata/pata_octeon_cf.c                                   |    5 
 drivers/ata/pata_rb532_cf.c                                    |    6 
 drivers/ata/sata_highbank.c                                    |    6 
 drivers/char/hw_random/exynos-trng.c                           |    4 
 drivers/char/pcmcia/cm4000_cs.c                                |    4 
 drivers/clk/actions/owl-s500.c                                 |   62 +++--
 drivers/clk/clk-si5341.c                                       |   19 +
 drivers/clk/meson/g12a.c                                       |    2 
 drivers/cpufreq/cpufreq.c                                      |   11 
 drivers/crypto/cavium/nitrox/nitrox_isr.c                      |    4 
 drivers/crypto/ccp/sp-pci.c                                    |    6 
 drivers/crypto/ixp4xx_crypto.c                                 |    2 
 drivers/crypto/nx/nx-842-pseries.c                             |    9 
 drivers/crypto/omap-sham.c                                     |    4 
 drivers/crypto/qat/qat_common/qat_hal.c                        |    6 
 drivers/crypto/qat/qat_common/qat_uclo.c                       |    1 
 drivers/crypto/ux500/hash/hash_core.c                          |    1 
 drivers/edac/i10nm_base.c                                      |    3 
 drivers/edac/pnd2_edac.c                                       |    3 
 drivers/edac/sb_edac.c                                         |    3 
 drivers/edac/skx_base.c                                        |    3 
 drivers/edac/ti_edac.c                                         |    1 
 drivers/extcon/extcon-max8997.c                                |    3 
 drivers/extcon/extcon-sm5502.c                                 |    1 
 drivers/firmware/stratix10-svc.c                               |   22 +
 drivers/fsi/fsi-core.c                                         |    4 
 drivers/fsi/fsi-occ.c                                          |    1 
 drivers/fsi/fsi-sbefifo.c                                      |   10 
 drivers/fsi/fsi-scom.c                                         |   16 -
 drivers/gpu/drm/qxl/qxl_dumb.c                                 |    2 
 drivers/gpu/drm/rockchip/cdn-dp-core.c                         |    1 
 drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c                |   36 ++-
 drivers/hid/hid-core.c                                         |   10 
 drivers/hid/wacom_wac.h                                        |    2 
 drivers/hv/hv_util.c                                           |    4 
 drivers/hwmon/max31722.c                                       |    9 
 drivers/hwmon/max31790.c                                       |   49 ++--
 drivers/iio/accel/bma180.c                                     |   10 
 drivers/iio/accel/bma220_spi.c                                 |   10 
 drivers/iio/accel/hid-sensor-accel-3d.c                        |   13 -
 drivers/iio/accel/kxcjk-1013.c                                 |   24 +-
 drivers/iio/accel/mxc4005.c                                    |   12 -
 drivers/iio/accel/stk8312.c                                    |   12 -
 drivers/iio/accel/stk8ba50.c                                   |   17 -
 drivers/iio/adc/at91-sama5d2_adc.c                             |   33 +-
 drivers/iio/adc/hx711.c                                        |    4 
 drivers/iio/adc/mxs-lradc-adc.c                                |    3 
 drivers/iio/adc/ti-ads1015.c                                   |   12 -
 drivers/iio/adc/ti-ads8688.c                                   |    3 
 drivers/iio/adc/vf610_adc.c                                    |   10 
 drivers/iio/gyro/bmg160_core.c                                 |   10 
 drivers/iio/humidity/am2315.c                                  |   16 -
 drivers/iio/imu/adis16400.c                                    |    3 
 drivers/iio/imu/adis_buffer.c                                  |    3 
 drivers/iio/light/isl29125.c                                   |   10 
 drivers/iio/light/ltr501.c                                     |   15 -
 drivers/iio/light/tcs3414.c                                    |   10 
 drivers/iio/light/tcs3472.c                                    |   16 -
 drivers/iio/light/vcnl4035.c                                   |    3 
 drivers/iio/magnetometer/bmc150_magn.c                         |   11 
 drivers/iio/magnetometer/hmc5843.h                             |    8 
 drivers/iio/magnetometer/hmc5843_core.c                        |    4 
 drivers/iio/magnetometer/rm3100-core.c                         |    3 
 drivers/iio/potentiostat/lmp91000.c                            |    4 
 drivers/iio/proximity/as3935.c                                 |   10 
 drivers/iio/proximity/isl29501.c                               |    2 
 drivers/iio/proximity/pulsedlight-lidar-lite-v2.c              |   10 
 drivers/iio/proximity/srf08.c                                  |   14 -
 drivers/infiniband/core/uverbs_cmd.c                           |   21 +
 drivers/infiniband/hw/mlx4/qp.c                                |    9 
 drivers/infiniband/hw/mlx5/main.c                              |    4 
 drivers/infiniband/hw/mlx5/qp.c                                |    6 
 drivers/infiniband/sw/rxe/rxe_net.c                            |   10 
 drivers/infiniband/sw/rxe/rxe_qp.c                             |    1 
 drivers/infiniband/sw/rxe/rxe_resp.c                           |    2 
 drivers/input/joydev.c                                         |    2 
 drivers/input/keyboard/Kconfig                                 |    3 
 drivers/input/keyboard/hil_kbd.c                               |    1 
 drivers/input/touchscreen/usbtouchscreen.c                     |    8 
 drivers/iommu/dma-iommu.c                                      |    6 
 drivers/leds/Kconfig                                           |    1 
 drivers/leds/leds-as3645a.c                                    |    1 
 drivers/leds/leds-ktd2692.c                                    |   27 +-
 drivers/leds/leds-lm36274.c                                    |   82 +++---
 drivers/leds/leds-lm3692x.c                                    |    8 
 drivers/media/common/siano/smscoreapi.c                        |   22 -
 drivers/media/common/siano/smscoreapi.h                        |    4 
 drivers/media/common/siano/smsdvb-main.c                       |    4 
 drivers/media/dvb-core/dvb_net.c                               |   25 +-
 drivers/media/i2c/ir-kbd-i2c.c                                 |    4 
 drivers/media/i2c/s5c73m3/s5c73m3-core.c                       |    6 
 drivers/media/i2c/s5c73m3/s5c73m3.h                            |    2 
 drivers/media/i2c/s5k4ecgx.c                                   |   10 
 drivers/media/i2c/s5k5baf.c                                    |    6 
 drivers/media/i2c/s5k6aa.c                                     |   10 
 drivers/media/i2c/tc358743.c                                   |    1 
 drivers/media/mc/Makefile                                      |    2 
 drivers/media/pci/bt8xx/bt878.c                                |    3 
 drivers/media/pci/cobalt/cobalt-driver.c                       |    1 
 drivers/media/pci/cobalt/cobalt-driver.h                       |    7 
 drivers/media/platform/exynos-gsc/gsc-m2m.c                    |    4 
 drivers/media/platform/exynos4-is/fimc-isp-video.c             |    7 
 drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c                   |    6 
 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c         |    4 
 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c          |    8 
 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.h          |    2 
 drivers/media/platform/s5p-cec/s5p_cec.c                       |    7 
 drivers/media/platform/s5p-g2d/g2d.c                           |    3 
 drivers/media/platform/s5p-jpeg/jpeg-core.c                    |    5 
 drivers/media/platform/sh_vou.c                                |    6 
 drivers/media/platform/sti/bdisp/Makefile                      |    2 
 drivers/media/platform/sti/bdisp/bdisp-v4l2.c                  |    7 
 drivers/media/platform/sti/delta/Makefile                      |    2 
 drivers/media/platform/sti/hva/Makefile                        |    2 
 drivers/media/platform/sti/hva/hva-hw.c                        |    3 
 drivers/media/usb/au0828/au0828-core.c                         |    4 
 drivers/media/usb/cpia2/cpia2.h                                |    1 
 drivers/media/usb/cpia2/cpia2_core.c                           |   12 +
 drivers/media/usb/cpia2/cpia2_usb.c                            |   13 -
 drivers/media/usb/dvb-usb/cinergyT2-core.c                     |    2 
 drivers/media/usb/dvb-usb/cxusb.c                              |    2 
 drivers/media/usb/em28xx/em28xx-input.c                        |    8 
 drivers/media/usb/gspca/gl860/gl860.c                          |    4 
 drivers/media/usb/pvrusb2/pvrusb2-hdw.c                        |    4 
 drivers/media/v4l2-core/v4l2-fh.c                              |    1 
 drivers/memstick/host/rtsx_usb_ms.c                            |   10 
 drivers/misc/eeprom/idt_89hpesx.c                              |    8 
 drivers/mmc/core/block.c                                       |    8 
 drivers/mmc/host/sdhci-sprd.c                                  |    1 
 drivers/mmc/host/usdhi6rol0.c                                  |    1 
 drivers/mmc/host/via-sdmmc.c                                   |    3 
 drivers/mmc/host/vub300.c                                      |    2 
 drivers/mtd/nand/raw/marvell_nand.c                            |    4 
 drivers/mtd/parsers/redboot.c                                  |    7 
 drivers/net/can/peak_canfd/peak_canfd.c                        |    4 
 drivers/net/can/usb/ems_usb.c                                  |    3 
 drivers/net/ethernet/aeroflex/greth.c                          |    3 
 drivers/net/ethernet/broadcom/genet/bcmgenet.c                 |    1 
 drivers/net/ethernet/emulex/benet/be_cmds.c                    |    6 
 drivers/net/ethernet/emulex/benet/be_main.c                    |    2 
 drivers/net/ethernet/ezchip/nps_enet.c                         |    4 
 drivers/net/ethernet/faraday/ftgmac100.c                       |    6 
 drivers/net/ethernet/google/gve/gve_main.c                     |    4 
 drivers/net/ethernet/ibm/ehea/ehea_main.c                      |    9 
 drivers/net/ethernet/ibm/ibmvnic.c                             |   10 
 drivers/net/ethernet/intel/e1000e/netdev.c                     |   24 +-
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c                 |    3 
 drivers/net/ethernet/intel/i40e/i40e_main.c                    |    2 
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c                |    2 
 drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c           |   10 
 drivers/net/ieee802154/mac802154_hwsim.c                       |   11 
 drivers/net/vrf.c                                              |   14 -
 drivers/net/vxlan.c                                            |    2 
 drivers/net/wireless/ath/ath10k/mac.c                          |    1 
 drivers/net/wireless/ath/ath10k/pci.c                          |   14 -
 drivers/net/wireless/ath/ath9k/main.c                          |    5 
 drivers/net/wireless/ath/carl9170/Kconfig                      |    8 
 drivers/net/wireless/ath/wcn36xx/main.c                        |   21 -
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c    |   37 +--
 drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c |    8 
 drivers/net/wireless/intel/iwlwifi/mvm/tx.c                    |    3 
 drivers/net/wireless/marvell/mwifiex/pcie.c                    |   10 
 drivers/net/wireless/rsi/rsi_91x_hal.c                         |    6 
 drivers/net/wireless/rsi/rsi_91x_mac80211.c                    |    3 
 drivers/net/wireless/rsi/rsi_91x_mgmt.c                        |    3 
 drivers/net/wireless/rsi/rsi_main.h                            |    1 
 drivers/nvme/target/fc.c                                       |   10 
 drivers/of/fdt.c                                               |    8 
 drivers/of/of_reserved_mem.c                                   |    8 
 drivers/pci/controller/pci-hyperv.c                            |    3 
 drivers/perf/arm_smmuv3_pmu.c                                  |   18 -
 drivers/perf/fsl_imx8_ddr_perf.c                               |    6 
 drivers/phy/socionext/phy-uniphier-pcie.c                      |   11 
 drivers/phy/ti/phy-dm816x-usb.c                                |   17 +
 drivers/pinctrl/sh-pfc/pfc-r8a7796.c                           |    3 
 drivers/pinctrl/sh-pfc/pfc-r8a77990.c                          |    8 
 drivers/platform/x86/toshiba_acpi.c                            |    1 
 drivers/regulator/da9052-regulator.c                           |    3 
 drivers/regulator/hi655x-regulator.c                           |   16 -
 drivers/regulator/mt6358-regulator.c                           |    2 
 drivers/regulator/uniphier-regulator.c                         |    1 
 drivers/rtc/rtc-stm32.c                                        |    6 
 drivers/s390/cio/chp.c                                         |    3 
 drivers/s390/cio/chsc.c                                        |    2 
 drivers/scsi/FlashPoint.c                                      |   32 +-
 drivers/scsi/mpt3sas/mpt3sas_scsih.c                           |    4 
 drivers/scsi/scsi_lib.c                                        |    1 
 drivers/soundwire/stream.c                                     |   13 -
 drivers/spi/spi-loopback-test.c                                |    2 
 drivers/spi/spi-omap-100k.c                                    |    2 
 drivers/spi/spi-sun6i.c                                        |    6 
 drivers/spi/spi-topcliff-pch.c                                 |    4 
 drivers/spi/spi.c                                              |    1 
 drivers/ssb/scan.c                                             |    1 
 drivers/ssb/sdio.c                                             |    1 
 drivers/staging/fbtft/fb_agm1264k-fl.c                         |   20 -
 drivers/staging/fbtft/fb_bd663474.c                            |    4 
 drivers/staging/fbtft/fb_ili9163.c                             |    4 
 drivers/staging/fbtft/fb_ili9320.c                             |    1 
 drivers/staging/fbtft/fb_ili9325.c                             |    4 
 drivers/staging/fbtft/fb_ili9340.c                             |    1 
 drivers/staging/fbtft/fb_s6d1121.c                             |    4 
 drivers/staging/fbtft/fb_sh1106.c                              |    1 
 drivers/staging/fbtft/fb_ssd1289.c                             |    4 
 drivers/staging/fbtft/fb_ssd1325.c                             |    2 
 drivers/staging/fbtft/fb_ssd1331.c                             |    6 
 drivers/staging/fbtft/fb_ssd1351.c                             |    1 
 drivers/staging/fbtft/fb_upd161704.c                           |    4 
 drivers/staging/fbtft/fb_watterott.c                           |    1 
 drivers/staging/fbtft/fbtft-bus.c                              |    3 
 drivers/staging/fbtft/fbtft-core.c                             |   13 -
 drivers/staging/fbtft/fbtft-io.c                               |   12 -
 drivers/staging/gdm724x/gdm_lte.c                              |   20 +
 drivers/staging/media/imx/imx-media-csi.c                      |   14 +
 drivers/staging/media/imx/imx7-mipi-csis.c                     |    6 
 drivers/staging/mt7621-dts/mt7621.dtsi                         |    2 
 drivers/staging/rtl8712/hal_init.c                             |    3 
 drivers/staging/rtl8712/usb_intf.c                             |   10 
 drivers/target/iscsi/cxgbit/cxgbit_ddp.c                       |   19 -
 drivers/target/iscsi/cxgbit/cxgbit_target.c                    |   21 +
 drivers/tty/nozomi.c                                           |    9 
 drivers/tty/serial/8250/8250_port.c                            |   19 +
 drivers/tty/serial/8250/serial_cs.c                            |    2 
 drivers/tty/serial/mvebu-uart.c                                |   18 -
 drivers/tty/serial/sh-sci.c                                    |    8 
 drivers/usb/class/cdc-acm.c                                    |    5 
 drivers/usb/dwc2/core.c                                        |   30 +-
 drivers/usb/dwc3/core.c                                        |    3 
 drivers/usb/gadget/function/f_eem.c                            |   43 +++
 drivers/usb/gadget/function/f_fs.c                             |   65 ++---
 drivers/usb/host/xhci-mem.c                                    |    1 
 drivers/usb/typec/class.c                                      |    4 
 drivers/vfio/pci/vfio_pci.c                                    |   29 +-
 drivers/video/backlight/lm3630a_bl.c                           |    4 
 drivers/video/fbdev/imxfb.c                                    |    2 
 drivers/visorbus/visorchipset.c                                |    6 
 fs/btrfs/Kconfig                                               |    2 
 fs/btrfs/delayed-inode.c                                       |   18 +
 fs/btrfs/send.c                                                |   11 
 fs/btrfs/transaction.c                                         |    6 
 fs/btrfs/tree-log.c                                            |    1 
 fs/cifs/cifsglob.h                                             |    3 
 fs/cifs/connect.c                                              |    5 
 fs/configfs/file.c                                             |   10 
 fs/dax.c                                                       |    3 
 fs/dlm/config.c                                                |    9 
 fs/dlm/lowcomms.c                                              |    2 
 fs/ext4/extents.c                                              |    3 
 fs/ext4/extents_status.c                                       |    4 
 fs/ext4/ialloc.c                                               |   11 
 fs/ext4/mballoc.c                                              |    9 
 fs/ext4/super.c                                                |   10 
 fs/fs-writeback.c                                              |   39 ---
 fs/fuse/dev.c                                                  |   12 -
 fs/ntfs/inode.c                                                |    2 
 fs/ocfs2/filecheck.c                                           |    6 
 fs/ocfs2/stackglue.c                                           |    8 
 include/crypto/internal/hash.h                                 |    8 
 include/linux/bio.h                                            |   12 -
 include/linux/iio/common/cros_ec_sensors_core.h                |    2 
 include/linux/prandom.h                                        |    2 
 include/linux/tracepoint.h                                     |   10 
 include/media/media-dev-allocator.h                            |    2 
 include/net/ip.h                                               |   12 -
 include/net/ip6_route.h                                        |   16 +
 include/net/sch_generic.h                                      |   12 +
 include/net/tc_act/tc_vlan.h                                   |    1 
 include/net/xfrm.h                                             |    1 
 kernel/kthread.c                                               |   19 +
 kernel/locking/lockdep.c                                       |  120 +++++++++-
 kernel/rcu/tree.c                                              |    2 
 kernel/sched/core.c                                            |   43 ++-
 kernel/sched/deadline.c                                        |    2 
 kernel/sched/fair.c                                            |    8 
 kernel/sched/rt.c                                              |   17 +
 kernel/time/clocksource.c                                      |   53 +++-
 kernel/trace/bpf_trace.c                                       |    3 
 kernel/trace/trace_events_hist.c                               |    7 
 kernel/tracepoint.c                                            |   33 ++
 lib/iov_iter.c                                                 |    9 
 lib/kstrtox.c                                                  |   13 -
 lib/kstrtox.h                                                  |    2 
 lib/seq_buf.c                                                  |    4 
 lib/vsprintf.c                                                 |   82 ++++--
 mm/huge_memory.c                                               |    2 
 mm/z3fold.c                                                    |    1 
 net/bluetooth/hci_event.c                                      |   13 +
 net/bluetooth/mgmt.c                                           |    3 
 net/bpfilter/main.c                                            |    2 
 net/can/bcm.c                                                  |    7 
 net/can/gw.c                                                   |    3 
 net/can/j1939/main.c                                           |    4 
 net/can/j1939/socket.c                                         |    3 
 net/core/filter.c                                              |    4 
 net/ipv4/esp4.c                                                |    2 
 net/ipv4/fib_frontend.c                                        |    2 
 net/ipv4/route.c                                               |    3 
 net/ipv6/esp6.c                                                |    2 
 net/ipv6/exthdrs.c                                             |   31 +-
 net/mac80211/mlme.c                                            |    9 
 net/mac80211/sta_info.c                                        |    5 
 net/netfilter/nft_exthdr.c                                     |    3 
 net/netfilter/nft_osf.c                                        |    5 
 net/netfilter/nft_tproxy.c                                     |    9 
 net/netlabel/netlabel_mgmt.c                                   |   19 -
 net/sched/act_vlan.c                                           |    7 
 net/sched/cls_tcindex.c                                        |    2 
 net/sched/sch_qfq.c                                            |    8 
 net/sunrpc/sched.c                                             |   12 -
 net/tls/tls_sw.c                                               |    2 
 net/xfrm/xfrm_state.c                                          |   14 +
 samples/bpf/xdp_redirect_user.c                                |    2 
 scripts/Makefile.build                                         |    9 
 scripts/tools-support-relr.sh                                  |    3 
 security/integrity/evm/evm_main.c                              |    5 
 security/integrity/evm/evm_secfs.c                             |   13 -
 sound/pci/hda/patch_realtek.c                                  |   43 +++
 sound/pci/intel8x0.c                                           |    2 
 sound/soc/atmel/atmel-i2s.c                                    |   34 ++
 sound/soc/codecs/cs42l42.h                                     |    2 
 sound/soc/codecs/rk3328_codec.c                                |   28 +-
 sound/soc/hisilicon/hi6210-i2s.c                               |   14 -
 sound/soc/mediatek/common/mtk-btcvsd.c                         |   24 +-
 sound/soc/sh/rcar/adg.c                                        |    4 
 sound/usb/format.c                                             |    2 
 sound/usb/mixer.c                                              |    8 
 sound/usb/mixer.h                                              |    1 
 sound/usb/mixer_scarlett_gen2.c                                |    7 
 tools/bpf/bpftool/main.c                                       |    4 
 tools/perf/util/llvm-utils.c                                   |    2 
 tools/testing/selftests/tc-testing/plugin-lib/scapyPlugin.py   |    2 
 tools/testing/selftests/x86/protection_keys.c                  |    3 
 379 files changed, 2313 insertions(+), 1243 deletions(-)

Al Viro (2):
copy_page_to_iter(): fix ITER_DISCARD case iov_iter_fault_in_readable() should do nothing in xarray case

Alex Williamson (1):
vfio/pci: Handle concurrent vma faults

Alexander Aring (2):
fs: dlm: cancel work sync othercon
fs: dlm: fix memory leak when fenced

Alexander Larkin (1):
Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl

Alexandru Ardelean (1):
iio: at91-sama5d2_adc: remove usage of iio_priv_to_dev() helper

Alvin Šipraga (2):
brcmfmac: fix setting of station info chains bitmask
brcmfmac: correctly report average RSSI in station info

Andrew Gabbasov (1):
usb: gadget: f_fs: Fix setting of device and driver data cross-references

Andy Shevchenko (8):
net: mvpp2: Put fwnode in error case during ->probe()
net: pch_gbe: Propagate error from devm_gpio_request_one()
staging: fbtft: Rectify GPIO handling
backlight: lm3630a_bl: Put fwnode in error case during ->probe()
leds: lm3532: select regmap I2C API
leds: lm3692x: Put fwnode in any case during ->probe()
eeprom: idt_89hpesx: Put fwnode in matching case during ->probe()
eeprom: idt_89hpesx: Restore printing the unsupported fwnode name

Anirudh Rayabharam (2):
ext4: fix kernel infoleak via ext4_extent_header
media: pvrusb2: fix warning in pvr2_i2c_core_done

Anshuman Khandual (1):
arm64/mm: Fix ttbr0 values stored in struct thread_info for software-pan

Antoine Tenart (1):
vrf: do not push non-ND strict packets with a source LLA through packet taps again

Ard Biesheuvel (1):
crypto: shash - avoid comparing pointers to exported functions under CFI

Arnaldo Carvalho de Melo (1):
perf llvm: Return -ENOMEM when asprintf() fails

Arnd Bergmann (2):
ia64: mca_drv: fix incorrect array size calculation
mwifiex: re-fix for unaligned accesses

Axel Lin (2):
regulator: da9052: Ensure enough delay time for .set_voltage_time_sel
regulator: hi655x: Fix pass wrong pointer to config.driver_data

Bailey Forrest (1):
gve: Fix swapped vars when fetching max queues

Bean Huo (1):
mmc: block: Disable CMDQ on the ioctl path

Bixuan Cui (2):
crypto: nx - add missing MODULE_DEVICE_TABLE EDAC/ti: Add missing MODULE_DEVICE_TABLE

Bob Pearson (1):
RDMA/rxe: Fix qp reference counting for atomic ops

Boqun Feng (2):
locking/lockdep: Fix the dep path printing for backwards BFS lockding/lockdep: Avoid to find wrong lock dep path in check_irq_usage()

Boris Sukholitko (1):
net/sched: act_vlan: Fix modify to allow 0

Bryan O'Donoghue (1):
wcn36xx: Move hal_buf allocation to devm_kmalloc in probe

Charles Keepax (1):
spi: Make of_register_spi_device also set the fwnode

Chris Chiu (1):
ACPI: EC: Make more Asus laptops use ECDT _GPE

Christophe JAILLET (10):
crypto: ccp - Fix a resource leak in an error handling path
media: rc: i2c: Fix an error message
video: fbdev: imxfb: Fix an error message
brcmsmac: mac80211_if: Fix a resource leak in an error handling path
tty: nozomi: Fix a resource leak in an error handling function
firmware: stratix10-svc: Fix a resource leak in an error handling path
tty: nozomi: Fix the error handling path of 'nozomi_card_init()'
ASoC: mediatek: mtk-btcvsd: Fix an error handling path in 'mtk_btcvsd_snd_probe()'
phy: ti: dm816x: Fix the error handling path in 'dm816x_usb_phy_probe()
leds: ktd2692: Fix an error handling path

Christophe Leroy (1):
btrfs: disable build on platforms having page size 256K

Chung-Chiang Cheng (1):
configfs: fix memleak in configfs_release_bin_file

Clément Lassieur (1):
usb: dwc2: Don't reset the core after setting turnaround time

Codrin Ciubotariu (1):
ASoC: atmel-i2s: Fix usage of capture and playback at the same time

Colin Ian King (2):
drm: qxl: ensure surf.data is ininitialized
fsi: core: Fix return of error values on failures

Corentin Labbe (2):
crypto: ixp4xx - dma_unmap the correct address
mtd: partitions: redboot: seek fis-index-block in the right node

Cristian Ciocaltea (3):
clk: actions: Fix UART clock dividers on Owl S500 SoC
clk: actions: Fix SD clocks factor table on Owl S500 SoC
clk: actions: Fix bisp_factor_table based clocks on Owl S500 SoC

Daehwan Jung (1):
ALSA: usb-audio: fix rate on Ozone Z90 USB headset

Dan Carpenter (4):
media: au0828: fix a NULL vs IS_ERR() check
ocfs2: fix snprintf() checking
staging: gdm724x: check for buffer overflow in gdm_lte_multi_sdu_pkt()
staging: gdm724x: check for overflow in gdm_lte_netif_rx()

Dany Madden (1):
Revert "ibmvnic: remove duplicate napi_schedule call in open function"

Dave Hansen (1):
selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random

David Sterba (2):
btrfs: clear defrag status of a root if starting transaction fails
btrfs: clear log tree recovering status if starting transaction fails

Desmond Cheong Zhi Xi (1):
ntfs: fix validity check for file name attribute

Dillon Min (1):

      media: s5p-g2d: Fix a memory leak on ctx->fh.m2m_ctx

Dinghao Liu (1):
i40e: Fix error handling in i40e_vsi_open

Dmitry Torokhov (1):
HID: do not use down_interruptible() when unbinding devices

Dongliang Mu (3):
media: dvd_usb: memory leak in cinergyt2_fe_attach
ieee802154: hwsim: Fix possible memory leak in hwsim_subscribe_all_others
ieee802154: hwsim: Fix memory leak in hwsim_add_one

Dwaipayan Ray (1):
ACPI: Use DEVICE_ATTR_<RW|RO|WO> macros

Eddie James (2):
fsi: scom: Reset the FSI2PIB engine for any error
fsi: occ: Don't accept response from un-initialized OCC

Elia Devito (1):

      ALSA: hda/realtek: Improve fixup for HP Spectre x360 15-df0xxx

Eric Dumazet (5):
pkt_sched: sch_qfq: fix qfq_change_class() error path
vxlan: add missing rcu_read_lock() in neigh_reduce()
ieee802154: hwsim: avoid possible crash in hwsim_del_edge_nl()
ipv6: exthdrs: do not blindly use init_net
ipv6: fix out-of-bound access in ip6_parse_tlv()

Erik Kaneda (1):
ACPICA: Fix memory leak caused by _CID repair function

Evgeny Novikov (1):
media: st-hva: Fix potential NULL pointer dereferences

Felix Fietkau (1):
mac80211: remove iwlwifi specific workaround that broke sta NDP tx

Filipe Manana (1):
btrfs: send: fix invalid path for unlink operations after parent orphanization

Gary Lin (1):
bpfilter: Specify the log level for the kmsg message

Geert Uytterhoeven (3):
pinctrl: renesas: r8a7796: Add missing bias for PRESET# pin
pinctrl: renesas: r8a77990: JTAG pins do not have pull-down capabilities
of: Fix truncation of memory sizes on 32-bit platforms

Greg Kroah-Hartman (1):

      Linux 5.4.132

Guenter Roeck (4):
hwmon: (max31790) Report correct current pwm duty cycles
hwmon: (max31790) Fix pwmX_enable attributes
hwmon: (max31722) Remove non-standard ACPI device IDs
hwmon: (max31790) Fix fan speed reporting for fan7..12

Gustavo A. R. Silva (1):
media: siano: Fix out-of-bounds warnings in smscore_load_firmware_family2()

Haiyang Zhang (1):
PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv()

Hanjun Guo (1):
ACPI: bus: Call kobject_put() in acpi_init() error path

Hannes Reinecke (1):
nvmet-fc: do not check for invalid target port in nvmet_fc_handle_fcp_rqst()

Hannu Hartikainen (1):
USB: cdc-acm: blacklist Heimann USB Appset device

Hans Verkuil (1):
media: cobalt: fix race condition in setting HPD

Heiko Carstens (1):
KVM: s390: get rid of register asm usage

Herbert Xu (1):
crypto: nx - Fix RCU warning in nx842_OF_upd_status

Hsin-Hsiung Wang (1):
regulator: mt6358: Fix vdram2 .vsel_mask

Hui Wang (1):
ACPI: resources: Add checks for ACPI IRQ override

Igor Matheus Andrade Torrente (1):
media: em28xx: Fix possible memory leak of em28xx struct

Jack Xu (2):
crypto: qat - check return code of qat_hal_rd_rel_reg()
crypto: qat - remove unused macro in FW loader

Jakub Kicinski (1):
tls: prevent oversized sendfile() hangs by ignoring MSG_MORE

Jan Kara (1):
dax: fix ENOMEM handling in grab_mapping_entry()

Jason Gerecke (1):
HID: wacom: Correct base usage for capacitive ExpressKey status bits

Jay Fang (2):
spi: spi-loopback-test: Fix 'tx_buf' might be 'rx_buf'
spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages()

Jerome Brunet (1):
clk: meson: g12a: fix gp0 and hifi ranges

Jian-Hong Pan (1):
net: bcmgenet: Fix attaching to PYH failed on RPi 4B

Jiapeng Chong (1):
platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard()

Jing Xiangfeng (2):
usb: typec: Add the missed altmode_id_remove() in typec_register_altmode() drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe()

Joachim Fenkes (2):
fsi/sbefifo: Clean up correct FIFO when receiving reset request from SBE fsi/sbefifo: Fix reset timeout

Joerg Roedel (1):
iommu/dma: Fix compile warning in 32-bit builds

Johan Hovold (3):
Input: usbtouchscreen - fix control-request directions
media: gspca/gl860: fix zero-length control requests
mmc: vub3000: fix control-request direction

Jonathan Cameron (29):
iio: accel: bma180: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: accel: bma220: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: accel: hid: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: accel: kxcjk-1013: Fix buffer alignment in iio_push_to_buffers_with_timestamp() iio:accel:mxc4005: Drop unnecessary explicit casts in regmap_bulk_read calls
iio: accel: mxc4005: Fix overread of data and alignment issue.
iio: accel: stk8312: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: accel: stk8ba50: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: adc: ti-ads1015: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: adc: vf610: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: gyro: bmg160: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: humidity: am2315: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: prox: srf08: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: prox: pulsed-light: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: prox: as3935: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: magn: hmc5843: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: magn: bmc150: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: light: isl29125: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: light: tcs3414: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: light: tcs3472: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: cros_ec_sensors: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
iio: potentiostat: lmp91000: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
iio: adc: at91-sama5d2: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: adc: mxs-lradc: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: adc: ti-ads8688: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
iio: magn: rm3100: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
iio: light: vcnl4035: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
iio: prox: isl29501: Fix buffer alignment in iio_push_to_buffers_with_timestamp()

Josef Bacik (2):
btrfs: fix error handling in __btrfs_update_delayed_inode
btrfs: abort transaction if we fail to update the delayed inode

Josh Poimboeuf (1):
kbuild: Fix objtool dependency for 'OBJECT_FILES_NON_STANDARD_<obj> := n'

Kamal Heib (1):
RDMA/rxe: Fix failure during driver load

Krzysztof Kozlowski (1):
mmc: sdhci-sprd: use sdhci_sprd_writew

Krzysztof Wilczyński (1):
ACPI: sysfs: Fix a buffer overrun problem with description_show()

Kunihiko Hayashi (1):
phy: uniphier-pcie: Fix updating phy parameters

Kuninori Morimoto (1):
ASoC: rsnd: tidyup loop on rsnd_adg_clk_query()

Laurent Pinchart (1):
media: imx: imx7_mipi_csis: Fix logging of only error event counters

Leon Romanovsky (3):
RDMA/core: Sanitize WQ state received from the userspace RDMA/mlx5: Don't add slave port to unaffiliated list RDMA/mlx5: Don't access NULL-cleared mpi pointer

Linyu Yuan (1):
usb: gadget: eem: fix echo command packet response issue

Liu Shixin (1):
netlabel: Fix memory leak in netlbl_mgmt_add_common

Long Li (1):
block: return the correct bvec when checking for gaps

Luc Van Oostenryck (1):
kbuild: run the checker after the compiler

Ludovic Desroches (1):
ARM: dts: at91: sama5d4: fix pinctrl muxing

Luiz Augusto von Dentz (2):
Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid
Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event

Lv Yunlong (2):
media: v4l2-core: Avoid the dangling pointer in v4l2_fh_release
media: exynos4-is: Fix a use after free in isp_video_release

Maciej W. Rozycki (1):
serial: 8250: Actually allow UPF_MAGIC_MULTIPLIER baud rates

Maciej Żenczykowski (1):
bpf: Do not change gso_size during bpf_skb_change_proto()

Marc Kleine-Budde (1):
iio: ltr501: mark register holding upper 8 bits of ALS_DATA{0,1} and PS_DATA as volatile, too

Marcelo Ricardo Leitner (1):
tc-testing: fix list handling

Marek Behún (1):

      leds: lm36274: cosmetic: rename lm36274_data to chip

Marek Szyprowski (1):
extcon: max8997: Add missing modalias string

Marek Vasut (1):
rsi: Assign beacon rate settings to the correct rate_info descriptor field

Mario Limonciello (1):
ACPI: processor idle: Fix up C-state latency if not ordered

Mark Rutland (1):
arm64: consistently use reserved_pg_dir

Martin Fuzzey (2):
rtc: stm32: Fix unbalanced clk_disable_unprepare() on probe error path
rsi: fix AP mode with WPA failure due to encrypted EAPOL

Mateusz Palczewski (1):
i40e: Fix autoneg disabling for non-10GBaseT links

Matti Vaittinen (1):
extcon: extcon-max8997: Fix IRQ freeing at error path

Mauro Carvalho Chehab (11):
media: mdk-mdp: fix pm_runtime_get_sync() usage count
media: s5p: fix pm_runtime_get_sync() usage count
media: sh_vou: fix pm_runtime_get_sync() usage count
media: mtk-vcodec: fix PM runtime get logic
media: s5p-jpeg: fix pm_runtime_get_sync() usage count
media: sti/bdisp: fix pm_runtime_get_sync() usage count
media: exynos-gsc: fix pm_runtime_get_sync() usage count
media: sti: fix obj-$(config) targets
media: dvb_net: avoid speculation from net slot
media: siano: fix device register error path
media: s5p_cec: decrement usage count if disabled

Miao Wang (1):
net/ipv4: swap flow ports when validating source

Miaohe Lin (2):
mm/huge_memory.c: don't discard hugepage if other processes are mapping it mm/z3fold: fix potential memory leak in z3fold_destroy_pool()

Michael Buesch (1):
ssb: sdio: Don't overwrite const buffer if block_write fails

Michael Ellerman (1):
powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi()

Miklos Szeredi (3):
fuse: ignore PG_workingset after stealing
fuse: check connected before queueing on fpq->io
fuse: reject internal errno

Mimi Zohar (1):
evm: fix writing <securityfs>/evm overflow

Minas Harutyunyan (1):
usb: dwc3: Fix debugfs creation flow

Ming Lei (2):
block: fix race between adding/removing rq qos and normal IO
block: fix discard request merge

Mirko Vogt (1):
spi: spi-sun6i: Fix chipselect/clock bug

Muchun Song (1):
writeback: fix obtain a reference to a freeing memcg css

Nathan Chancellor (2):
KVM: PPC: Book3S HV: Workaround high stack usage with clang
ACPI: bgrt: Fix CFI violation

Nicholas Piggin (1):
powerpc: Offline CPU in stop_this_cpu()

Nick Desaulniers (1):
Makefile: fix GDB warning with CONFIG_RELR

Nuno Sa (2):
iio: adis_buffer: do not return ints in irq handlers
iio: adis16400: do not return ints in irq handlers

Odin Ugedal (1):
sched/fair: Fix ascii art by relpacing tabs

Oleksij Rempel (1):
can: j1939: j1939_sk_init(): set SOCK_RCU_FREE to call sk_destruct() after RCU is done

Oliver Hartkopp (1):
can: gw: synchronize rcu operations before removing gw job entry

Oliver Lang (2):
iio: ltr501: ltr559: fix initialization of LTR501_ALS_CONTR
iio: ltr501: ltr501_read_ps(): add missing endianness conversion

Ondrej Zary (2):
serial_cs: Add Option International GSM-Ready 56K/ISDN modem
serial_cs: remove wrong GLOBETROTTER.cis entry

Pablo Neira Ayuso (3):
netfilter: nft_exthdr: check for IPv6 packet before further processing
netfilter: nft_osf: check for TCP packet before further processing
netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols

Pali Rohár (5):
serial: mvebu-uart: fix calculation of clock divisor
ath9k: Fix kernel NULL pointer dereference during ath_reset_internal()
serial: mvebu-uart: do not allow changing baudrate when uartclk is not available
serial: mvebu-uart: correctly calculate minimal possible baudrate
arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART

Pan Dong (1):
ext4: fix avefreec in find_group_orlov

Paul E. McKenney (2):
clocksource: Retry clock read if long delays detected
rcu: Invoke rcu_spawn_core_kthreads() from rcu_spawn_gp_kthread()

Pavel Skripkin (9):
media: dvb-usb: fix wrong definition
net: can: ems_usb: fix use-after-free in ems_usb_disconnect()
media: cpia2: fix memory leak in cpia2_usb_probe
net: ethernet: aeroflex: fix UAF in greth_of_remove
net: ethernet: ezchip: fix UAF in nps_enet_remove
net: ethernet: ezchip: fix error handling
net: sched: fix warning in tcindex_alloc_perfect_hash
staging: rtl8712: remove redundant check in r871xu_drv_init
staging: rtl8712: fix memory leak in rtl871x_load_fw_cb

Petr Mladek (1):
kthread_worker: fix return value when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync()

Petr Oros (1):
Revert "be2net: disable bh with spin_lock in be_process_mcc"

Ping-Ke Shih (1):
mac80211: remove iwlwifi specific workaround NDPs of null_response

Qais Yousef (3):
sched/uclamp: Fix wrong implementation of cpu.uclamp.min sched/uclamp: Fix locking around cpu_util_update_eff() sched/uclamp: Fix uclamp_tg_restrict()

Quat Le (1):
scsi: core: Retry I/O for Notify (Enable Spinup) Required error

Rafael J. Wysocki (1):

      cpufreq: Make cpufreq_online() call driver->offline() on errors

Randy Dunlap (5):
media: I2C: change 'RST' to "RSET" to fix multiple build errors
m68k: atari: Fix ATARI_KBD_CORE kconfig unmet dependency warning
wireless: carl9170: fix LEDS build errors & warnings
scsi: FlashPoint: Rename si_flags field
s390: appldata depends on PROC_SYSCTL

Richard Fitzgerald (5):
lib: vsprintf: Fix handling of number field widths in vsscanf
random32: Fix implicit truncation warning in prandom_seed_state()
ACPI: tables: Add custom DSDT file as makefile prerequisite
ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK
soundwire: stream: Fix test for DP prepare complete

Robert Hancock (2):
clk: si5341: Avoid divide errors due to bogus register contents
clk: si5341: Update initialization magic

Roberto Sassu (2):
evm: Execute evm_inode_init_security() only when an HMAC key is loaded
evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded

Robin Murphy (1):
perf/smmuv3: Don't trample existing events with global filter

Roman Gushchin (1):
writeback, cgroup: increment isw_nr_in_flight before grabbing an inode

Sabrina Dubroca (1):
xfrm: xfrm_state_mtu should return at least 1280 for ipv6

Sasha Neftin (1):
e1000e: Check the PCIm state

Sean Christopherson (1):
KVM: nVMX: Ensure 64-bit shift when checking VMFUNC bitmap

Sergey Shtylyov (4):
sata_highbank: fix deferred probing
pata_rb532_cf: fix deferred probing
pata_octeon_cf: avoid WARN_ON() in ata_host_activate()
pata_ep93xx: fix deferred probing

Sergio Paracuellos (1):
staging: mt7621-dts: fix pci address for PCI memory range

Shuah Khan (1):
media: Fix Media Controller API config checks

Srinath Mannam (1):
iommu/dma: Fix IOVA reserve dma ranges

Stephan Gerhold (1):
extcon: sm5502: Drop invalid register write in sm5502_reg_data

Stephane Grosjean (1):
can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path

Stephen Brennan (1):
ext4: use ext4_grp_locked_error in mb_find_extent

Steve French (1):

      cifs: fix missing spinlock around update to ses->status

Steve Longerbeam (1):
media: imx-csi: Skip first few frames from a BT.656 source

Steven Rostedt (VMware) (2):
tracing/histograms: Fix parsing of "sym-offset" modifier
tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing

Sukadev Bhattiprolu (1):
ibmvnic: free tx_pool if tso_pool alloc fails

Suraj Jitindar Singh (1):
KVM: PPC: Book3S HV: Fix TLB management on SMT8 POWER9 and POWER10 processors

Takashi Iwai (6):
ALSA: usb-audio: Fix OOB access at proc output
ALSA: usb-audio: scarlett2: Fix wrong resume call
ALSA: intel8x0: Fix breakage at ac97 clock measurement
ALSA: hda/realtek: Add another ALC236 variant support
ALSA: hda/realtek: Fix bass speaker DAC mapping for Asus UM431D
ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too

Thadeu Lima de Souza Cascardo (1):
can: bcm: delay release of struct bcm_op after synchronize_rcu()

Thomas Hebb (1):
drm/rockchip: dsi: move all lane config except LCDC mux to bind()

Tian Tao (1):
spi: omap-100k: Fix the length judgment problem

Tong Tiangen (1):
crypto: nitrox - fix unchecked variable in nitrox_register_interrupts

Tong Zhang (1):
memstick: rtsx_usb_ms: fix UAF

Tony Luck (1):
EDAC/Intel: Do not load EDAC driver when running as a guest

Vadim Fedorenko (1):
net: lwtunnel: handle MTU calculation in forwading

Varun Prakash (1):
scsi: target: cxgbit: Unmap DMA buffer before calling target_execute_cmd()

Vincent Donnefort (2):
sched/rt: Fix RT utilization tracking during policy change sched/rt: Fix Deadline utilization tracking during policy change

Vineeth Vijayan (1):
s390/cio: dont call css_wait_for_slow_path() inside a lock

Wang Hai (1):
samples/bpf: Fix the error return code of xdp_redirect's main()

Wei Li (1):
MIPS: Fix PKMAP with 32-bit MIPS huge page support

Yang Jihong (1):
arm_pmu: Fix write counter incorrect in ARMv7 big-endian mode

Yang Li (1):
ath10k: Fix an error code in ath10k_add_interface()

Yang Yingliang (8):
ext4: return error code when ext4_fill_flex_info() fails
net: ftgmac100: add missing error return code in ftgmac100_probe() drm/rockchip: cdn-dp-core: add missing clk_disable_unprepare() on error in cdn_dp_grf_write()
ath10k: go to path err_unsupported when chip id is not supported
ath10k: add missing error return code in ath10k_pci_probe()
ASoC: rk3328: fix missing clk_disable_unprepare() on error in rk3328_platform_probe()
ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup()
mtd: rawnand: marvell: add missing clk_disable_unprepare() on error in marvell_nfc_resume()

Yoshihiro Shimoda (1):
serial: sh-sci: Stop dmaengine transfer in sci_stop_tx()

Yu Kuai (1):
char: pcmcia: error out if 'num_bytes_read' is greater than 4 in set_protocol()

YueHaibing (1):
hv_utils: Fix passing zero to 'PTR_ERR' warning

Yun Zhou (1):
seq_buf: Make trace_seq_putmem_hex() support data longer than 8

Yunsheng Lin (1):
net: sched: add barrier to ensure correct ordering for lockless qdisc

Zhang Qilong (1):
crypto: omap-sham - Fix PM reference leak in omap sham ops

Zhang Xiaoxu (2):
SUNRPC: Fix the batch tasks count wraparound.
SUNRPC: Should wake up the privileged task firstly.

Zhang Yi (5):
ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle
ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit
ext4: remove check for zero nr_to_scan in ext4_es_scan()
blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled()
blk-wbt: make sure throttle is enabled properly

Zhangjiantao (Kirin, nanjing) (1):
xhci: solve a double free problem while doing s4

Zhen Lei (9):
crypto: ux500 - Fix error return code in hash_hw_final()
media: tc358743: Fix error return code in tc358743_probe_of()
mmc: usdhi6rol0: fix error return code in usdhi6_probe()
ehea: fix error return code in ehea_restart_qps()
ssb: Fix error return code in ssb_bus_scan()
Input: hil_kbd - fix error return code in hil_dev_connect()
visorbus: fix error return code in visorchipset_init()
scsi: mpt3sas: Fix error return value in _scsih_expander_add()
leds: as3645a: Fix error return code in as3645a_parse_node()

Zheyu Ma (2):
media: bt8xx: Fix a missing check bug in bt878_probe
mmc: via-sdmmc: add a check against NULL pointer dereference

Zhihao Cheng (1):
tools/bpftool: Fix error return code in do_batch()

Zou Wei (1):
regulator: uniphier: Add missing MODULE_DEVICE_TABLE

frank zago (1):
iio: light: tcs3472: do not free unallocated IRQ

zhangyi (F) (1):
block_dump: remove block_dump feature in mark_inode_dirty()

Łukasz Stelmach (1):
hwrng: exynos - Fix runtime PM imbalance on error

author maintainer
#1 lore raw
Documentation/ABI/testing/evm +24 -2
index 201d10319fa1..1df1177df68a 100644
@@ -42,8 +42,30 @@ Description:
 		modification of EVM-protected metadata and
 		disable all further modification of policy
 
-		Note that once a key has been loaded, it will no longer be
-		possible to enable metadata modification.
+		Echoing a value is additive, the new value is added to the
+		existing initialization flags.
+
+		For example, after::
+
+		  echo 2 ><securityfs>/evm
+
+		another echo can be performed::
+
+		  echo 1 ><securityfs>/evm
+
+		and the resulting value will be 3.
+
+		Note that once an HMAC key has been loaded, it will no longer
+		be possible to enable metadata modification. Signaling that an
+		HMAC key has been loaded will clear the corresponding flag.
+		For example, if the current value is 6 (2 and 4 set)::
+
+		  echo 1 ><securityfs>/evm
+
+		will set the new value to 3 (4 cleared).
+
+		Loading an HMAC key is the only way to disable metadata
+		modification.
 
 		Until key loading has been signaled EVM can not create
 		or validate the 'security.evm' xattr, but returns
Documentation/admin-guide/kernel-parameters.txt +6 -0
index a19ae163c058..dbb68067ba4e 100644
@@ -567,6 +567,12 @@
 			loops can be debugged more effectively on production
 			systems.
 
+	clocksource.max_cswd_read_retries= [KNL]
+			Number of clocksource_watchdog() retries due to
+			external delays before the clock will be marked
+			unstable.  Defaults to three retries, that is,
+			four attempts to read the clock under test.
+
 	clearcpuid=BITNUM[,BITNUM...] [X86]
 			Disable CPUID feature X for the kernel. See
 			arch/x86/include/asm/cpufeatures.h for the valid bit
Documentation/hwmon/max31790.rst +3 -2
index 84c62a12ef3a..f4749c44cfb8 100644
@@ -38,6 +38,7 @@ Sysfs entries
 fan[1-12]_input    RO  fan tachometer speed in RPM
 fan[1-12]_fault    RO  fan experienced fault
 fan[1-6]_target    RW  desired fan speed in RPM
-pwm[1-6]_enable    RW  regulator mode, 0=disabled, 1=manual mode, 2=rpm mode
-pwm[1-6]           RW  fan target duty cycle (0-255)
+pwm[1-6]_enable    RW  regulator mode, 0=disabled (duty cycle=0%), 1=manual mode, 2=rpm mode
+pwm[1-6]           RW  read: current pwm duty cycle,
+                       write: target pwm duty cycle (0-255)
 ================== === =======================================================
Makefile +2 -2
index 5e8716dbbadc..58ea876fa183 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 4
-SUBLEVEL = 131
+SUBLEVEL = 132
 EXTRAVERSION =
 NAME = Kleptomaniac Octopus
 
@@ -937,7 +937,7 @@ LDFLAGS_vmlinux	+= $(call ld-option, -X,)
 endif
 
 ifeq ($(CONFIG_RELR),y)
-LDFLAGS_vmlinux	+= --pack-dyn-relocs=relr
+LDFLAGS_vmlinux	+= --pack-dyn-relocs=relr --use-android-relr-tags
 endif
 
 # make the checker run with the right architecture
arch/arm/boot/dts/sama5d4.dtsi +1 -1
index 6ab27a7b388d..a4cef07c38cb 100644
@@ -914,7 +914,7 @@
 					0xffffffff 0x3ffcfe7c 0x1c010101	/* pioA */
 					0x7fffffff 0xfffccc3a 0x3f00cc3a	/* pioB */
 					0xffffffff 0x3ff83fff 0xff00ffff	/* pioC */
-					0x0003ff00 0x8002a800 0x00000000	/* pioD */
+					0xb003ff00 0x8002a800 0x00000000	/* pioD */
 					0xffffffff 0x7fffffff 0x76fff1bf	/* pioE */
 					>;
 
arch/arm/kernel/perf_event_v7.c +2 -2
index 2924d7910b10..eb2190477da1 100644
@@ -773,10 +773,10 @@ static inline void armv7pmu_write_counter(struct perf_event *event, u64 value)
 		pr_err("CPU%u writing wrong counter %d\n",
 			smp_processor_id(), idx);
 	} else if (idx == ARMV7_IDX_CYCLE_COUNTER) {
-		asm volatile("mcr p15, 0, %0, c9, c13, 0" : : "r" (value));
+		asm volatile("mcr p15, 0, %0, c9, c13, 0" : : "r" ((u32)value));
 	} else {
 		armv7_pmnc_select_counter(idx);
-		asm volatile("mcr p15, 0, %0, c9, c13, 2" : : "r" (value));
+		asm volatile("mcr p15, 0, %0, c9, c13, 2" : : "r" ((u32)value));
 	}
 }
 
arch/arm64/boot/dts/marvell/armada-37xx.dtsi +1 -1
index 28ad59ee6c34..6cb1278613c5 100644
@@ -134,7 +134,7 @@
 
 			uart0: serial@12000 {
 				compatible = "marvell,armada-3700-uart";
-				reg = <0x12000 0x200>;
+				reg = <0x12000 0x18>;
 				clocks = <&xtalclk>;
 				interrupts =
 				<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
arch/arm64/include/asm/asm-uaccess.h +2 -2
index c764cc8fb3b6..9bf56e30f4a8 100644
@@ -15,10 +15,10 @@
 	.macro	__uaccess_ttbr0_disable, tmp1
 	mrs	\tmp1, ttbr1_el1			// swapper_pg_dir
 	bic	\tmp1, \tmp1, #TTBR_ASID_MASK
-	sub	\tmp1, \tmp1, #RESERVED_TTBR0_SIZE	// reserved_ttbr0 just before swapper_pg_dir
+	sub	\tmp1, \tmp1, #PAGE_SIZE		// reserved_pg_dir just before swapper_pg_dir
 	msr	ttbr0_el1, \tmp1			// set reserved TTBR0_EL1
 	isb
-	add	\tmp1, \tmp1, #RESERVED_TTBR0_SIZE
+	add	\tmp1, \tmp1, #PAGE_SIZE
 	msr	ttbr1_el1, \tmp1		// set reserved ASID
 	isb
 	.endm
arch/arm64/include/asm/kernel-pgtable.h +0 -6
index a6e5da755359..817efd95d539 100644
@@ -89,12 +89,6 @@
 #define INIT_DIR_SIZE (PAGE_SIZE * EARLY_PAGES(KIMAGE_VADDR + TEXT_OFFSET, _end))
 #define IDMAP_DIR_SIZE		(IDMAP_PGTABLE_LEVELS * PAGE_SIZE)
 
-#ifdef CONFIG_ARM64_SW_TTBR0_PAN
-#define RESERVED_TTBR0_SIZE	(PAGE_SIZE)
-#else
-#define RESERVED_TTBR0_SIZE	(0)
-#endif
-
 /* Initial memory map size */
 #if ARM64_SWAPPER_USES_SECTION_MAPS
 #define SWAPPER_BLOCK_SHIFT	SECTION_SHIFT
arch/arm64/include/asm/mmu_context.h +4 -4
index 3a5d9f1c91b6..fb564de90aa7 100644
@@ -36,11 +36,11 @@ static inline void contextidr_thread_switch(struct task_struct *next)
 }
 
 /*
- * Set TTBR0 to empty_zero_page. No translations will be possible via TTBR0.
+ * Set TTBR0 to reserved_pg_dir. No translations will be possible via TTBR0.
  */
 static inline void cpu_set_reserved_ttbr0(void)
 {
-	unsigned long ttbr = phys_to_ttbr(__pa_symbol(empty_zero_page));
+	unsigned long ttbr = phys_to_ttbr(__pa_symbol(reserved_pg_dir));
 
 	write_sysreg(ttbr, ttbr0_el1);
 	isb();
@@ -184,9 +184,9 @@ static inline void update_saved_ttbr0(struct task_struct *tsk,
 		return;
 
 	if (mm == &init_mm)
-		ttbr = __pa_symbol(empty_zero_page);
+		ttbr = phys_to_ttbr(__pa_symbol(reserved_pg_dir));
 	else
-		ttbr = virt_to_phys(mm->pgd) | ASID(mm) << 48;
+		ttbr = phys_to_ttbr(virt_to_phys(mm->pgd)) | ASID(mm) << 48;
 
 	WRITE_ONCE(task_thread_info(tsk)->ttbr0, ttbr);
 }
arch/arm64/include/asm/pgtable.h +1 -0
index 8c420f916fe2..a92a187ec891 100644
@@ -466,6 +466,7 @@ extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
 extern pgd_t idmap_pg_dir[PTRS_PER_PGD];
 extern pgd_t idmap_pg_end[];
 extern pgd_t tramp_pg_dir[PTRS_PER_PGD];
+extern pgd_t reserved_pg_dir[PTRS_PER_PGD];
 
 extern void set_swapper_pgd(pgd_t *pgdp, pgd_t pgd);
 
arch/arm64/include/asm/uaccess.h +2 -2
index 32fc8061aa76..b9a37a415bf9 100644
@@ -112,8 +112,8 @@ static inline void __uaccess_ttbr0_disable(void)
 	local_irq_save(flags);
 	ttbr = read_sysreg(ttbr1_el1);
 	ttbr &= ~TTBR_ASID_MASK;
-	/* reserved_ttbr0 placed before swapper_pg_dir */
-	write_sysreg(ttbr - RESERVED_TTBR0_SIZE, ttbr0_el1);
+	/* reserved_pg_dir placed before swapper_pg_dir */
+	write_sysreg(ttbr - PAGE_SIZE, ttbr0_el1);
 	isb();
 	/* Set reserved ASID */
 	write_sysreg(ttbr, ttbr1_el1);
arch/arm64/kernel/entry.S +4 -2
index cf3bd2976e57..db137746c6fa 100644
@@ -1018,9 +1018,10 @@ ENDPROC(el0_svc)
  */
 	.pushsection ".entry.tramp.text", "ax"
 
+	// Move from tramp_pg_dir to swapper_pg_dir
 	.macro tramp_map_kernel, tmp
 	mrs	\tmp, ttbr1_el1
-	add	\tmp, \tmp, #(PAGE_SIZE + RESERVED_TTBR0_SIZE)
+	add	\tmp, \tmp, #(2 * PAGE_SIZE)
 	bic	\tmp, \tmp, #USER_ASID_FLAG
 	msr	ttbr1_el1, \tmp
 #ifdef CONFIG_QCOM_FALKOR_ERRATUM_1003
@@ -1037,9 +1038,10 @@ alternative_else_nop_endif
 #endif /* CONFIG_QCOM_FALKOR_ERRATUM_1003 */
 	.endm
 
+	// Move from swapper_pg_dir to tramp_pg_dir
 	.macro tramp_unmap_kernel, tmp
 	mrs	\tmp, ttbr1_el1
-	sub	\tmp, \tmp, #(PAGE_SIZE + RESERVED_TTBR0_SIZE)
+	sub	\tmp, \tmp, #(2 * PAGE_SIZE)
 	orr	\tmp, \tmp, #USER_ASID_FLAG
 	msr	ttbr1_el1, \tmp
 	/*
arch/arm64/kernel/setup.c +1 -1
index d98987b82874..f55f4a15a905 100644
@@ -356,7 +356,7 @@ void __init setup_arch(char **cmdline_p)
 	 * faults in case uaccess_enable() is inadvertently called by the init
 	 * thread.
 	 */
-	init_task.thread_info.ttbr0 = __pa_symbol(empty_zero_page);
+	init_task.thread_info.ttbr0 = phys_to_ttbr(__pa_symbol(reserved_pg_dir));
 #endif
 
 #ifdef CONFIG_VT
arch/arm64/kernel/vmlinux.lds.S +3 -5
index 0bab37b1acbe..1f82cf631c3c 100644
@@ -157,13 +157,11 @@ SECTIONS
 	. += PAGE_SIZE;
 #endif
 
-#ifdef CONFIG_ARM64_SW_TTBR0_PAN
-	reserved_ttbr0 = .;
-	. += RESERVED_TTBR0_SIZE;
-#endif
+	reserved_pg_dir = .;
+	. += PAGE_SIZE;
+
 	swapper_pg_dir = .;
 	. += PAGE_SIZE;
-	swapper_pg_end = .;
 
 	. = ALIGN(SEGMENT_ALIGN);
 	__init_begin = .;
arch/arm64/mm/proc.S +1 -1
index a1e0592d1fbc..13e78a5d8690 100644
@@ -166,7 +166,7 @@ ENDPROC(cpu_do_switch_mm)
 	.pushsection ".idmap.text", "awx"
 
 .macro	__idmap_cpu_set_reserved_ttbr1, tmp1, tmp2
-	adrp	\tmp1, empty_zero_page
+	adrp	\tmp1, reserved_pg_dir
 	phys_to_ttbr \tmp2, \tmp1
 	offset_ttbr1 \tmp2, \tmp1
 	msr	ttbr1_el1, \tmp2
arch/ia64/kernel/mca_drv.c +1 -1
index 4d0ab323dee8..2a40268c3d49 100644
@@ -343,7 +343,7 @@ init_record_index_pools(void)
 
 	/* - 2 - */
 	sect_min_size = sal_log_sect_min_sizes[0];
-	for (i = 1; i < sizeof sal_log_sect_min_sizes/sizeof(size_t); i++)
+	for (i = 1; i < ARRAY_SIZE(sal_log_sect_min_sizes); i++)
 		if (sect_min_size > sal_log_sect_min_sizes[i])
 			sect_min_size = sal_log_sect_min_sizes[i];
 
arch/m68k/Kconfig.machine +3 -0
index c01e103492fd..1bbe0dd0c4fe 100644
@@ -23,6 +23,9 @@ config ATARI
 	  this kernel on an Atari, say Y here and browse the material
 	  available in <file:Documentation/m68k>; otherwise say N.
 
+config ATARI_KBD_CORE
+	bool
+
 config MAC
 	bool "Macintosh support"
 	depends on MMU
arch/mips/include/asm/highmem.h +1 -1
index 9d84aafc33d0..9a6bf4f011b5 100644
@@ -36,7 +36,7 @@ extern pte_t *pkmap_page_table;
  * easily, subsequent pte tables have to be allocated in one physical
  * chunk of RAM.
  */
-#ifdef CONFIG_PHYS_ADDR_T_64BIT
+#if defined(CONFIG_PHYS_ADDR_T_64BIT) || defined(CONFIG_MIPS_HUGE_TLB_SUPPORT)
 #define LAST_PKMAP 512
 #else
 #define LAST_PKMAP 1024
arch/powerpc/include/asm/cputhreads.h +30 -0
index deb99fd6e060..51f533b6ece0 100644
@@ -99,6 +99,36 @@ static inline int cpu_last_thread_sibling(int cpu)
 	return cpu | (threads_per_core - 1);
 }
 
+/*
+ * tlb_thread_siblings are siblings which share a TLB. This is not
+ * architected, is not something a hypervisor could emulate and a future
+ * CPU may change behaviour even in compat mode, so this should only be
+ * used on PowerNV, and only with care.
+ */
+static inline int cpu_first_tlb_thread_sibling(int cpu)
+{
+	if (cpu_has_feature(CPU_FTR_ARCH_300) && (threads_per_core == 8))
+		return cpu & ~0x6;	/* Big Core */
+	else
+		return cpu_first_thread_sibling(cpu);
+}
+
+static inline int cpu_last_tlb_thread_sibling(int cpu)
+{
+	if (cpu_has_feature(CPU_FTR_ARCH_300) && (threads_per_core == 8))
+		return cpu | 0x6;	/* Big Core */
+	else
+		return cpu_last_thread_sibling(cpu);
+}
+
+static inline int cpu_tlb_thread_sibling_step(void)
+{
+	if (cpu_has_feature(CPU_FTR_ARCH_300) && (threads_per_core == 8))
+		return 2;		/* Big Core */
+	else
+		return 1;
+}
+
 static inline u32 get_tensr(void)
 {
 #ifdef	CONFIG_BOOKE
arch/powerpc/kernel/smp.c +11 -0
index b24d860bbab9..c06cac543f18 100644
@@ -588,6 +588,8 @@ static void nmi_stop_this_cpu(struct pt_regs *regs)
 	/*
 	 * IRQs are already hard disabled by the smp_handle_nmi_ipi.
 	 */
+	set_cpu_online(smp_processor_id(), false);
+
 	spin_begin();
 	while (1)
 		spin_cpu_relax();
@@ -603,6 +605,15 @@ void smp_send_stop(void)
 static void stop_this_cpu(void *dummy)
 {
 	hard_irq_disable();
+
+	/*
+	 * Offlining CPUs in stop_this_cpu can result in scheduler warnings,
+	 * (see commit de6e5d38417e), but printk_safe_flush_on_panic() wants
+	 * to know other CPUs are offline before it breaks locks to flush
+	 * printk buffers, in case we panic()ed while holding the lock.
+	 */
+	set_cpu_online(smp_processor_id(), false);
+
 	spin_begin();
 	while (1)
 		spin_cpu_relax();
arch/powerpc/kernel/stacktrace.c +21 -6
index e2a46cfed5fd..b13c6213b0d9 100644
@@ -19,6 +19,7 @@
 #include <asm/ptrace.h>
 #include <asm/processor.h>
 #include <linux/ftrace.h>
+#include <linux/delay.h>
 #include <asm/kprobes.h>
 
 #include <asm/paca.h>
@@ -230,17 +231,31 @@ static void handle_backtrace_ipi(struct pt_regs *regs)
 
 static void raise_backtrace_ipi(cpumask_t *mask)
 {
+	struct paca_struct *p;
 	unsigned int cpu;
+	u64 delay_us;
 
 	for_each_cpu(cpu, mask) {
-		if (cpu == smp_processor_id())
+		if (cpu == smp_processor_id()) {
 			handle_backtrace_ipi(NULL);
-		else
-			smp_send_safe_nmi_ipi(cpu, handle_backtrace_ipi, 5 * USEC_PER_SEC);
-	}
+			continue;
+		}
 
-	for_each_cpu(cpu, mask) {
-		struct paca_struct *p = paca_ptrs[cpu];
+		delay_us = 5 * USEC_PER_SEC;
+
+		if (smp_send_safe_nmi_ipi(cpu, handle_backtrace_ipi, delay_us)) {
+			// Now wait up to 5s for the other CPU to do its backtrace
+			while (cpumask_test_cpu(cpu, mask) && delay_us) {
+				udelay(1);
+				delay_us--;
+			}
+
+			// Other CPU cleared itself from the mask
+			if (delay_us)
+				continue;
+		}
+
+		p = paca_ptrs[cpu];
 
 		cpumask_clear_cpu(cpu, mask);
 
arch/powerpc/kvm/book3s_hv.c +7 -6
index 6938b793a015..9011857c0434 100644
@@ -2536,7 +2536,7 @@ static void radix_flush_cpu(struct kvm *kvm, int cpu, struct kvm_vcpu *vcpu)
 	cpumask_t *cpu_in_guest;
 	int i;
 
-	cpu = cpu_first_thread_sibling(cpu);
+	cpu = cpu_first_tlb_thread_sibling(cpu);
 	if (nested) {
 		cpumask_set_cpu(cpu, &nested->need_tlb_flush);
 		cpu_in_guest = &nested->cpu_in_guest;
@@ -2550,9 +2550,10 @@ static void radix_flush_cpu(struct kvm *kvm, int cpu, struct kvm_vcpu *vcpu)
 	 * the other side is the first smp_mb() in kvmppc_run_core().
 	 */
 	smp_mb();
-	for (i = 0; i < threads_per_core; ++i)
-		if (cpumask_test_cpu(cpu + i, cpu_in_guest))
-			smp_call_function_single(cpu + i, do_nothing, NULL, 1);
+	for (i = cpu; i <= cpu_last_tlb_thread_sibling(cpu);
+					i += cpu_tlb_thread_sibling_step())
+		if (cpumask_test_cpu(i, cpu_in_guest))
+			smp_call_function_single(i, do_nothing, NULL, 1);
 }
 
 static void kvmppc_prepare_radix_vcpu(struct kvm_vcpu *vcpu, int pcpu)
@@ -2583,8 +2584,8 @@ static void kvmppc_prepare_radix_vcpu(struct kvm_vcpu *vcpu, int pcpu)
 	 */
 	if (prev_cpu != pcpu) {
 		if (prev_cpu >= 0 &&
-		    cpu_first_thread_sibling(prev_cpu) !=
-		    cpu_first_thread_sibling(pcpu))
+		    cpu_first_tlb_thread_sibling(prev_cpu) !=
+		    cpu_first_tlb_thread_sibling(pcpu))
 			radix_flush_cpu(kvm, prev_cpu, vcpu);
 		if (nested)
 			nested->prev_cpu[vcpu->arch.nested_vcpu_id] = pcpu;
arch/powerpc/kvm/book3s_hv_builtin.c +1 -1
index 7c1909657b55..4a91b543a854 100644
@@ -847,7 +847,7 @@ void kvmppc_check_need_tlb_flush(struct kvm *kvm, int pcpu,
 	 * Thus we make all 4 threads use the same bit.
 	 */
 	if (cpu_has_feature(CPU_FTR_ARCH_300))
-		pcpu = cpu_first_thread_sibling(pcpu);
+		pcpu = cpu_first_tlb_thread_sibling(pcpu);
 
 	if (nested)
 		need_tlb_flush = &nested->need_tlb_flush;
arch/powerpc/kvm/book3s_hv_nested.c +2 -1
index cdf30c6eaf54..66fa2c7590aa 100644
@@ -51,7 +51,8 @@ void kvmhv_save_hv_regs(struct kvm_vcpu *vcpu, struct hv_guest_state *hr)
 	hr->ppr = vcpu->arch.ppr;
 }
 
-static void byteswap_pt_regs(struct pt_regs *regs)
+/* Use noinline_for_stack due to https://bugs.llvm.org/show_bug.cgi?id=49610 */
+static noinline_for_stack void byteswap_pt_regs(struct pt_regs *regs)
 {
 	unsigned long *addr = (unsigned long *) regs;
 
arch/powerpc/kvm/book3s_hv_rm_mmu.c +1 -1
index 220305454c23..9bf3be438ac5 100644
@@ -67,7 +67,7 @@ static int global_invalidates(struct kvm *kvm)
 		 * so use the bit for the first thread to represent the core.
 		 */
 		if (cpu_has_feature(CPU_FTR_ARCH_300))
-			cpu = cpu_first_thread_sibling(cpu);
+			cpu = cpu_first_tlb_thread_sibling(cpu);
 		cpumask_clear_cpu(cpu, &kvm->arch.need_tlb_flush);
 	}
 
arch/s390/Kconfig +1 -1
index 43a81d0ad507..0023b78391f1 100644
@@ -920,7 +920,7 @@ config CMM_IUCV
 config APPLDATA_BASE
 	def_bool n
 	prompt "Linux - VM Monitor Stream, base infrastructure"
-	depends on PROC_FS
+	depends on PROC_SYSCTL
 	help
 	  This provides a kernel interface for creating and updating z/VM APPLDATA
 	  monitor records. The monitor records are updated at certain time
arch/s390/kvm/kvm-s390.c +9 -9
index d08e13c6dc98..20ba8537dbcc 100644
@@ -318,31 +318,31 @@ static void allow_cpu_feat(unsigned long nr)
 
 static inline int plo_test_bit(unsigned char nr)
 {
-	register unsigned long r0 asm("0") = (unsigned long) nr | 0x100;
+	unsigned long function = (unsigned long)nr | 0x100;
 	int cc;
 
 	asm volatile(
+		"	lgr	0,%[function]\n"
 		/* Parameter registers are ignored for "test bit" */
 		"	plo	0,0,0,0(0)\n"
 		"	ipm	%0\n"
 		"	srl	%0,28\n"
 		: "=d" (cc)
-		: "d" (r0)
-		: "cc");
+		: [function] "d" (function)
+		: "cc", "0");
 	return cc == 0;
 }
 
 static __always_inline void __insn32_query(unsigned int opcode, u8 *query)
 {
-	register unsigned long r0 asm("0") = 0;	/* query function */
-	register unsigned long r1 asm("1") = (unsigned long) query;
-
 	asm volatile(
-		/* Parameter regs are ignored */
+		"	lghi	0,0\n"
+		"	lgr	1,%[query]\n"
+		/* Parameter registers are ignored */
 		"	.insn	rrf,%[opc] << 16,2,4,6,0\n"
 		:
-		: "d" (r0), "a" (r1), [opc] "i" (opcode)
-		: "cc", "memory");
+		: [query] "d" ((unsigned long)query), [opc] "i" (opcode)
+		: "cc", "memory", "0", "1");
 }
 
 #define INSN_SORTL 0xb938
arch/x86/kvm/vmx/nested.c +1 -1
index 3f63bd7421ac..023bd3e1aa0d 100644
@@ -5099,7 +5099,7 @@ static int handle_vmfunc(struct kvm_vcpu *vcpu)
 	}
 
 	vmcs12 = get_vmcs12(vcpu);
-	if ((vmcs12->vm_function_control & (1 << function)) == 0)
+	if (!(vmcs12->vm_function_control & BIT_ULL(function)))
 		goto fail;
 
 	switch (function) {
block/blk-merge.c +6 -2
index 03959bfe961c..4b022f0c49d2 100644
@@ -571,10 +571,14 @@ static inline unsigned int blk_rq_get_max_segments(struct request *rq)
 static inline int ll_new_hw_segment(struct request *req, struct bio *bio,
 		unsigned int nr_phys_segs)
 {
-	if (req->nr_phys_segments + nr_phys_segs > blk_rq_get_max_segments(req))
+	if (blk_integrity_merge_bio(req->q, req, bio) == false)
 		goto no_merge;
 
-	if (blk_integrity_merge_bio(req->q, req, bio) == false)
+	/* discard request merge won't add new segment */
+	if (req_op(req) == REQ_OP_DISCARD)
+		return 1;
+
+	if (req->nr_phys_segments + nr_phys_segs > blk_rq_get_max_segments(req))
 		goto no_merge;
 
 	/*
block/blk-rq-qos.h +24 -0
index 2bc43e94f4c4..2bcb3495e376 100644
@@ -7,6 +7,7 @@
 #include <linux/blk_types.h>
 #include <linux/atomic.h>
 #include <linux/wait.h>
+#include <linux/blk-mq.h>
 
 #include "blk-mq-debugfs.h"
 
@@ -99,8 +100,21 @@ static inline void rq_wait_init(struct rq_wait *rq_wait)
 
 static inline void rq_qos_add(struct request_queue *q, struct rq_qos *rqos)
 {
+	/*
+	 * No IO can be in-flight when adding rqos, so freeze queue, which
+	 * is fine since we only support rq_qos for blk-mq queue.
+	 *
+	 * Reuse ->queue_lock for protecting against other concurrent
+	 * rq_qos adding/deleting
+	 */
+	blk_mq_freeze_queue(q);
+
+	spin_lock_irq(&q->queue_lock);
 	rqos->next = q->rq_qos;
 	q->rq_qos = rqos;
+	spin_unlock_irq(&q->queue_lock);
+
+	blk_mq_unfreeze_queue(q);
 
 	if (rqos->ops->debugfs_attrs)
 		blk_mq_debugfs_register_rqos(rqos);
@@ -110,12 +124,22 @@ static inline void rq_qos_del(struct request_queue *q, struct rq_qos *rqos)
 {
 	struct rq_qos **cur;
 
+	/*
+	 * See comment in rq_qos_add() about freezing queue & using
+	 * ->queue_lock.
+	 */
+	blk_mq_freeze_queue(q);
+
+	spin_lock_irq(&q->queue_lock);
 	for (cur = &q->rq_qos; *cur; cur = &(*cur)->next) {
 		if (*cur == rqos) {
 			*cur = rqos->next;
 			break;
 		}
 	}
+	spin_unlock_irq(&q->queue_lock);
+
+	blk_mq_unfreeze_queue(q);
 
 	blk_mq_debugfs_unregister_rqos(rqos);
 }
block/blk-wbt.c +8 -3
index 8641ba9793c5..ee708c1bc352 100644
@@ -77,7 +77,8 @@ enum {
 
 static inline bool rwb_enabled(struct rq_wb *rwb)
 {
-	return rwb && rwb->wb_normal != 0;
+	return rwb && rwb->enable_state != WBT_STATE_OFF_DEFAULT &&
+		      rwb->wb_normal != 0;
 }
 
 static void wb_timestamp(struct rq_wb *rwb, unsigned long *var)
@@ -644,9 +645,13 @@ void wbt_set_write_cache(struct request_queue *q, bool write_cache_on)
 void wbt_enable_default(struct request_queue *q)
 {
 	struct rq_qos *rqos = wbt_rq_qos(q);
+
 	/* Throttling already enabled? */
-	if (rqos)
+	if (rqos) {
+		if (RQWB(rqos)->enable_state == WBT_STATE_OFF_DEFAULT)
+			RQWB(rqos)->enable_state = WBT_STATE_ON_DEFAULT;
 		return;
+	}
 
 	/* Queue not registered? Maybe shutting down... */
 	if (!blk_queue_registered(q))
@@ -710,7 +715,7 @@ void wbt_disable_default(struct request_queue *q)
 	rwb = RQWB(rqos);
 	if (rwb->enable_state == WBT_STATE_ON_DEFAULT) {
 		blk_stat_deactivate(rwb->cb);
-		rwb->wb_normal = 0;
+		rwb->enable_state = WBT_STATE_OFF_DEFAULT;
 	}
 }
 EXPORT_SYMBOL_GPL(wbt_disable_default);
block/blk-wbt.h +1 -0
index 8e4e37660971..d8d9f41b42f9 100644
@@ -34,6 +34,7 @@ enum {
 enum {
 	WBT_STATE_ON_DEFAULT	= 1,
 	WBT_STATE_ON_MANUAL	= 2,
+	WBT_STATE_OFF_DEFAULT
 };
 
 struct rq_wb {
crypto/shash.c +15 -3
index e83c5124f6eb..9c4cdfd8550e 100644
@@ -20,12 +20,24 @@
 
 static const struct crypto_type crypto_shash_type;
 
-int shash_no_setkey(struct crypto_shash *tfm, const u8 *key,
-		    unsigned int keylen)
+static int shash_no_setkey(struct crypto_shash *tfm, const u8 *key,
+			   unsigned int keylen)
 {
 	return -ENOSYS;
 }
-EXPORT_SYMBOL_GPL(shash_no_setkey);
+
+/*
+ * Check whether an shash algorithm has a setkey function.
+ *
+ * For CFI compatibility, this must not be an inline function.  This is because
+ * when CFI is enabled, modules won't get the same address for shash_no_setkey
+ * (if it were exported, which inlining would require) as the core kernel will.
+ */
+bool crypto_shash_alg_has_setkey(struct shash_alg *alg)
+{
+	return alg->setkey != shash_no_setkey;
+}
+EXPORT_SYMBOL_GPL(crypto_shash_alg_has_setkey);
 
 static int shash_setkey_unaligned(struct crypto_shash *tfm, const u8 *key,
 				  unsigned int keylen)
drivers/acpi/Makefile +5 -0
index ef1ac4d127da..1c81504046d4 100644
@@ -8,6 +8,11 @@ ccflags-$(CONFIG_ACPI_DEBUG)	+= -DACPI_DEBUG_OUTPUT
 #
 # ACPI Boot-Time Table Parsing
 #
+ifeq ($(CONFIG_ACPI_CUSTOM_DSDT),y)
+tables.o: $(src)/../../include/$(subst $\",,$(CONFIG_ACPI_CUSTOM_DSDT_FILE)) ;
+
+endif
+
 obj-$(CONFIG_ACPI)		+= tables.o
 obj-$(CONFIG_X86)		+= blacklist.o
 
drivers/acpi/acpi_pad.c +9 -15
index e7dc0133f817..c11d736a8db7 100644
@@ -262,7 +262,7 @@ static uint32_t acpi_pad_idle_cpus_num(void)
 	return ps_tsk_num;
 }
 
-static ssize_t acpi_pad_rrtime_store(struct device *dev,
+static ssize_t rrtime_store(struct device *dev,
 	struct device_attribute *attr, const char *buf, size_t count)
 {
 	unsigned long num;
@@ -276,16 +276,14 @@ static ssize_t acpi_pad_rrtime_store(struct device *dev,
 	return count;
 }
 
-static ssize_t acpi_pad_rrtime_show(struct device *dev,
+static ssize_t rrtime_show(struct device *dev,
 	struct device_attribute *attr, char *buf)
 {
 	return scnprintf(buf, PAGE_SIZE, "%d\n", round_robin_time);
 }
-static DEVICE_ATTR(rrtime, S_IRUGO|S_IWUSR,
-	acpi_pad_rrtime_show,
-	acpi_pad_rrtime_store);
+static DEVICE_ATTR_RW(rrtime);
 
-static ssize_t acpi_pad_idlepct_store(struct device *dev,
+static ssize_t idlepct_store(struct device *dev,
 	struct device_attribute *attr, const char *buf, size_t count)
 {
 	unsigned long num;
@@ -299,16 +297,14 @@ static ssize_t acpi_pad_idlepct_store(struct device *dev,
 	return count;
 }
 
-static ssize_t acpi_pad_idlepct_show(struct device *dev,
+static ssize_t idlepct_show(struct device *dev,
 	struct device_attribute *attr, char *buf)
 {
 	return scnprintf(buf, PAGE_SIZE, "%d\n", idle_pct);
 }
-static DEVICE_ATTR(idlepct, S_IRUGO|S_IWUSR,
-	acpi_pad_idlepct_show,
-	acpi_pad_idlepct_store);
+static DEVICE_ATTR_RW(idlepct);
 
-static ssize_t acpi_pad_idlecpus_store(struct device *dev,
+static ssize_t idlecpus_store(struct device *dev,
 	struct device_attribute *attr, const char *buf, size_t count)
 {
 	unsigned long num;
@@ -320,16 +316,14 @@ static ssize_t acpi_pad_idlecpus_store(struct device *dev,
 	return count;
 }
 
-static ssize_t acpi_pad_idlecpus_show(struct device *dev,
+static ssize_t idlecpus_show(struct device *dev,
 	struct device_attribute *attr, char *buf)
 {
 	return cpumap_print_to_pagebuf(false, buf,
 				       to_cpumask(pad_busy_cpus_bits));
 }
 
-static DEVICE_ATTR(idlecpus, S_IRUGO|S_IWUSR,
-	acpi_pad_idlecpus_show,
-	acpi_pad_idlecpus_store);
+static DEVICE_ATTR_RW(idlecpus);
 
 static int acpi_pad_add_sysfs(struct acpi_device *device)
 {
drivers/acpi/acpi_tad.c +7 -7
index 33a4bcdaa4d7..bab8583443a6 100644
@@ -237,7 +237,7 @@ static ssize_t time_show(struct device *dev, struct device_attribute *attr,
 		       rt.tz, rt.daylight);
 }
 
-static DEVICE_ATTR(time, S_IRUSR | S_IWUSR, time_show, time_store);
+static DEVICE_ATTR_RW(time);
 
 static struct attribute *acpi_tad_time_attrs[] = {
 	&dev_attr_time.attr,
@@ -446,7 +446,7 @@ static ssize_t ac_alarm_show(struct device *dev, struct device_attribute *attr,
 	return acpi_tad_alarm_read(dev, buf, ACPI_TAD_AC_TIMER);
 }
 
-static DEVICE_ATTR(ac_alarm, S_IRUSR | S_IWUSR, ac_alarm_show, ac_alarm_store);
+static DEVICE_ATTR_RW(ac_alarm);
 
 static ssize_t ac_policy_store(struct device *dev, struct device_attribute *attr,
 			       const char *buf, size_t count)
@@ -462,7 +462,7 @@ static ssize_t ac_policy_show(struct device *dev, struct device_attribute *attr,
 	return acpi_tad_policy_read(dev, buf, ACPI_TAD_AC_TIMER);
 }
 
-static DEVICE_ATTR(ac_policy, S_IRUSR | S_IWUSR, ac_policy_show, ac_policy_store);
+static DEVICE_ATTR_RW(ac_policy);
 
 static ssize_t ac_status_store(struct device *dev, struct device_attribute *attr,
 			       const char *buf, size_t count)
@@ -478,7 +478,7 @@ static ssize_t ac_status_show(struct device *dev, struct device_attribute *attr,
 	return acpi_tad_status_read(dev, buf, ACPI_TAD_AC_TIMER);
 }
 
-static DEVICE_ATTR(ac_status, S_IRUSR | S_IWUSR, ac_status_show, ac_status_store);
+static DEVICE_ATTR_RW(ac_status);
 
 static struct attribute *acpi_tad_attrs[] = {
 	&dev_attr_caps.attr,
@@ -505,7 +505,7 @@ static ssize_t dc_alarm_show(struct device *dev, struct device_attribute *attr,
 	return acpi_tad_alarm_read(dev, buf, ACPI_TAD_DC_TIMER);
 }
 
-static DEVICE_ATTR(dc_alarm, S_IRUSR | S_IWUSR, dc_alarm_show, dc_alarm_store);
+static DEVICE_ATTR_RW(dc_alarm);
 
 static ssize_t dc_policy_store(struct device *dev, struct device_attribute *attr,
 			       const char *buf, size_t count)
@@ -521,7 +521,7 @@ static ssize_t dc_policy_show(struct device *dev, struct device_attribute *attr,
 	return acpi_tad_policy_read(dev, buf, ACPI_TAD_DC_TIMER);
 }
 
-static DEVICE_ATTR(dc_policy, S_IRUSR | S_IWUSR, dc_policy_show, dc_policy_store);
+static DEVICE_ATTR_RW(dc_policy);
 
 static ssize_t dc_status_store(struct device *dev, struct device_attribute *attr,
 			       const char *buf, size_t count)
@@ -537,7 +537,7 @@ static ssize_t dc_status_show(struct device *dev, struct device_attribute *attr,
 	return acpi_tad_status_read(dev, buf, ACPI_TAD_DC_TIMER);
 }
 
-static DEVICE_ATTR(dc_status, S_IRUSR | S_IWUSR, dc_status_show, dc_status_store);
+static DEVICE_ATTR_RW(dc_status);
 
 static struct attribute *acpi_tad_dc_attrs[] = {
 	&dev_attr_dc_alarm.attr,
drivers/acpi/acpica/nsrepair2.c +7 -0
index 663d85e0adba..b7c408ce340c 100644
@@ -375,6 +375,13 @@ acpi_ns_repair_CID(struct acpi_evaluate_info *info,
 
 			(*element_ptr)->common.reference_count =
 			    original_ref_count;
+
+			/*
+			 * The original_element holds a reference from the package object
+			 * that represents _HID. Since a new element was created by _HID,
+			 * remove the reference from the _CID package.
+			 */
+			acpi_ut_remove_reference(original_element);
 		}
 
 		element_ptr++;
drivers/acpi/bgrt.c +18 -39

69 lines not on this page · raw message

drivers/acpi/bus.c +1 -0
index 54002670cb7a..bbd9c93fc4c2 100644
@@ -1240,6 +1240,7 @@ static int __init acpi_init(void)
 
 	result = acpi_bus_init();
 	if (result) {
+		kobject_put(acpi_kobj);
 		disable_acpi();
 		return result;
 	}
drivers/acpi/device_sysfs.c +23 -23

119 lines not on this page · raw message

drivers/acpi/dock.c +13 -13
index e3414131bfca..9bb42a772bee 100644
@@ -485,7 +485,7 @@ int dock_notify(struct acpi_device *adev, u32 event)
 /*
  * show_docked - read method for "docked" file in sysfs
  */
-static ssize_t show_docked(struct device *dev,
+static ssize_t docked_show(struct device *dev,
 			   struct device_attribute *attr, char *buf)
 {
 	struct dock_station *dock_station = dev->platform_data;
@@ -494,25 +494,25 @@ static ssize_t show_docked(struct device *dev,
 	acpi_bus_get_device(dock_station->handle, &adev);
 	return snprintf(buf, PAGE_SIZE, "%u\n", acpi_device_enumerated(adev));
 }
-static DEVICE_ATTR(docked, S_IRUGO, show_docked, NULL);
+static DEVICE_ATTR_RO(docked);
 
 /*
  * show_flags - read method for flags file in sysfs
  */
-static ssize_t show_flags(struct device *dev,
+static ssize_t flags_show(struct device *dev,
 			  struct device_attribute *attr, char *buf)
 {
 	struct dock_station *dock_station = dev->platform_data;
 	return snprintf(buf, PAGE_SIZE, "%d\n", dock_station->flags);
 
 }
-static DEVICE_ATTR(flags, S_IRUGO, show_flags, NULL);
+static DEVICE_ATTR_RO(flags);
 
 /*
  * write_undock - write method for "undock" file in sysfs
  */
-static ssize_t write_undock(struct device *dev, struct device_attribute *attr,
-			   const char *buf, size_t count)
+static ssize_t undock_store(struct device *dev, struct device_attribute *attr,
+			    const char *buf, size_t count)
 {
 	int ret;
 	struct dock_station *dock_station = dev->platform_data;
@@ -526,13 +526,13 @@ static ssize_t write_undock(struct device *dev, struct device_attribute *attr,
 	acpi_scan_lock_release();
 	return ret ? ret: count;
 }
-static DEVICE_ATTR(undock, S_IWUSR, NULL, write_undock);
+static DEVICE_ATTR_WO(undock);
 
 /*
  * show_dock_uid - read method for "uid" file in sysfs
  */
-static ssize_t show_dock_uid(struct device *dev,
-			     struct device_attribute *attr, char *buf)
+static ssize_t uid_show(struct device *dev,
+			struct device_attribute *attr, char *buf)
 {
 	unsigned long long lbuf;
 	struct dock_station *dock_station = dev->platform_data;
@@ -543,10 +543,10 @@ static ssize_t show_dock_uid(struct device *dev,
 
 	return snprintf(buf, PAGE_SIZE, "%llx\n", lbuf);
 }
-static DEVICE_ATTR(uid, S_IRUGO, show_dock_uid, NULL);
+static DEVICE_ATTR_RO(uid);
 
-static ssize_t show_dock_type(struct device *dev,
-		struct device_attribute *attr, char *buf)
+static ssize_t type_show(struct device *dev,
+			 struct device_attribute *attr, char *buf)
 {
 	struct dock_station *dock_station = dev->platform_data;
 	char *type;
@@ -562,7 +562,7 @@ static ssize_t show_dock_type(struct device *dev,
 
 	return snprintf(buf, PAGE_SIZE, "%s\n", type);
 }
-static DEVICE_ATTR(type, S_IRUGO, show_dock_type, NULL);
+static DEVICE_ATTR_RO(type);
 
 static struct attribute *dock_attributes[] = {
 	&dev_attr_docked.attr,
drivers/acpi/ec.c +16 -0
index c64001e789ed..258a8df235cf 100644
@@ -1826,6 +1826,22 @@ static const struct dmi_system_id ec_dmi_table[] __initconst = {
 	DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
 	DMI_MATCH(DMI_PRODUCT_NAME, "GL702VMK"),}, NULL},
 	{
+	ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X505BA", {
+	DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+	DMI_MATCH(DMI_PRODUCT_NAME, "X505BA"),}, NULL},
+	{
+	ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X505BP", {
+	DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+	DMI_MATCH(DMI_PRODUCT_NAME, "X505BP"),}, NULL},
+	{
+	ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X542BA", {
+	DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+	DMI_MATCH(DMI_PRODUCT_NAME, "X542BA"),}, NULL},
+	{
+	ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X542BP", {
+	DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+	DMI_MATCH(DMI_PRODUCT_NAME, "X542BP"),}, NULL},
+	{
 	ec_honor_ecdt_gpe, "ASUS X550VXK", {
 	DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
 	DMI_MATCH(DMI_PRODUCT_NAME, "X550VXK"),}, NULL},
drivers/acpi/power.c +5 -4
index fe1e7bc91a5e..3261cffdd5e0 100644
@@ -888,15 +888,16 @@ static void acpi_release_power_resource(struct device *dev)
 	kfree(resource);
 }
 
-static ssize_t acpi_power_in_use_show(struct device *dev,
-				      struct device_attribute *attr,
-				      char *buf) {
+static ssize_t resource_in_use_show(struct device *dev,
+				    struct device_attribute *attr,
+				    char *buf)
+{
 	struct acpi_power_resource *resource;
 
 	resource = to_power_resource(to_acpi_device(dev));
 	return sprintf(buf, "%u\n", !!resource->ref_count);
 }
-static DEVICE_ATTR(resource_in_use, 0444, acpi_power_in_use_show, NULL);
+static DEVICE_ATTR_RO(resource_in_use);
 
 static void acpi_power_sysfs_remove(struct acpi_device *device)
 {
drivers/acpi/processor_idle.c +40 -0
index ed56c6d20b08..53ae679c00f0 100644
@@ -16,6 +16,7 @@
 #include <linux/acpi.h>
 #include <linux/dmi.h>
 #include <linux/sched.h>       /* need_resched() */
+#include <linux/sort.h>
 #include <linux/tick.h>
 #include <linux/cpuidle.h>
 #include <linux/cpu.h>
@@ -540,10 +541,37 @@ static void acpi_processor_power_verify_c3(struct acpi_processor *pr,
 	return;
 }
 
+static int acpi_cst_latency_cmp(const void *a, const void *b)
+{
+	const struct acpi_processor_cx *x = a, *y = b;
+
+	if (!(x->valid && y->valid))
+		return 0;
+	if (x->latency > y->latency)
+		return 1;
+	if (x->latency < y->latency)
+		return -1;
+	return 0;
+}
+static void acpi_cst_latency_swap(void *a, void *b, int n)
+{
+	struct acpi_processor_cx *x = a, *y = b;
+	u32 tmp;
+
+	if (!(x->valid && y->valid))
+		return;
+	tmp = x->latency;
+	x->latency = y->latency;
+	y->latency = tmp;
+}
+
 static int acpi_processor_power_verify(struct acpi_processor *pr)
 {
 	unsigned int i;
 	unsigned int working = 0;
+	unsigned int last_latency = 0;
+	unsigned int last_type = 0;
+	bool buggy_latency = false;
 
 	pr->power.timer_broadcast_on_state = INT_MAX;
 
@@ -567,12 +595,24 @@ static int acpi_processor_power_verify(struct acpi_processor *pr)
 		}
 		if (!cx->valid)
 			continue;
+		if (cx->type >= last_type && cx->latency < last_latency)
+			buggy_latency = true;
+		last_latency = cx->latency;
+		last_type = cx->type;
 
 		lapic_timer_check_state(i, pr, cx);
 		tsc_check_state(cx->type);
 		working++;
 	}
 
+	if (buggy_latency) {
+		pr_notice("FW issue: working around C-state latencies out of order\n");
+		sort(&pr->power.states[1], max_cstate,
+		     sizeof(struct acpi_processor_cx),
+		     acpi_cst_latency_cmp,
+		     acpi_cst_latency_swap);
+	}
+
 	lapic_timer_propagate_broadcast(pr);
 
 	return (working);
drivers/acpi/resource.c +8 -1
index 48ca9a844f06..55c57b703ea3 100644
@@ -430,6 +430,13 @@ static void acpi_dev_get_irqresource(struct resource *res, u32 gsi,
 	}
 }
 
+static bool irq_is_legacy(struct acpi_resource_irq *irq)
+{
+	return irq->triggering == ACPI_EDGE_SENSITIVE &&
+		irq->polarity == ACPI_ACTIVE_HIGH &&
+		irq->shareable == ACPI_EXCLUSIVE;
+}
+
 /**
  * acpi_dev_resource_interrupt - Extract ACPI interrupt resource information.
  * @ares: Input ACPI resource object.
@@ -468,7 +475,7 @@ bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index,
 		}
 		acpi_dev_get_irqresource(res, irq->interrupts[index],
 					 irq->triggering, irq->polarity,
-					 irq->shareable, true);
+					 irq->shareable, irq_is_legacy(irq));
 		break;
 	case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
 		ext_irq = &ares->data.extended_irq;
drivers/ata/pata_ep93xx.c +1 -1
index badab6708893..46208ececbb6 100644
@@ -928,7 +928,7 @@ static int ep93xx_pata_probe(struct platform_device *pdev)
 	/* INT[3] (IRQ_EP93XX_EXT3) line connected as pull down */
 	irq = platform_get_irq(pdev, 0);
 	if (irq < 0) {
-		err = -ENXIO;
+		err = irq;
 		goto err_rel_gpio;
 	}
 
drivers/ata/pata_octeon_cf.c +3 -2
index d3d851b014a3..ac3b1fda820f 100644
@@ -898,10 +898,11 @@ static int octeon_cf_probe(struct platform_device *pdev)
 					return -EINVAL;
 				}
 
-				irq_handler = octeon_cf_interrupt;
 				i = platform_get_irq(dma_dev, 0);
-				if (i > 0)
+				if (i > 0) {
 					irq = i;
+					irq_handler = octeon_cf_interrupt;
+				}
 			}
 			of_node_put(dma_node);
 		}
drivers/ata/pata_rb532_cf.c +4 -2
index deae466395de..1e6d61dc966a 100644
@@ -115,10 +115,12 @@ static int rb532_pata_driver_probe(struct platform_device *pdev)
 	}
 
 	irq = platform_get_irq(pdev, 0);
-	if (irq <= 0) {
+	if (irq < 0) {
 		dev_err(&pdev->dev, "no IRQ resource found\n");
-		return -ENOENT;
+		return irq;
 	}
+	if (!irq)
+		return -EINVAL;
 
 	gpiod = devm_gpiod_get(&pdev->dev, NULL, GPIOD_IN);
 	if (IS_ERR(gpiod)) {
drivers/ata/sata_highbank.c +4 -2
index ad3893c62572..bcf705f512f0 100644
@@ -469,10 +469,12 @@ static int ahci_highbank_probe(struct platform_device *pdev)
 	}
 
 	irq = platform_get_irq(pdev, 0);
-	if (irq <= 0) {
+	if (irq < 0) {
 		dev_err(dev, "no irq\n");
-		return -EINVAL;
+		return irq;
 	}
+	if (!irq)
+		return -EINVAL;
 
 	hpriv = devm_kzalloc(dev, sizeof(*hpriv), GFP_KERNEL);
 	if (!hpriv) {
drivers/char/hw_random/exynos-trng.c +2 -2
index b4b52ab23b6b..b4e931dbff66 100644
@@ -134,7 +134,7 @@ static int exynos_trng_probe(struct platform_device *pdev)
 		return PTR_ERR(trng->mem);
 
 	pm_runtime_enable(&pdev->dev);
-	ret = pm_runtime_get_sync(&pdev->dev);
+	ret = pm_runtime_resume_and_get(&pdev->dev);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "Could not get runtime PM.\n");
 		goto err_pm_get;
@@ -167,7 +167,7 @@ static int exynos_trng_probe(struct platform_device *pdev)
 	clk_disable_unprepare(trng->clk);
 
 err_clock:
-	pm_runtime_put_sync(&pdev->dev);
+	pm_runtime_put_noidle(&pdev->dev);
 
 err_pm_get:
 	pm_runtime_disable(&pdev->dev);
drivers/char/pcmcia/cm4000_cs.c +4 -0
index 15bf585af5d3..44117169db91 100644
@@ -544,6 +544,10 @@ static int set_protocol(struct cm4000_dev *dev, struct ptsreq *ptsreq)
 		io_read_num_rec_bytes(iobase, &num_bytes_read);
 		if (num_bytes_read >= 4) {
 			DEBUGP(2, dev, "NumRecBytes = %i\n", num_bytes_read);
+			if (num_bytes_read > 4) {
+				rc = -EIO;
+				goto exit_setprotocol;
+			}
 			break;
 		}
 		usleep_range(10000, 11000);
drivers/clk/actions/owl-s500.c +37 -25

142 lines not on this page · raw message

drivers/clk/clk-si5341.c +16 -3
index 6e780c2a9e6b..8f9f3d4a54fd 100644
@@ -304,6 +304,8 @@ static const struct si5341_reg_default si5341_reg_defaults[] = {
 	{ 0x094A, 0x00 }, /* INx_TO_PFD_EN (disabled) */
 	{ 0x0A02, 0x00 }, /* Not in datasheet */
 	{ 0x0B44, 0x0F }, /* PDIV_ENB (datasheet does not mention what it is) */
+	{ 0x0B57, 0x10 }, /* VCO_RESET_CALCODE (not described in datasheet) */
+	{ 0x0B58, 0x05 }, /* VCO_RESET_CALCODE (not described in datasheet) */
 };
 
 /* Read and interpret a 44-bit followed by a 32-bit value in the regmap */
@@ -482,6 +484,9 @@ static unsigned long si5341_synth_clk_recalc_rate(struct clk_hw *hw,
 			SI5341_SYNTH_N_NUM(synth->index), &n_num, &n_den);
 	if (err < 0)
 		return err;
+	/* Check for bogus/uninitialized settings */
+	if (!n_num || !n_den)
+		return 0;
 
 	/*
 	 * n_num and n_den are shifted left as much as possible, so to prevent
@@ -665,6 +670,9 @@ static long si5341_output_clk_round_rate(struct clk_hw *hw, unsigned long rate,
 {
 	unsigned long r;
 
+	if (!rate)
+		return 0;
+
 	r = *parent_rate >> 1;
 
 	/* If rate is an even divisor, no changes to parent required */
@@ -693,11 +701,16 @@ static int si5341_output_clk_set_rate(struct clk_hw *hw, unsigned long rate,
 		unsigned long parent_rate)
 {
 	struct clk_si5341_output *output = to_clk_si5341_output(hw);
-	/* Frequency divider is (r_div + 1) * 2 */
-	u32 r_div = (parent_rate / rate) >> 1;
+	u32 r_div;
 	int err;
 	u8 r[3];
 
+	if (!rate)
+		return -EINVAL;
+
+	/* Frequency divider is (r_div + 1) * 2 */
+	r_div = (parent_rate / rate) >> 1;
+
 	if (r_div <= 1)
 		r_div = 0;
 	else if (r_div >= BIT(24))
@@ -924,7 +937,7 @@ static const struct si5341_reg_default si5341_preamble[] = {
 	{ 0x0B25, 0x00 },
 	{ 0x0502, 0x01 },
 	{ 0x0505, 0x03 },
-	{ 0x0957, 0x1F },
+	{ 0x0957, 0x17 },
 	{ 0x0B4E, 0x1A },
 };
 
drivers/clk/meson/g12a.c +1 -1
index 3143e16065de..a55b22ebf103 100644
@@ -1602,7 +1602,7 @@ static struct clk_regmap g12b_cpub_clk_trace = {
 };
 
 static const struct pll_mult_range g12a_gp0_pll_mult_range = {
-	.min = 55,
+	.min = 125,
 	.max = 255,
 };
 
drivers/cpufreq/cpufreq.c +10 -1
index 194a6587a1de..c4e928375c40 100644
@@ -1361,9 +1361,14 @@ static int cpufreq_online(unsigned int cpu)
 			goto out_free_policy;
 		}
 
+		/*
+		 * The initialization has succeeded and the policy is online.
+		 * If there is a problem with its frequency table, take it
+		 * offline and drop it.
+		 */
 		ret = cpufreq_table_validate_and_sort(policy);
 		if (ret)
-			goto out_exit_policy;
+			goto out_offline_policy;
 
 		/* related_cpus should at least include policy->cpus. */
 		cpumask_copy(policy->related_cpus, policy->cpus);
@@ -1507,6 +1512,10 @@ static int cpufreq_online(unsigned int cpu)
 
 	up_write(&policy->rwsem);
 
+out_offline_policy:
+	if (cpufreq_driver->offline)
+		cpufreq_driver->offline(policy);
+
 out_exit_policy:
 	if (cpufreq_driver->exit)
 		cpufreq_driver->exit(policy);
drivers/crypto/cavium/nitrox/nitrox_isr.c +4 -0
index 3dec570a190a..10e3408bf704 100644
@@ -306,6 +306,10 @@ int nitrox_register_interrupts(struct nitrox_device *ndev)
 	 * Entry 192: NPS_CORE_INT_ACTIVE
 	 */
 	nr_vecs = pci_msix_vec_count(pdev);
+	if (nr_vecs < 0) {
+		dev_err(DEV(ndev), "Error in getting vec count %d\n", nr_vecs);
+		return nr_vecs;
+	}
 
 	/* Enable MSI-X */
 	ret = pci_alloc_irq_vectors(pdev, nr_vecs, nr_vecs, PCI_IRQ_MSIX);
drivers/crypto/ccp/sp-pci.c +4 -2
index b29d2e663e10..f607b19ff4d2 100644
@@ -213,7 +213,7 @@ static int sp_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 		if (ret) {
 			dev_err(dev, "dma_set_mask_and_coherent failed (%d)\n",
 				ret);
-			goto e_err;
+			goto free_irqs;
 		}
 	}
 
@@ -221,10 +221,12 @@ static int sp_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 
 	ret = sp_init(sp);
 	if (ret)
-		goto e_err;
+		goto free_irqs;
 
 	return 0;
 
+free_irqs:
+	sp_free_irqs(sp);
 e_err:
 	dev_notice(dev, "initialization failed\n");
 	return ret;
drivers/crypto/ixp4xx_crypto.c +1 -1
index acaa504d5a79..e02ff2b205d0 100644
@@ -329,7 +329,7 @@ static void free_buf_chain(struct device *dev, struct buffer_desc *buf,
 
 		buf1 = buf->next;
 		phys1 = buf->phys_next;
-		dma_unmap_single(dev, buf->phys_next, buf->buf_len, buf->dir);
+		dma_unmap_single(dev, buf->phys_addr, buf->buf_len, buf->dir);
 		dma_pool_free(buffer_pool, buf, phys);
 		buf = buf1;
 		phys = phys1;
drivers/crypto/nx/nx-842-pseries.c +6 -3
index 2de5e3672e42..c5ec50a28f30 100644
@@ -538,13 +538,15 @@ static int nx842_OF_set_defaults(struct nx842_devdata *devdata)
  * The status field indicates if the device is enabled when the status
  * is 'okay'.  Otherwise the device driver will be disabled.
  *
- * @prop - struct property point containing the maxsyncop for the update
+ * @devdata: struct nx842_devdata to use for dev_info
+ * @prop: struct property point containing the maxsyncop for the update
  *
  * Returns:
  *  0 - Device is available
  *  -ENODEV - Device is not available
  */
-static int nx842_OF_upd_status(struct property *prop)
+static int nx842_OF_upd_status(struct nx842_devdata *devdata,
+			       struct property *prop)
 {
 	const char *status = (const char *)prop->value;
 
@@ -758,7 +760,7 @@ static int nx842_OF_upd(struct property *new_prop)
 		goto out;
 
 	/* Perform property updates */
-	ret = nx842_OF_upd_status(status);
+	ret = nx842_OF_upd_status(new_devdata, status);
 	if (ret)
 		goto error_out;
 
@@ -1071,6 +1073,7 @@ static const struct vio_device_id nx842_vio_driver_ids[] = {
 	{"ibm,compression-v1", "ibm,compression"},
 	{"", ""},
 };
+MODULE_DEVICE_TABLE(vio, nx842_vio_driver_ids);
 
 static struct vio_driver nx842_vio_driver = {
 	.name = KBUILD_MODNAME,
drivers/crypto/omap-sham.c +2 -2
index d7c0c982ba43..f80db1eb2994 100644
@@ -364,7 +364,7 @@ static int omap_sham_hw_init(struct omap_sham_dev *dd)
 {
 	int err;
 
-	err = pm_runtime_get_sync(dd->dev);
+	err = pm_runtime_resume_and_get(dd->dev);
 	if (err < 0) {
 		dev_err(dd->dev, "failed to get sync: %d\n", err);
 		return err;
@@ -2236,7 +2236,7 @@ static int omap_sham_suspend(struct device *dev)
 
 static int omap_sham_resume(struct device *dev)
 {
-	int err = pm_runtime_get_sync(dev);
+	int err = pm_runtime_resume_and_get(dev);
 	if (err < 0) {
 		dev_err(dev, "failed to get sync: %d\n", err);
 		return err;
drivers/crypto/qat/qat_common/qat_hal.c +5 -1
index dac130bb807a..eda692271f0c 100644
@@ -1256,7 +1256,11 @@ static int qat_hal_put_rel_wr_xfer(struct icp_qat_fw_loader_handle *handle,
 		pr_err("QAT: bad xfrAddr=0x%x\n", xfr_addr);
 		return -EINVAL;
 	}
-	qat_hal_rd_rel_reg(handle, ae, ctx, ICP_GPB_REL, gprnum, &gprval);
+	status = qat_hal_rd_rel_reg(handle, ae, ctx, ICP_GPB_REL, gprnum, &gprval);
+	if (status) {
+		pr_err("QAT: failed to read register");
+		return status;
+	}
 	gpr_addr = qat_hal_get_reg_addr(ICP_GPB_REL, gprnum);
 	data16low = 0xffff & data;
 	data16hi = 0xffff & (data >> 0x10);
drivers/crypto/qat/qat_common/qat_uclo.c +0 -1
index aeb03081415c..9542423bb7ca 100644
@@ -385,7 +385,6 @@ static int qat_uclo_init_umem_seg(struct icp_qat_fw_loader_handle *handle,
 	return 0;
 }
 
-#define ICP_DH895XCC_PESRAM_BAR_SIZE 0x80000
 static int qat_uclo_init_ae_memory(struct icp_qat_fw_loader_handle *handle,
 				   struct icp_qat_uof_initmem *init_mem)
 {
drivers/crypto/ux500/hash/hash_core.c +1 -0
index c172a6953477..38a66aceca2a 100644
@@ -1009,6 +1009,7 @@ static int hash_hw_final(struct ahash_request *req)
 			goto out;
 		}
 	} else if (req->nbytes == 0 && ctx->keylen > 0) {
+		ret = -EPERM;
 		dev_err(device_data->dev, "%s: Empty message with keylength > 0, NOT supported\n",
 			__func__);
 		goto out;
drivers/edac/i10nm_base.c +3 -0
index dfcde7ed9500..f72be5f94e6f 100644
@@ -249,6 +249,9 @@ static int __init i10nm_init(void)
 	if (owner && strncmp(owner, EDAC_MOD_STR, sizeof(EDAC_MOD_STR)))
 		return -EBUSY;
 
+	if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
+		return -ENODEV;
+
 	id = x86_match_cpu(i10nm_cpuids);
 	if (!id)
 		return -ENODEV;
drivers/edac/pnd2_edac.c +3 -0
index dac45e2071b3..e054eb038903 100644
@@ -1555,6 +1555,9 @@ static int __init pnd2_init(void)
 	if (owner && strncmp(owner, EDAC_MOD_STR, sizeof(EDAC_MOD_STR)))
 		return -EBUSY;
 
+	if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
+		return -ENODEV;
+
 	id = x86_match_cpu(pnd2_cpuids);
 	if (!id)
 		return -ENODEV;
drivers/edac/sb_edac.c +3 -0
index b557a53c75c4..d39f5bfb8bd9 100644
@@ -3512,6 +3512,9 @@ static int __init sbridge_init(void)
 	if (owner && strncmp(owner, EDAC_MOD_STR, sizeof(EDAC_MOD_STR)))
 		return -EBUSY;
 
+	if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
+		return -ENODEV;
+
 	id = x86_match_cpu(sbridge_cpuids);
 	if (!id)
 		return -ENODEV;
drivers/edac/skx_base.c +3 -0
index 77cd370bd62f..b1d717cb8df9 100644
@@ -605,6 +605,9 @@ static int __init skx_init(void)
 	if (owner && strncmp(owner, EDAC_MOD_STR, sizeof(EDAC_MOD_STR)))
 		return -EBUSY;
 
+	if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR))
+		return -ENODEV;
+
 	id = x86_match_cpu(skx_cpuids);
 	if (!id)
 		return -ENODEV;
drivers/edac/ti_edac.c +1 -0
index 324768946743..9ab9fa0a911b 100644
@@ -197,6 +197,7 @@ static const struct of_device_id ti_edac_of_match[] = {
 	{ .compatible = "ti,emif-dra7xx", .data = (void *)EMIF_TYPE_DRA7 },
 	{},
 };
+MODULE_DEVICE_TABLE(of, ti_edac_of_match);
 
 static int _emif_get_id(struct device_node *node)
 {
drivers/extcon/extcon-max8997.c +2 -1
index 172e116ac1ce..cac36ef59e45 100644
@@ -729,7 +729,7 @@ static int max8997_muic_probe(struct platform_device *pdev)
 				2, info->status);
 	if (ret) {
 		dev_err(info->dev, "failed to read MUIC register\n");
-		return ret;
+		goto err_irq;
 	}
 	cable_type = max8997_muic_get_cable_type(info,
 					   MAX8997_CABLE_GROUP_ADC, &attached);
@@ -784,3 +784,4 @@ module_platform_driver(max8997_muic_driver);
 MODULE_DESCRIPTION("Maxim MAX8997 Extcon driver");
 MODULE_AUTHOR("Donggeun Kim <[email protected]>");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:max8997-muic");
drivers/extcon/extcon-sm5502.c +0 -1
index b3d93baf4fc5..f883992800b3 100644
@@ -88,7 +88,6 @@ static struct reg_data sm5502_reg_data[] = {
 			| SM5502_REG_INTM2_MHL_MASK,
 		.invert = true,
 	},
-	{ }
 };
 
 /* List of detectable cables */
drivers/firmware/stratix10-svc.c +15 -7
index b485321189e1..b2b4ba240fb1 100644
@@ -1026,24 +1026,32 @@ static int stratix10_svc_drv_probe(struct platform_device *pdev)
 
 	/* add svc client device(s) */
 	svc = devm_kzalloc(dev, sizeof(*svc), GFP_KERNEL);
-	if (!svc)
-		return -ENOMEM;
+	if (!svc) {
+		ret = -ENOMEM;
+		goto err_free_kfifo;
+	}
 
 	svc->stratix10_svc_rsu = platform_device_alloc(STRATIX10_RSU, 0);
 	if (!svc->stratix10_svc_rsu) {
 		dev_err(dev, "failed to allocate %s device\n", STRATIX10_RSU);
-		return -ENOMEM;
+		ret = -ENOMEM;
+		goto err_free_kfifo;
 	}
 
 	ret = platform_device_add(svc->stratix10_svc_rsu);
-	if (ret) {
-		platform_device_put(svc->stratix10_svc_rsu);
-		return ret;
-	}
+	if (ret)
+		goto err_put_device;
+
 	dev_set_drvdata(dev, svc);
 
 	pr_info("Intel Service Layer Driver Initialized\n");
 
+	return 0;
+
+err_put_device:
+	platform_device_put(svc->stratix10_svc_rsu);
+err_free_kfifo:
+	kfifo_free(&controller->svc_fifo);
 	return ret;
 }
 
drivers/fsi/fsi-core.c +2 -2
index 9282239b4d95..cb980a60af0e 100644
@@ -718,7 +718,7 @@ static ssize_t cfam_read(struct file *filep, char __user *buf, size_t count,
 	rc = count;
  fail:
 	*offset = off;
-	return count;
+	return rc;
 }
 
 static ssize_t cfam_write(struct file *filep, const char __user *buf,
@@ -755,7 +755,7 @@ static ssize_t cfam_write(struct file *filep, const char __user *buf,
 	rc = count;
  fail:
 	*offset = off;
-	return count;
+	return rc;
 }
 
 static loff_t cfam_llseek(struct file *file, loff_t offset, int whence)
drivers/fsi/fsi-occ.c +1 -0
index 7da9c81759ac..8f1644804570 100644
@@ -445,6 +445,7 @@ int fsi_occ_submit(struct device *dev, const void *request, size_t req_len,
 			goto done;
 
 		if (resp->return_status == OCC_RESP_CMD_IN_PRG ||
+		    resp->return_status == OCC_RESP_CRIT_INIT ||
 		    resp->seq_no != seq_no) {
 			rc = -ETIMEDOUT;
 
drivers/fsi/fsi-sbefifo.c +6 -4
index f54df9ebc8b3..c8ccc99e214f 100644
@@ -325,7 +325,8 @@ static int sbefifo_up_write(struct sbefifo *sbefifo, __be32 word)
 static int sbefifo_request_reset(struct sbefifo *sbefifo)
 {
 	struct device *dev = &sbefifo->fsi_dev->dev;
-	u32 status, timeout;
+	unsigned long end_time;
+	u32 status;
 	int rc;
 
 	dev_dbg(dev, "Requesting FIFO reset\n");
@@ -341,7 +342,8 @@ static int sbefifo_request_reset(struct sbefifo *sbefifo)
 	}
 
 	/* Wait for it to complete */
-	for (timeout = 0; timeout < SBEFIFO_RESET_TIMEOUT; timeout++) {
+	end_time = jiffies + msecs_to_jiffies(SBEFIFO_RESET_TIMEOUT);
+	while (!time_after(jiffies, end_time)) {
 		rc = sbefifo_regr(sbefifo, SBEFIFO_UP | SBEFIFO_STS, &status);
 		if (rc) {
 			dev_err(dev, "Failed to read UP fifo status during reset"
@@ -355,7 +357,7 @@ static int sbefifo_request_reset(struct sbefifo *sbefifo)
 			return 0;
 		}
 
-		msleep(1);
+		cond_resched();
 	}
 	dev_err(dev, "FIFO reset timed out\n");
 
@@ -400,7 +402,7 @@ static int sbefifo_cleanup_hw(struct sbefifo *sbefifo)
 	/* The FIFO already contains a reset request from the SBE ? */
 	if (down_status & SBEFIFO_STS_RESET_REQ) {
 		dev_info(dev, "Cleanup: FIFO reset request set, resetting\n");
-		rc = sbefifo_regw(sbefifo, SBEFIFO_UP, SBEFIFO_PERFORM_RESET);
+		rc = sbefifo_regw(sbefifo, SBEFIFO_DOWN, SBEFIFO_PERFORM_RESET);
 		if (rc) {
 			sbefifo->broken = true;
 			dev_err(dev, "Cleanup: Reset reg write failed, rc=%d\n", rc);
drivers/fsi/fsi-scom.c +9 -7
index 004dc03ccf09..918367621086 100644
@@ -38,9 +38,10 @@
 #define SCOM_STATUS_PIB_RESP_MASK	0x00007000
 #define SCOM_STATUS_PIB_RESP_SHIFT	12
 
-#define SCOM_STATUS_ANY_ERR		(SCOM_STATUS_PROTECTION | \
-					 SCOM_STATUS_PARITY |	  \
-					 SCOM_STATUS_PIB_ABORT | \
+#define SCOM_STATUS_FSI2PIB_ERROR	(SCOM_STATUS_PROTECTION |	\
+					 SCOM_STATUS_PARITY |		\
+					 SCOM_STATUS_PIB_ABORT)
+#define SCOM_STATUS_ANY_ERR		(SCOM_STATUS_FSI2PIB_ERROR |	\
 					 SCOM_STATUS_PIB_RESP_MASK)
 /* SCOM address encodings */
 #define XSCOM_ADDR_IND_FLAG		BIT_ULL(63)
@@ -240,13 +241,14 @@ static int handle_fsi2pib_status(struct scom_device *scom, uint32_t status)
 {
 	uint32_t dummy = -1;
 
-	if (status & SCOM_STATUS_PROTECTION)
-		return -EPERM;
-	if (status & SCOM_STATUS_PARITY) {
+	if (status & SCOM_STATUS_FSI2PIB_ERROR)
 		fsi_device_write(scom->fsi_dev, SCOM_FSI2PIB_RESET_REG, &dummy,
 				 sizeof(uint32_t));
+
+	if (status & SCOM_STATUS_PROTECTION)
+		return -EPERM;
+	if (status & SCOM_STATUS_PARITY)
 		return -EIO;
-	}
 	/* Return -EBUSY on PIB abort to force a retry */
 	if (status & SCOM_STATUS_PIB_ABORT)
 		return -EBUSY;
drivers/gpu/drm/qxl/qxl_dumb.c +2 -0
index 272d19b677d8..4a0dc1348097 100644
@@ -58,6 +58,8 @@ int qxl_mode_dumb_create(struct drm_file *file_priv,
 	surf.height = args->height;
 	surf.stride = pitch;
 	surf.format = format;
+	surf.data = 0;
+
 	r = qxl_gem_object_create_with_handle(qdev, file_priv,
 					      QXL_GEM_DOMAIN_SURFACE,
 					      args->size, &surf, &qobj,
drivers/gpu/drm/rockchip/cdn-dp-core.c +1 -0
index d505ea7d5384..8f299d76b69b 100644
@@ -72,6 +72,7 @@ static int cdn_dp_grf_write(struct cdn_dp_device *dp,
 	ret = regmap_write(dp->grf, reg, val);
 	if (ret) {
 		DRM_DEV_ERROR(dp->dev, "Could not write to GRF: %d\n", ret);
+		clk_disable_unprepare(dp->grf_clk);
 		return ret;
 	}
 
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c +28 -8
index bc073ec5c183..ecb59dc6c8b8 100644
@@ -564,13 +564,8 @@ static const struct dw_mipi_dsi_phy_ops dw_mipi_dsi_rockchip_phy_ops = {
 	.get_lane_mbps = dw_mipi_dsi_get_lane_mbps,
 };
 
-static void dw_mipi_dsi_rockchip_config(struct dw_mipi_dsi_rockchip *dsi,
-					int mux)
+static void dw_mipi_dsi_rockchip_config(struct dw_mipi_dsi_rockchip *dsi)
 {
-	if (dsi->cdata->lcdsel_grf_reg)
-		regmap_write(dsi->grf_regmap, dsi->cdata->lcdsel_grf_reg,
-			mux ? dsi->cdata->lcdsel_lit : dsi->cdata->lcdsel_big);
-
 	if (dsi->cdata->lanecfg1_grf_reg)
 		regmap_write(dsi->grf_regmap, dsi->cdata->lanecfg1_grf_reg,
 					      dsi->cdata->lanecfg1);
@@ -584,6 +579,13 @@ static void dw_mipi_dsi_rockchip_config(struct dw_mipi_dsi_rockchip *dsi,
 					      dsi->cdata->enable);
 }
 
+static void dw_mipi_dsi_rockchip_set_lcdsel(struct dw_mipi_dsi_rockchip *dsi,
+					    int mux)
+{
+	regmap_write(dsi->grf_regmap, dsi->cdata->lcdsel_grf_reg,
+		mux ? dsi->cdata->lcdsel_lit : dsi->cdata->lcdsel_big);
+}
+
 static int
 dw_mipi_dsi_encoder_atomic_check(struct drm_encoder *encoder,
 				 struct drm_crtc_state *crtc_state,
@@ -639,9 +641,9 @@ static void dw_mipi_dsi_encoder_enable(struct drm_encoder *encoder)
 		return;
 	}
 
-	dw_mipi_dsi_rockchip_config(dsi, mux);
+	dw_mipi_dsi_rockchip_set_lcdsel(dsi, mux);
 	if (dsi->slave)
-		dw_mipi_dsi_rockchip_config(dsi->slave, mux);
+		dw_mipi_dsi_rockchip_set_lcdsel(dsi->slave, mux);
 
 	clk_disable_unprepare(dsi->grf_clk);
 }
@@ -800,6 +802,24 @@ static int dw_mipi_dsi_rockchip_bind(struct device *dev,
 		return ret;
 	}
 
+	/*
+	 * With the GRF clock running, write lane and dual-mode configurations
+	 * that won't change immediately. If we waited until enable() to do
+	 * this, things like panel preparation would not be able to send
+	 * commands over DSI.
+	 */
+	ret = clk_prepare_enable(dsi->grf_clk);
+	if (ret) {
+		DRM_DEV_ERROR(dsi->dev, "Failed to enable grf_clk: %d\n", ret);
+		return ret;
+	}
+
+	dw_mipi_dsi_rockchip_config(dsi);
+	if (dsi->slave)
+		dw_mipi_dsi_rockchip_config(dsi->slave);
+
+	clk_disable_unprepare(dsi->grf_clk);
+
 	ret = rockchip_dsi_drm_create_encoder(dsi, drm_dev);
 	if (ret) {
 		DRM_DEV_ERROR(dev, "Failed to create drm encoder\n");
drivers/hid/hid-core.c +3 -7
index 550fff6e41ec..b6740ad773ee 100644
@@ -2299,12 +2299,8 @@ static int hid_device_remove(struct device *dev)
 {
 	struct hid_device *hdev = to_hid_device(dev);
 	struct hid_driver *hdrv;
-	int ret = 0;
 
-	if (down_interruptible(&hdev->driver_input_lock)) {
-		ret = -EINTR;
-		goto end;
-	}
+	down(&hdev->driver_input_lock);
 	hdev->io_started = false;
 
 	hdrv = hdev->driver;
@@ -2319,8 +2315,8 @@ static int hid_device_remove(struct device *dev)
 
 	if (!hdev->io_started)
 		up(&hdev->driver_input_lock);
-end:
-	return ret;
+
+	return 0;
 }
 
 static ssize_t modalias_show(struct device *dev, struct device_attribute *a,
drivers/hid/wacom_wac.h +1 -1
index 195910dd2154..e3835407e8d2 100644
@@ -122,7 +122,7 @@
 #define WACOM_HID_WD_TOUCHONOFF         (WACOM_HID_UP_WACOMDIGITIZER | 0x0454)
 #define WACOM_HID_WD_BATTERY_LEVEL      (WACOM_HID_UP_WACOMDIGITIZER | 0x043b)
 #define WACOM_HID_WD_EXPRESSKEY00       (WACOM_HID_UP_WACOMDIGITIZER | 0x0910)
-#define WACOM_HID_WD_EXPRESSKEYCAP00    (WACOM_HID_UP_WACOMDIGITIZER | 0x0950)
+#define WACOM_HID_WD_EXPRESSKEYCAP00    (WACOM_HID_UP_WACOMDIGITIZER | 0x0940)
 #define WACOM_HID_WD_MODE_CHANGE        (WACOM_HID_UP_WACOMDIGITIZER | 0x0980)
 #define WACOM_HID_WD_MUTE_DEVICE        (WACOM_HID_UP_WACOMDIGITIZER | 0x0981)
 #define WACOM_HID_WD_CONTROLPANEL       (WACOM_HID_UP_WACOMDIGITIZER | 0x0982)
drivers/hv/hv_util.c +2 -2
index e32681ee7b9f..1671f6f9ea80 100644
@@ -537,8 +537,8 @@ static int hv_timesync_init(struct hv_util_service *srv)
 	 */
 	hv_ptp_clock = ptp_clock_register(&ptp_hyperv_info, NULL);
 	if (IS_ERR_OR_NULL(hv_ptp_clock)) {
-		pr_err("cannot register PTP clock: %ld\n",
-		       PTR_ERR(hv_ptp_clock));
+		pr_err("cannot register PTP clock: %d\n",
+		       PTR_ERR_OR_ZERO(hv_ptp_clock));
 		hv_ptp_clock = NULL;
 	}
 
drivers/hwmon/max31722.c +0 -9
index 062eceb7be0d..613338cbcb17 100644
@@ -6,7 +6,6 @@
  * Copyright (c) 2016, Intel Corporation.
  */
 
-#include <linux/acpi.h>
 #include <linux/hwmon.h>
 #include <linux/hwmon-sysfs.h>
 #include <linux/kernel.h>
@@ -133,20 +132,12 @@ static const struct spi_device_id max31722_spi_id[] = {
 	{"max31723", 0},
 	{}
 };
-
-static const struct acpi_device_id __maybe_unused max31722_acpi_id[] = {
-	{"MAX31722", 0},
-	{"MAX31723", 0},
-	{}
-};
-
 MODULE_DEVICE_TABLE(spi, max31722_spi_id);
 
 static struct spi_driver max31722_driver = {
 	.driver = {
 		.name = "max31722",
 		.pm = &max31722_pm_ops,
-		.acpi_match_table = ACPI_PTR(max31722_acpi_id),
 	},
 	.probe =            max31722_probe,
 	.remove =           max31722_remove,
drivers/hwmon/max31790.c +30 -19

93 lines not on this page · raw message

drivers/iio/accel/bma180.c +7 -3
index 1574e4604a4f..aa301c606346 100644
@@ -119,7 +119,11 @@ struct bma180_data {
 	int scale;
 	int bw;
 	bool pmode;
-	u8 buff[16]; /* 3x 16-bit + 8-bit + padding + timestamp */
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		s16 chan[4];
+		s64 timestamp __aligned(8);
+	} scan;
 };
 
 enum bma180_chan {
@@ -675,12 +679,12 @@ static irqreturn_t bma180_trigger_handler(int irq, void *p)
 			mutex_unlock(&data->mutex);
 			goto err;
 		}
-		((s16 *)data->buff)[i++] = ret;
+		data->scan.chan[i++] = ret;
 	}
 
 	mutex_unlock(&data->mutex);
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buff, time_ns);
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan, time_ns);
 err:
 	iio_trigger_notify_done(indio_dev->trig);
 
drivers/iio/accel/bma220_spi.c +7 -3
index cae905039cb6..71ee42b0266d 100644
@@ -73,7 +73,11 @@ static const int bma220_scale_table[][4] = {
 struct bma220_data {
 	struct spi_device *spi_device;
 	struct mutex lock;
-	s8 buffer[16]; /* 3x8-bit channels + 5x8 padding + 8x8 timestamp */
+	struct {
+		s8 chans[3];
+		/* Ensure timestamp is naturally aligned. */
+		s64 timestamp __aligned(8);
+	} scan;
 	u8 tx_buf[2] ____cacheline_aligned;
 };
 
@@ -104,12 +108,12 @@ static irqreturn_t bma220_trigger_handler(int irq, void *p)
 
 	mutex_lock(&data->lock);
 	data->tx_buf[0] = BMA220_REG_ACCEL_X | BMA220_READ_MASK;
-	ret = spi_write_then_read(spi, data->tx_buf, 1, data->buffer,
+	ret = spi_write_then_read(spi, data->tx_buf, 1, &data->scan.chans,
 				  ARRAY_SIZE(bma220_channels) - 1);
 	if (ret < 0)
 		goto err;
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 					   pf->timestamp);
 err:
 	mutex_unlock(&data->lock);
drivers/iio/accel/hid-sensor-accel-3d.c +8 -5
index 0d9e2def2b25..f908476fa095 100644
@@ -29,8 +29,11 @@ struct accel_3d_state {
 	struct hid_sensor_hub_callbacks callbacks;
 	struct hid_sensor_common common_attributes;
 	struct hid_sensor_hub_attribute_info accel[ACCEL_3D_CHANNEL_MAX];
-	/* Reserve for 3 channels + padding + timestamp */
-	u32 accel_val[ACCEL_3D_CHANNEL_MAX + 3];
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		u32 accel_val[3];
+		s64 timestamp __aligned(8);
+	} scan;
 	int scale_pre_decml;
 	int scale_post_decml;
 	int scale_precision;
@@ -241,8 +244,8 @@ static int accel_3d_proc_event(struct hid_sensor_hub_device *hsdev,
 			accel_state->timestamp = iio_get_time_ns(indio_dev);
 
 		hid_sensor_push_data(indio_dev,
-				     accel_state->accel_val,
-				     sizeof(accel_state->accel_val),
+				     &accel_state->scan,
+				     sizeof(accel_state->scan),
 				     accel_state->timestamp);
 
 		accel_state->timestamp = 0;
@@ -267,7 +270,7 @@ static int accel_3d_capture_sample(struct hid_sensor_hub_device *hsdev,
 	case HID_USAGE_SENSOR_ACCEL_Y_AXIS:
 	case HID_USAGE_SENSOR_ACCEL_Z_AXIS:
 		offset = usage_id - HID_USAGE_SENSOR_ACCEL_X_AXIS;
-		accel_state->accel_val[CHANNEL_SCAN_INDEX_X + offset] =
+		accel_state->scan.accel_val[CHANNEL_SCAN_INDEX_X + offset] =
 						*(u32 *)raw_data;
 		ret = 0;
 	break;
drivers/iio/accel/kxcjk-1013.c +14 -10
index da9452e81105..57db60bf2d4c 100644
@@ -132,12 +132,23 @@ enum kx_acpi_type {
 	ACPI_KIOX010A,
 };
 
+enum kxcjk1013_axis {
+	AXIS_X,
+	AXIS_Y,
+	AXIS_Z,
+	AXIS_MAX
+};
+
 struct kxcjk1013_data {
 	struct i2c_client *client;
 	struct iio_trigger *dready_trig;
 	struct iio_trigger *motion_trig;
 	struct mutex mutex;
-	s16 buffer[8];
+	/* Ensure timestamp naturally aligned */
+	struct {
+		s16 chans[AXIS_MAX];
+		s64 timestamp __aligned(8);
+	} scan;
 	u8 odr_bits;
 	u8 range;
 	int wake_thres;
@@ -151,13 +162,6 @@ struct kxcjk1013_data {
 	enum kx_acpi_type acpi_type;
 };
 
-enum kxcjk1013_axis {
-	AXIS_X,
-	AXIS_Y,
-	AXIS_Z,
-	AXIS_MAX,
-};
-
 enum kxcjk1013_mode {
 	STANDBY,
 	OPERATION,
@@ -1078,12 +1082,12 @@ static irqreturn_t kxcjk1013_trigger_handler(int irq, void *p)
 	ret = i2c_smbus_read_i2c_block_data_or_emulated(data->client,
 							KXCJK1013_REG_XOUT_L,
 							AXIS_MAX * 2,
-							(u8 *)data->buffer);
+							(u8 *)data->scan.chans);
 	mutex_unlock(&data->mutex);
 	if (ret < 0)
 		goto err;
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 					   data->timestamp);
 err:
 	iio_trigger_notify_done(indio_dev->trig);
drivers/iio/accel/mxc4005.c +8 -4
index 3d5bea651923..d81b02642a0b 100644
@@ -56,7 +56,11 @@ struct mxc4005_data {
 	struct mutex mutex;
 	struct regmap *regmap;
 	struct iio_trigger *dready_trig;
-	__be16 buffer[8];
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		__be16 chans[3];
+		s64 timestamp __aligned(8);
+	} scan;
 	bool trigger_enabled;
 };
 
@@ -135,7 +139,7 @@ static int mxc4005_read_xyz(struct mxc4005_data *data)
 	int ret;
 
 	ret = regmap_bulk_read(data->regmap, MXC4005_REG_XOUT_UPPER,
-			       (u8 *) data->buffer, sizeof(data->buffer));
+			       data->scan.chans, sizeof(data->scan.chans));
 	if (ret < 0) {
 		dev_err(data->dev, "failed to read axes\n");
 		return ret;
@@ -150,7 +154,7 @@ static int mxc4005_read_axis(struct mxc4005_data *data,
 	__be16 reg;
 	int ret;
 
-	ret = regmap_bulk_read(data->regmap, addr, (u8 *) &reg, sizeof(reg));
+	ret = regmap_bulk_read(data->regmap, addr, &reg, sizeof(reg));
 	if (ret < 0) {
 		dev_err(data->dev, "failed to read reg %02x\n", addr);
 		return ret;
@@ -301,7 +305,7 @@ static irqreturn_t mxc4005_trigger_handler(int irq, void *private)
 	if (ret < 0)
 		goto err;
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 					   pf->timestamp);
 
 err:
drivers/iio/accel/stk8312.c +8 -4
index 58c160ccdee7..be66b8523977 100644
@@ -103,7 +103,11 @@ struct stk8312_data {
 	u8 mode;
 	struct iio_trigger *dready_trig;
 	bool dready_trigger_on;
-	s8 buffer[16]; /* 3x8-bit channels + 5x8 padding + 64-bit timestamp */
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		s8 chans[3];
+		s64 timestamp __aligned(8);
+	} scan;
 };
 
 static IIO_CONST_ATTR(in_accel_scale_available, STK8312_SCALE_AVAIL);
@@ -438,7 +442,7 @@ static irqreturn_t stk8312_trigger_handler(int irq, void *p)
 		ret = i2c_smbus_read_i2c_block_data(data->client,
 						    STK8312_REG_XOUT,
 						    STK8312_ALL_CHANNEL_SIZE,
-						    data->buffer);
+						    data->scan.chans);
 		if (ret < STK8312_ALL_CHANNEL_SIZE) {
 			dev_err(&data->client->dev, "register read failed\n");
 			mutex_unlock(&data->lock);
@@ -452,12 +456,12 @@ static irqreturn_t stk8312_trigger_handler(int irq, void *p)
 				mutex_unlock(&data->lock);
 				goto err;
 			}
-			data->buffer[i++] = ret;
+			data->scan.chans[i++] = ret;
 		}
 	}
 	mutex_unlock(&data->lock);
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 					   pf->timestamp);
 err:
 	iio_trigger_notify_done(indio_dev->trig);
drivers/iio/accel/stk8ba50.c +8 -9
index c70ddec29eb4..edba3c13a979 100644
@@ -91,12 +91,11 @@ struct stk8ba50_data {
 	u8 sample_rate_idx;
 	struct iio_trigger *dready_trig;
 	bool dready_trigger_on;
-	/*
-	 * 3 x 16-bit channels (10-bit data, 6-bit padding) +
-	 * 1 x 16 padding +
-	 * 4 x 16 64-bit timestamp
-	 */
-	s16 buffer[8];
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		s16 chans[3];
+		s64 timetamp __aligned(8);
+	} scan;
 };
 
 #define STK8BA50_ACCEL_CHANNEL(index, reg, axis) {			\
@@ -324,7 +323,7 @@ static irqreturn_t stk8ba50_trigger_handler(int irq, void *p)
 		ret = i2c_smbus_read_i2c_block_data(data->client,
 						    STK8BA50_REG_XOUT,
 						    STK8BA50_ALL_CHANNEL_SIZE,
-						    (u8 *)data->buffer);
+						    (u8 *)data->scan.chans);
 		if (ret < STK8BA50_ALL_CHANNEL_SIZE) {
 			dev_err(&data->client->dev, "register read failed\n");
 			goto err;
@@ -337,10 +336,10 @@ static irqreturn_t stk8ba50_trigger_handler(int irq, void *p)
 			if (ret < 0)
 				goto err;
 
-			data->buffer[i++] = ret;
+			data->scan.chans[i++] = ret;
 		}
 	}
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 					   pf->timestamp);
 err:
 	mutex_unlock(&data->lock);
drivers/iio/adc/at91-sama5d2_adc.c +19 -14
index 2c01963a6a5c..def4abeb47ca 100644
@@ -399,7 +399,9 @@ struct at91_adc_state {
 	wait_queue_head_t		wq_data_available;
 	struct at91_adc_dma		dma_st;
 	struct at91_adc_touch		touch_st;
-	u16				buffer[AT91_BUFFER_MAX_HWORDS];
+	struct iio_dev			*indio_dev;
+	/* Ensure naturally aligned timestamp */
+	u16				buffer[AT91_BUFFER_MAX_HWORDS] __aligned(8);
 	/*
 	 * lock to prevent concurrent 'single conversion' requests through
 	 * sysfs.
@@ -624,13 +626,13 @@ static u16 at91_adc_touch_pos(struct at91_adc_state *st, int reg)
 	/* first half of register is the x or y, second half is the scale */
 	val = at91_adc_readl(st, reg);
 	if (!val)
-		dev_dbg(&iio_priv_to_dev(st)->dev, "pos is 0\n");
+		dev_dbg(&st->indio_dev->dev, "pos is 0\n");
 
 	pos = val & AT91_SAMA5D2_XYZ_MASK;
 	result = (pos << AT91_SAMA5D2_MAX_POS_BITS) - pos;
 	scale = (val >> 16) & AT91_SAMA5D2_XYZ_MASK;
 	if (scale == 0) {
-		dev_err(&iio_priv_to_dev(st)->dev, "scale is 0\n");
+		dev_err(&st->indio_dev->dev, "scale is 0\n");
 		return 0;
 	}
 	result /= scale;
@@ -1154,9 +1156,9 @@ static unsigned at91_adc_startup_time(unsigned startup_time_min,
 	return i;
 }
 
-static void at91_adc_setup_samp_freq(struct at91_adc_state *st, unsigned freq)
+static void at91_adc_setup_samp_freq(struct iio_dev *indio_dev, unsigned freq)
 {
-	struct iio_dev *indio_dev = iio_priv_to_dev(st);
+	struct at91_adc_state *st = iio_priv(indio_dev);
 	unsigned f_per, prescal, startup, mr;
 
 	f_per = clk_get_rate(st->per_clk);
@@ -1225,9 +1227,9 @@ static void at91_adc_pen_detect_interrupt(struct at91_adc_state *st)
 	st->touch_st.touching = true;
 }
 
-static void at91_adc_no_pen_detect_interrupt(struct at91_adc_state *st)
+static void at91_adc_no_pen_detect_interrupt(struct iio_dev *indio_dev)
 {
-	struct iio_dev *indio_dev = iio_priv_to_dev(st);
+	struct at91_adc_state *st = iio_priv(indio_dev);
 
 	at91_adc_writel(st, AT91_SAMA5D2_TRGR,
 			AT91_SAMA5D2_TRGR_TRGMOD_NO_TRIGGER);
@@ -1247,7 +1249,7 @@ static void at91_adc_workq_handler(struct work_struct *workq)
 					struct at91_adc_touch, workq);
 	struct at91_adc_state *st = container_of(touch_st,
 					struct at91_adc_state, touch_st);
-	struct iio_dev *indio_dev = iio_priv_to_dev(st);
+	struct iio_dev *indio_dev = st->indio_dev;
 
 	iio_push_to_buffers(indio_dev, st->buffer);
 }
@@ -1268,7 +1270,7 @@ static irqreturn_t at91_adc_interrupt(int irq, void *private)
 		at91_adc_pen_detect_interrupt(st);
 	} else if ((status & AT91_SAMA5D2_IER_NOPEN)) {
 		/* nopen detected IRQ */
-		at91_adc_no_pen_detect_interrupt(st);
+		at91_adc_no_pen_detect_interrupt(indio);
 	} else if ((status & AT91_SAMA5D2_ISR_PENS) &&
 		   ((status & rdy_mask) == rdy_mask)) {
 		/* periodic trigger IRQ - during pen sense */
@@ -1435,7 +1437,7 @@ static int at91_adc_write_raw(struct iio_dev *indio_dev,
 		    val > st->soc_info.max_sample_rate)
 			return -EINVAL;
 
-		at91_adc_setup_samp_freq(st, val);
+		at91_adc_setup_samp_freq(indio_dev, val);
 		return 0;
 	default:
 		return -EINVAL;
@@ -1573,8 +1575,10 @@ static int at91_adc_update_scan_mode(struct iio_dev *indio_dev,
 	return 0;
 }
 
-static void at91_adc_hw_init(struct at91_adc_state *st)
+static void at91_adc_hw_init(struct iio_dev *indio_dev)
 {
+	struct at91_adc_state *st = iio_priv(indio_dev);
+
 	at91_adc_writel(st, AT91_SAMA5D2_CR, AT91_SAMA5D2_CR_SWRST);
 	at91_adc_writel(st, AT91_SAMA5D2_IDR, 0xffffffff);
 	/*
@@ -1584,7 +1588,7 @@ static void at91_adc_hw_init(struct at91_adc_state *st)
 	at91_adc_writel(st, AT91_SAMA5D2_MR,
 			AT91_SAMA5D2_MR_TRANSFER(2) | AT91_SAMA5D2_MR_ANACH);
 
-	at91_adc_setup_samp_freq(st, st->soc_info.min_sample_rate);
+	at91_adc_setup_samp_freq(indio_dev, st->soc_info.min_sample_rate);
 
 	/* configure extended mode register */
 	at91_adc_config_emr(st);
@@ -1667,6 +1671,7 @@ static int at91_adc_probe(struct platform_device *pdev)
 	indio_dev->num_channels = ARRAY_SIZE(at91_adc_channels);
 
 	st = iio_priv(indio_dev);
+	st->indio_dev = indio_dev;
 
 	bitmap_set(&st->touch_st.channels_bitmask,
 		   AT91_SAMA5D2_TOUCH_X_CHAN_IDX, 1);
@@ -1778,7 +1783,7 @@ static int at91_adc_probe(struct platform_device *pdev)
 		goto vref_disable;
 	}
 
-	at91_adc_hw_init(st);
+	at91_adc_hw_init(indio_dev);
 
 	ret = clk_prepare_enable(st->per_clk);
 	if (ret)
@@ -1894,7 +1899,7 @@ static __maybe_unused int at91_adc_resume(struct device *dev)
 	if (ret)
 		goto vref_disable_resume;
 
-	at91_adc_hw_init(st);
+	at91_adc_hw_init(indio_dev);
 
 	/* reconfiguring trigger hardware state */
 	if (!iio_buffer_enabled(indio_dev))
drivers/iio/adc/hx711.c +2 -2
index 62e6c8badd22..a3265166fd83 100644
@@ -85,9 +85,9 @@ struct hx711_data {
 	struct mutex		lock;
 	/*
 	 * triggered buffer
-	 * 2x32-bit channel + 64-bit timestamp
+	 * 2x32-bit channel + 64-bit naturally aligned timestamp
 	 */
-	u32			buffer[4];
+	u32			buffer[4] __aligned(8);
 	/*
 	 * delay after a rising edge on SCK until the data is ready DOUT
 	 * this is dependent on the hx711 where the datasheet tells a
drivers/iio/adc/mxs-lradc-adc.c +2 -1
index 9d2f74c2489a..01f85bbe6a2e 100644
@@ -115,7 +115,8 @@ struct mxs_lradc_adc {
 	struct device		*dev;
 
 	void __iomem		*base;
-	u32			buffer[10];
+	/* Maximum of 8 channels + 8 byte ts */
+	u32			buffer[10] __aligned(8);
 	struct iio_trigger	*trig;
 	struct completion	completion;
 	spinlock_t		lock;
drivers/iio/adc/ti-ads1015.c +8 -4
index 871690a47661..7929891f568e 100644
@@ -388,10 +388,14 @@ static irqreturn_t ads1015_trigger_handler(int irq, void *p)
 	struct iio_poll_func *pf = p;
 	struct iio_dev *indio_dev = pf->indio_dev;
 	struct ads1015_data *data = iio_priv(indio_dev);
-	s16 buf[8]; /* 1x s16 ADC val + 3x s16 padding +  4x s16 timestamp */
+	/* Ensure natural alignment of timestamp */
+	struct {
+		s16 chan;
+		s64 timestamp __aligned(8);
+	} scan;
 	int chan, ret, res;
 
-	memset(buf, 0, sizeof(buf));
+	memset(&scan, 0, sizeof(scan));
 
 	mutex_lock(&data->lock);
 	chan = find_first_bit(indio_dev->active_scan_mask,
@@ -402,10 +406,10 @@ static irqreturn_t ads1015_trigger_handler(int irq, void *p)
 		goto err;
 	}
 
-	buf[0] = res;
+	scan.chan = res;
 	mutex_unlock(&data->lock);
 
-	iio_push_to_buffers_with_timestamp(indio_dev, buf,
+	iio_push_to_buffers_with_timestamp(indio_dev, &scan,
 					   iio_get_time_ns(indio_dev));
 
 err:
drivers/iio/adc/ti-ads8688.c +2 -1
index 14fe7c320b52..55a2d619d6dd 100644
@@ -383,7 +383,8 @@ static irqreturn_t ads8688_trigger_handler(int irq, void *p)
 {
 	struct iio_poll_func *pf = p;
 	struct iio_dev *indio_dev = pf->indio_dev;
-	u16 buffer[ADS8688_MAX_CHANNELS + sizeof(s64)/sizeof(u16)];
+	/* Ensure naturally aligned timestamp */
+	u16 buffer[ADS8688_MAX_CHANNELS + sizeof(s64)/sizeof(u16)] __aligned(8);
 	int i, j = 0;
 
 	for (i = 0; i < indio_dev->masklength; i++) {
drivers/iio/adc/vf610_adc.c +7 -3
index 98b30475bbc6..0d29fe974d70 100644
@@ -167,7 +167,11 @@ struct vf610_adc {
 	u32 sample_freq_avail[5];
 
 	struct completion completion;
-	u16 buffer[8];
+	/* Ensure the timestamp is naturally aligned */
+	struct {
+		u16 chan;
+		s64 timestamp __aligned(8);
+	} scan;
 };
 
 static const u32 vf610_hw_avgs[] = { 1, 4, 8, 16, 32 };
@@ -579,9 +583,9 @@ static irqreturn_t vf610_adc_isr(int irq, void *dev_id)
 	if (coco & VF610_ADC_HS_COCO0) {
 		info->value = vf610_adc_read_data(info);
 		if (iio_buffer_enabled(indio_dev)) {
-			info->buffer[0] = info->value;
+			info->scan.chan = info->value;
 			iio_push_to_buffers_with_timestamp(indio_dev,
-					info->buffer,
+					&info->scan,
 					iio_get_time_ns(indio_dev));
 			iio_trigger_notify_done(indio_dev->trig);
 		} else
drivers/iio/gyro/bmg160_core.c +7 -3
index 428ddfc13acb..276bed47e8d6 100644
@@ -96,7 +96,11 @@ struct bmg160_data {
 	struct iio_trigger *motion_trig;
 	struct iio_mount_matrix orientation;
 	struct mutex mutex;
-	s16 buffer[8];
+	/* Ensure naturally aligned timestamp */
+	struct {
+		s16 chans[3];
+		s64 timestamp __aligned(8);
+	} scan;
 	u32 dps_range;
 	int ev_enable_state;
 	int slope_thres;
@@ -880,12 +884,12 @@ static irqreturn_t bmg160_trigger_handler(int irq, void *p)
 
 	mutex_lock(&data->mutex);
 	ret = regmap_bulk_read(data->regmap, BMG160_REG_XOUT_L,
-			       data->buffer, AXIS_MAX * 2);
+			       data->scan.chans, AXIS_MAX * 2);
 	mutex_unlock(&data->mutex);
 	if (ret < 0)
 		goto err;
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 					   pf->timestamp);
 err:
 	iio_trigger_notify_done(indio_dev->trig);
drivers/iio/humidity/am2315.c +10 -6
index 3bac98e731d9..894922a315fe 100644
@@ -33,7 +33,11 @@
 struct am2315_data {
 	struct i2c_client *client;
 	struct mutex lock;
-	s16 buffer[8]; /* 2x16-bit channels + 2x16 padding + 4x16 timestamp */
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		s16 chans[2];
+		s64 timestamp __aligned(8);
+	} scan;
 };
 
 struct am2315_sensor_data {
@@ -167,20 +171,20 @@ static irqreturn_t am2315_trigger_handler(int irq, void *p)
 
 	mutex_lock(&data->lock);
 	if (*(indio_dev->active_scan_mask) == AM2315_ALL_CHANNEL_MASK) {
-		data->buffer[0] = sensor_data.hum_data;
-		data->buffer[1] = sensor_data.temp_data;
+		data->scan.chans[0] = sensor_data.hum_data;
+		data->scan.chans[1] = sensor_data.temp_data;
 	} else {
 		i = 0;
 		for_each_set_bit(bit, indio_dev->active_scan_mask,
 				 indio_dev->masklength) {
-			data->buffer[i] = (bit ? sensor_data.temp_data :
-						 sensor_data.hum_data);
+			data->scan.chans[i] = (bit ? sensor_data.temp_data :
+					       sensor_data.hum_data);
 			i++;
 		}
 	}
 	mutex_unlock(&data->lock);
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 					   pf->timestamp);
 err:
 	iio_trigger_notify_done(indio_dev->trig);
drivers/iio/imu/adis16400.c +0 -3
index 59e33302042c..afa9d26362da 100644
@@ -651,9 +651,6 @@ static irqreturn_t adis16400_trigger_handler(int irq, void *p)
 	void *buffer;
 	int ret;
 
-	if (!adis->buffer)
-		return -ENOMEM;
-
 	if (!(st->variant->flags & ADIS16400_NO_BURST) &&
 		st->adis.spi->max_speed_hz > ADIS16400_SPI_BURST) {
 		st->adis.spi->max_speed_hz = ADIS16400_SPI_BURST;
drivers/iio/imu/adis_buffer.c +0 -3
index 4998a89d083d..8f8c1a87567b 100644
@@ -125,9 +125,6 @@ static irqreturn_t adis_trigger_handler(int irq, void *p)
 	struct adis *adis = iio_device_get_drvdata(indio_dev);
 	int ret;
 
-	if (!adis->buffer)
-		return -ENOMEM;
-
 	if (adis->data->has_paging) {
 		mutex_lock(&adis->txrx_lock);
 		if (adis->current_page != 0) {
drivers/iio/light/isl29125.c +7 -3
index e37894f0ae0b..15906925e588 100644
@@ -51,7 +51,11 @@
 struct isl29125_data {
 	struct i2c_client *client;
 	u8 conf1;
-	u16 buffer[8]; /* 3x 16-bit, padding, 8 bytes timestamp */
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		u16 chans[3];
+		s64 timestamp __aligned(8);
+	} scan;
 };
 
 #define ISL29125_CHANNEL(_color, _si) { \
@@ -184,10 +188,10 @@ static irqreturn_t isl29125_trigger_handler(int irq, void *p)
 		if (ret < 0)
 			goto done;
 
-		data->buffer[j++] = ret;
+		data->scan.chans[j++] = ret;
 	}
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 		iio_get_time_ns(indio_dev));
 
 done:
drivers/iio/light/ltr501.c +11 -4
index ceddb6a3b61b..8bc01e8a424b 100644
@@ -32,9 +32,12 @@
 #define LTR501_PART_ID 0x86
 #define LTR501_MANUFAC_ID 0x87
 #define LTR501_ALS_DATA1 0x88 /* 16-bit, little endian */
+#define LTR501_ALS_DATA1_UPPER 0x89 /* upper 8 bits of LTR501_ALS_DATA1 */
 #define LTR501_ALS_DATA0 0x8a /* 16-bit, little endian */
+#define LTR501_ALS_DATA0_UPPER 0x8b /* upper 8 bits of LTR501_ALS_DATA0 */
 #define LTR501_ALS_PS_STATUS 0x8c
 #define LTR501_PS_DATA 0x8d /* 16-bit, little endian */
+#define LTR501_PS_DATA_UPPER 0x8e /* upper 8 bits of LTR501_PS_DATA */
 #define LTR501_INTR 0x8f /* output mode, polarity, mode */
 #define LTR501_PS_THRESH_UP 0x90 /* 11 bit, ps upper threshold */
 #define LTR501_PS_THRESH_LOW 0x92 /* 11 bit, ps lower threshold */
@@ -405,18 +408,19 @@ static int ltr501_read_als(struct ltr501_data *data, __le16 buf[2])
 
 static int ltr501_read_ps(struct ltr501_data *data)
 {
-	int ret, status;
+	__le16 status;
+	int ret;
 
 	ret = ltr501_drdy(data, LTR501_STATUS_PS_RDY);
 	if (ret < 0)
 		return ret;
 
 	ret = regmap_bulk_read(data->regmap, LTR501_PS_DATA,
-			       &status, 2);
+			       &status, sizeof(status));
 	if (ret < 0)
 		return ret;
 
-	return status;
+	return le16_to_cpu(status);
 }
 
 static int ltr501_read_intr_prst(struct ltr501_data *data,
@@ -1204,7 +1208,7 @@ static struct ltr501_chip_info ltr501_chip_info_tbl[] = {
 		.als_gain_tbl_size = ARRAY_SIZE(ltr559_als_gain_tbl),
 		.ps_gain = ltr559_ps_gain_tbl,
 		.ps_gain_tbl_size = ARRAY_SIZE(ltr559_ps_gain_tbl),
-		.als_mode_active = BIT(1),
+		.als_mode_active = BIT(0),
 		.als_gain_mask = BIT(2) | BIT(3) | BIT(4),
 		.als_gain_shift = 2,
 		.info = &ltr501_info,
@@ -1353,9 +1357,12 @@ static bool ltr501_is_volatile_reg(struct device *dev, unsigned int reg)
 {
 	switch (reg) {
 	case LTR501_ALS_DATA1:
+	case LTR501_ALS_DATA1_UPPER:
 	case LTR501_ALS_DATA0:
+	case LTR501_ALS_DATA0_UPPER:
 	case LTR501_ALS_PS_STATUS:
 	case LTR501_PS_DATA:
+	case LTR501_PS_DATA_UPPER:
 		return true;
 	default:
 		return false;
drivers/iio/light/tcs3414.c +7 -3
index 7c0291c5fe76..85bfe3b63f4f 100644
@@ -53,7 +53,11 @@ struct tcs3414_data {
 	u8 control;
 	u8 gain;
 	u8 timing;
-	u16 buffer[8]; /* 4x 16-bit + 8 bytes timestamp */
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		u16 chans[4];
+		s64 timestamp __aligned(8);
+	} scan;
 };
 
 #define TCS3414_CHANNEL(_color, _si, _addr) { \
@@ -209,10 +213,10 @@ static irqreturn_t tcs3414_trigger_handler(int irq, void *p)
 		if (ret < 0)
 			goto done;
 
-		data->buffer[j++] = ret;
+		data->scan.chans[j++] = ret;
 	}
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 		iio_get_time_ns(indio_dev));
 
 done:
drivers/iio/light/tcs3472.c +11 -5
index 12ad34441010..9ea543c5cf5e 100644
@@ -64,7 +64,11 @@ struct tcs3472_data {
 	u8 control;
 	u8 atime;
 	u8 apers;
-	u16 buffer[8]; /* 4 16-bit channels + 64-bit timestamp */
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		u16 chans[4];
+		s64 timestamp __aligned(8);
+	} scan;
 };
 
 static const struct iio_event_spec tcs3472_events[] = {
@@ -386,10 +390,10 @@ static irqreturn_t tcs3472_trigger_handler(int irq, void *p)
 		if (ret < 0)
 			goto done;
 
-		data->buffer[j++] = ret;
+		data->scan.chans[j++] = ret;
 	}
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 		iio_get_time_ns(indio_dev));
 
 done:
@@ -532,7 +536,8 @@ static int tcs3472_probe(struct i2c_client *client,
 	return 0;
 
 free_irq:
-	free_irq(client->irq, indio_dev);
+	if (client->irq)
+		free_irq(client->irq, indio_dev);
 buffer_cleanup:
 	iio_triggered_buffer_cleanup(indio_dev);
 	return ret;
@@ -560,7 +565,8 @@ static int tcs3472_remove(struct i2c_client *client)
 	struct iio_dev *indio_dev = i2c_get_clientdata(client);
 
 	iio_device_unregister(indio_dev);
-	free_irq(client->irq, indio_dev);
+	if (client->irq)
+		free_irq(client->irq, indio_dev);
 	iio_triggered_buffer_cleanup(indio_dev);
 	tcs3472_powerdown(iio_priv(indio_dev));
 
drivers/iio/light/vcnl4035.c +2 -1
index cca4db312bd3..234623ab3817 100644
@@ -102,7 +102,8 @@ static irqreturn_t vcnl4035_trigger_consumer_handler(int irq, void *p)
 	struct iio_poll_func *pf = p;
 	struct iio_dev *indio_dev = pf->indio_dev;
 	struct vcnl4035_data *data = iio_priv(indio_dev);
-	u8 buffer[ALIGN(sizeof(u16), sizeof(s64)) + sizeof(s64)];
+	/* Ensure naturally aligned timestamp */
+	u8 buffer[ALIGN(sizeof(u16), sizeof(s64)) + sizeof(s64)]  __aligned(8);
 	int ret;
 
 	ret = regmap_read(data->regmap, VCNL4035_ALS_DATA, (int *)buffer);
drivers/iio/magnetometer/bmc150_magn.c +7 -4
index d4de16750b10..48685d785c1b 100644
@@ -136,8 +136,11 @@ struct bmc150_magn_data {
 	struct mutex mutex;
 	struct regmap *regmap;
 	struct iio_mount_matrix orientation;
-	/* 4 x 32 bits for x, y z, 4 bytes align, 64 bits timestamp */
-	s32 buffer[6];
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		s32 chans[3];
+		s64 timestamp __aligned(8);
+	} scan;
 	struct iio_trigger *dready_trig;
 	bool dready_trigger_on;
 	int max_odr;
@@ -673,11 +676,11 @@ static irqreturn_t bmc150_magn_trigger_handler(int irq, void *p)
 	int ret;
 
 	mutex_lock(&data->mutex);
-	ret = bmc150_magn_read_xyz(data, data->buffer);
+	ret = bmc150_magn_read_xyz(data, data->scan.chans);
 	if (ret < 0)
 		goto err;
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 					   pf->timestamp);
 
 err:
drivers/iio/magnetometer/hmc5843.h +6 -2
index b0dee87a8b20..b68bb55909e1 100644
@@ -33,7 +33,8 @@ enum hmc5843_ids {
  * @lock:		update and read regmap data
  * @regmap:		hardware access register maps
  * @variant:		describe chip variants
- * @buffer:		3x 16-bit channels + padding + 64-bit timestamp
+ * @scan:		buffer to pack data for passing to
+ *			iio_push_to_buffers_with_timestamp()
  */
 struct hmc5843_data {
 	struct device *dev;
@@ -41,7 +42,10 @@ struct hmc5843_data {
 	struct regmap *regmap;
 	const struct hmc5843_chip_info *variant;
 	struct iio_mount_matrix orientation;
-	__be16 buffer[8];
+	struct {
+		__be16 chans[3];
+		s64 timestamp __aligned(8);
+	} scan;
 };
 
 int hmc5843_common_probe(struct device *dev, struct regmap *regmap,
drivers/iio/magnetometer/hmc5843_core.c +2 -2
index c44a4292da92..aef78275260f 100644
@@ -446,13 +446,13 @@ static irqreturn_t hmc5843_trigger_handler(int irq, void *p)
 	}
 
 	ret = regmap_bulk_read(data->regmap, HMC5843_DATA_OUT_MSB_REGS,
-			       data->buffer, 3 * sizeof(__be16));
+			       data->scan.chans, sizeof(data->scan.chans));
 
 	mutex_unlock(&data->lock);
 	if (ret < 0)
 		goto done;
 
-	iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+	iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 					   iio_get_time_ns(indio_dev));
 
 done:
drivers/iio/magnetometer/rm3100-core.c +2 -1
index 7c20918d8108..f31ff225fe61 100644
@@ -76,7 +76,8 @@ struct rm3100_data {
 	bool use_interrupt;
 	int conversion_time;
 	int scale;
-	u8 buffer[RM3100_SCAN_BYTES];
+	/* Ensure naturally aligned timestamp */
+	u8 buffer[RM3100_SCAN_BYTES] __aligned(8);
 	struct iio_trigger *drdy_trig;
 
 	/*
drivers/iio/potentiostat/lmp91000.c +2 -2
index a0e5f530faa9..d6db07264a7b 100644
@@ -71,8 +71,8 @@ struct lmp91000_data {
 
 	struct completion completion;
 	u8 chan_select;
-
-	u32 buffer[4]; /* 64-bit data + 64-bit timestamp */
+	/* 64-bit data + 64-bit naturally aligned timestamp */
+	u32 buffer[4] __aligned(8);
 };
 
 static const struct iio_chan_spec lmp91000_channels[] = {
drivers/iio/proximity/as3935.c +7 -3
index b591c63bd6c4..718150a93133 100644
@@ -61,7 +61,11 @@ struct as3935_state {
 	unsigned long noise_tripped;
 	u32 tune_cap;
 	u32 nflwdth_reg;
-	u8 buffer[16]; /* 8-bit data + 56-bit padding + 64-bit timestamp */
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		u8 chan;
+		s64 timestamp __aligned(8);
+	} scan;
 	u8 buf[2] ____cacheline_aligned;
 };
 
@@ -227,8 +231,8 @@ static irqreturn_t as3935_trigger_handler(int irq, void *private)
 	if (ret)
 		goto err_read;
 
-	st->buffer[0] = val & AS3935_DATA_MASK;
-	iio_push_to_buffers_with_timestamp(indio_dev, &st->buffer,
+	st->scan.chan = val & AS3935_DATA_MASK;
+	iio_push_to_buffers_with_timestamp(indio_dev, &st->scan,
 					   iio_get_time_ns(indio_dev));
 err_read:
 	iio_trigger_notify_done(indio_dev->trig);
drivers/iio/proximity/isl29501.c +1 -1
index 5ae549075b27..56d6e9f927f4 100644
@@ -938,7 +938,7 @@ static irqreturn_t isl29501_trigger_handler(int irq, void *p)
 	struct iio_dev *indio_dev = pf->indio_dev;
 	struct isl29501_private *isl29501 = iio_priv(indio_dev);
 	const unsigned long *active_mask = indio_dev->active_scan_mask;
-	u32 buffer[4] = {}; /* 1x16-bit + ts */
+	u32 buffer[4] __aligned(8) = {}; /* 1x16-bit + naturally aligned ts */
 
 	if (test_bit(ISL29501_DISTANCE_SCAN_INDEX, active_mask))
 		isl29501_register_read(isl29501, REG_DISTANCE, buffer);
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c +7 -3
index 67f85268b63d..0c7617022407 100644
@@ -43,7 +43,11 @@ struct lidar_data {
 	int (*xfer)(struct lidar_data *data, u8 reg, u8 *val, int len);
 	int i2c_enabled;
 
-	u16 buffer[8]; /* 2 byte distance + 8 byte timestamp */
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		u16 chan;
+		s64 timestamp __aligned(8);
+	} scan;
 };
 
 static const struct iio_chan_spec lidar_channels[] = {
@@ -228,9 +232,9 @@ static irqreturn_t lidar_trigger_handler(int irq, void *private)
 	struct lidar_data *data = iio_priv(indio_dev);
 	int ret;
 
-	ret = lidar_get_measurement(data, data->buffer);
+	ret = lidar_get_measurement(data, &data->scan.chan);
 	if (!ret) {
-		iio_push_to_buffers_with_timestamp(indio_dev, data->buffer,
+		iio_push_to_buffers_with_timestamp(indio_dev, &data->scan,
 						   iio_get_time_ns(indio_dev));
 	} else if (ret != -EINVAL) {
 		dev_err(&data->client->dev, "cannot read LIDAR measurement");
drivers/iio/proximity/srf08.c +7 -7
index b23ce446b7be..c99bc514c5e1 100644
@@ -63,11 +63,11 @@ struct srf08_data {
 	int			range_mm;
 	struct mutex		lock;
 
-	/*
-	 * triggered buffer
-	 * 1x16-bit channel + 3x16 padding + 4x16 timestamp
-	 */
-	s16			buffer[8];
+	/* Ensure timestamp is naturally aligned */
+	struct {
+		s16 chan;
+		s64 timestamp __aligned(8);
+	} scan;
 
 	/* Sensor-Type */
 	enum srf08_sensor_type	sensor_type;
@@ -190,9 +190,9 @@ static irqreturn_t srf08_trigger_handler(int irq, void *p)
 
 	mutex_lock(&data->lock);
 
-	data->buffer[0] = sensor_data;
+	data->scan.chan = sensor_data;
 	iio_push_to_buffers_with_timestamp(indio_dev,
-						data->buffer, pf->timestamp);
+					   &data->scan, pf->timestamp);
 
 	mutex_unlock(&data->lock);
 err:
drivers/infiniband/core/uverbs_cmd.c +19 -2
index c398d1a64614..d413dafb9211 100644
@@ -3031,12 +3031,29 @@ static int ib_uverbs_ex_modify_wq(struct uverbs_attr_bundle *attrs)
 	if (!wq)
 		return -EINVAL;
 
-	wq_attr.curr_wq_state = cmd.curr_wq_state;
-	wq_attr.wq_state = cmd.wq_state;
 	if (cmd.attr_mask & IB_WQ_FLAGS) {
 		wq_attr.flags = cmd.flags;
 		wq_attr.flags_mask = cmd.flags_mask;
 	}
+
+	if (cmd.attr_mask & IB_WQ_CUR_STATE) {
+		if (cmd.curr_wq_state > IB_WQS_ERR)
+			return -EINVAL;
+
+		wq_attr.curr_wq_state = cmd.curr_wq_state;
+	} else {
+		wq_attr.curr_wq_state = wq->state;
+	}
+
+	if (cmd.attr_mask & IB_WQ_STATE) {
+		if (cmd.wq_state > IB_WQS_ERR)
+			return -EINVAL;
+
+		wq_attr.wq_state = cmd.wq_state;
+	} else {
+		wq_attr.wq_state = wq_attr.curr_wq_state;
+	}
+
 	ret = wq->device->ops.modify_wq(wq, &wq_attr, cmd.attr_mask,
 					&attrs->driver_udata);
 	uobj_put_obj_read(wq);
drivers/infiniband/hw/mlx4/qp.c +2 -7
index 6e2b3e2f83f1..17ce928e41bd 100644
@@ -4294,13 +4294,8 @@ int mlx4_ib_modify_wq(struct ib_wq *ibwq, struct ib_wq_attr *wq_attr,
 	if (wq_attr_mask & IB_WQ_FLAGS)
 		return -EOPNOTSUPP;
 
-	cur_state = wq_attr_mask & IB_WQ_CUR_STATE ? wq_attr->curr_wq_state :
-						     ibwq->state;
-	new_state = wq_attr_mask & IB_WQ_STATE ? wq_attr->wq_state : cur_state;
-
-	if (cur_state  < IB_WQS_RESET || cur_state  > IB_WQS_ERR ||
-	    new_state < IB_WQS_RESET || new_state > IB_WQS_ERR)
-		return -EINVAL;
+	cur_state = wq_attr->curr_wq_state;
+	new_state = wq_attr->wq_state;
 
 	if ((new_state == IB_WQS_RDY) && (cur_state == IB_WQS_ERR))
 		return -EINVAL;
drivers/infiniband/hw/mlx5/main.c +2 -2
index a173737cb022..9025086a8932 100644
@@ -5871,8 +5871,6 @@ static void mlx5_ib_unbind_slave_port(struct mlx5_ib_dev *ibdev,
 
 	port->mp.mpi = NULL;
 
-	list_add_tail(&mpi->list, &mlx5_ib_unaffiliated_port_list);
-
 	spin_unlock(&port->mp.mpi_lock);
 
 	err = mlx5_nic_vport_unaffiliate_multiport(mpi->mdev);
@@ -6025,6 +6023,8 @@ static void mlx5_ib_cleanup_multiport_master(struct mlx5_ib_dev *dev)
 				dev->port[i].mp.mpi = NULL;
 			} else {
 				mlx5_ib_dbg(dev, "unbinding port_num: %d\n", i + 1);
+				list_add_tail(&dev->port[i].mp.mpi->list,
+					      &mlx5_ib_unaffiliated_port_list);
 				mlx5_ib_unbind_slave_port(dev, dev->port[i].mp.mpi);
 			}
 		}
drivers/infiniband/hw/mlx5/qp.c +2 -4
index 09e29c6cb66d..4540835e05bd 100644
@@ -6317,10 +6317,8 @@ int mlx5_ib_modify_wq(struct ib_wq *wq, struct ib_wq_attr *wq_attr,
 
 	rqc = MLX5_ADDR_OF(modify_rq_in, in, ctx);
 
-	curr_wq_state = (wq_attr_mask & IB_WQ_CUR_STATE) ?
-		wq_attr->curr_wq_state : wq->state;
-	wq_state = (wq_attr_mask & IB_WQ_STATE) ?
-		wq_attr->wq_state : curr_wq_state;
+	curr_wq_state = wq_attr->curr_wq_state;
+	wq_state = wq_attr->wq_state;
 	if (curr_wq_state == IB_WQS_ERR)
 		curr_wq_state = MLX5_RQC_STATE_ERR;
 	if (wq_state == IB_WQS_ERR)
drivers/infiniband/sw/rxe/rxe_net.c +7 -3
index d41135682891..7d1df737c655 100644
@@ -251,10 +251,8 @@ static struct socket *rxe_setup_udp_tunnel(struct net *net, __be16 port,
 
 	/* Create UDP socket */
 	err = udp_sock_create(net, &udp_cfg, &sock);
-	if (err < 0) {
-		pr_err("failed to create udp socket. err = %d\n", err);
+	if (err < 0)
 		return ERR_PTR(err);
-	}
 
 	tnl_cfg.encap_type = 1;
 	tnl_cfg.encap_rcv = rxe_udp_encap_recv;
@@ -660,6 +658,12 @@ static int rxe_net_ipv6_init(void)
 
 	recv_sockets.sk6 = rxe_setup_udp_tunnel(&init_net,
 						htons(ROCE_V2_UDP_DPORT), true);
+	if (PTR_ERR(recv_sockets.sk6) == -EAFNOSUPPORT) {
+		recv_sockets.sk6 = NULL;
+		pr_warn("IPv6 is not supported, can not create a UDPv6 socket\n");
+		return 0;
+	}
+
 	if (IS_ERR(recv_sockets.sk6)) {
 		recv_sockets.sk6 = NULL;
 		pr_err("Failed to create IPv6 UDP tunnel\n");
drivers/infiniband/sw/rxe/rxe_qp.c +0 -1
index d427a343c09f..53166b9ae67e 100644
@@ -152,7 +152,6 @@ static void free_rd_atomic_resources(struct rxe_qp *qp)
 void free_rd_atomic_resource(struct rxe_qp *qp, struct resp_res *res)
 {
 	if (res->type == RXE_ATOMIC_MASK) {
-		rxe_drop_ref(qp);
 		kfree_skb(res->atomic.skb);
 	} else if (res->type == RXE_READ_MASK) {
 		if (res->read.mr)
drivers/infiniband/sw/rxe/rxe_resp.c +0 -2
index c4a8195bf670..186152bf7951 100644
@@ -993,8 +993,6 @@ static int send_atomic_ack(struct rxe_qp *qp, struct rxe_pkt_info *pkt,
 		goto out;
 	}
 
-	rxe_add_ref(qp);
-
 	res = &qp->resp.resources[qp->resp.res_head];
 	free_rd_atomic_resource(qp, res);
 	rxe_advance_resp_resource(qp);
drivers/input/joydev.c +1 -1
index 430dc6975004..675fcd0952a2 100644
@@ -500,7 +500,7 @@ static int joydev_handle_JSIOCSBTNMAP(struct joydev *joydev,
 	memcpy(joydev->keypam, keypam, len);
 
 	for (i = 0; i < joydev->nkey; i++)
-		joydev->keymap[keypam[i] - BTN_MISC] = i;
+		joydev->keymap[joydev->keypam[i] - BTN_MISC] = i;
 
  out:
 	kfree(keypam);
drivers/input/keyboard/Kconfig +0 -3
index 8911bc2ec42a..ae0bdc439105 100644
@@ -68,9 +68,6 @@ config KEYBOARD_AMIGA
 	  To compile this driver as a module, choose M here: the
 	  module will be called amikbd.
 
-config ATARI_KBD_CORE
-	bool
-
 config KEYBOARD_APPLESPI
 	tristate "Apple SPI keyboard and trackpad"
 	depends on ACPI && EFI
drivers/input/keyboard/hil_kbd.c +1 -0
index bb29a7c9a1c0..54afb38601b9 100644
@@ -512,6 +512,7 @@ static int hil_dev_connect(struct serio *serio, struct serio_driver *drv)
 		    HIL_IDD_NUM_AXES_PER_SET(*idd)) {
 			printk(KERN_INFO PREFIX
 				"combo devices are not supported.\n");
+			error = -EINVAL;
 			goto bail1;
 		}
 
drivers/input/touchscreen/usbtouchscreen.c +4 -4
index 397cb1d3f481..544a8f40b81f 100644
@@ -251,7 +251,7 @@ static int e2i_init(struct usbtouch_usb *usbtouch)
 	int ret;
 	struct usb_device *udev = interface_to_usbdev(usbtouch->interface);
 
-	ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
+	ret = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
 	                      0x01, 0x02, 0x0000, 0x0081,
 	                      NULL, 0, USB_CTRL_SET_TIMEOUT);
 
@@ -531,7 +531,7 @@ static int mtouch_init(struct usbtouch_usb *usbtouch)
 	if (ret)
 		return ret;
 
-	ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
+	ret = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
 	                      MTOUCHUSB_RESET,
 	                      USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
 	                      1, 0, NULL, 0, USB_CTRL_SET_TIMEOUT);
@@ -543,7 +543,7 @@ static int mtouch_init(struct usbtouch_usb *usbtouch)
 	msleep(150);
 
 	for (i = 0; i < 3; i++) {
-		ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
+		ret = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
 				      MTOUCHUSB_ASYNC_REPORT,
 				      USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
 				      1, 1, NULL, 0, USB_CTRL_SET_TIMEOUT);
@@ -722,7 +722,7 @@ static int dmc_tsc10_init(struct usbtouch_usb *usbtouch)
 	}
 
 	/* start sending data */
-	ret = usb_control_msg(dev, usb_rcvctrlpipe (dev, 0),
+	ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0),
 	                      TSC10_CMD_DATA1,
 	                      USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_DEVICE,
 	                      0, 0, NULL, 0, USB_CTRL_SET_TIMEOUT);
drivers/iommu/dma-iommu.c +4 -2
index 76bd2309e023..9c3e630c6c4c 100644
@@ -216,9 +216,11 @@ static int iova_reserve_pci_windows(struct pci_dev *dev,
 			lo = iova_pfn(iovad, start);
 			hi = iova_pfn(iovad, end);
 			reserve_iova(iovad, lo, hi);
-		} else {
+		} else if (end < start) {
 			/* dma_ranges list should be sorted */
-			dev_err(&dev->dev, "Failed to reserve IOVA\n");
+			dev_err(&dev->dev,
+				"Failed to reserve IOVA [%pa-%pa]\n",
+				&start, &end);
 			return -EINVAL;
 		}
 
drivers/leds/Kconfig +1 -0
index 1988de1d64c0..2cbf66d1c300 100644
@@ -144,6 +144,7 @@ config LEDS_LM3530
 
 config LEDS_LM3532
 	tristate "LCD Backlight driver for LM3532"
+	select REGMAP_I2C
 	depends on LEDS_CLASS
 	depends on I2C
 	help
drivers/leds/leds-as3645a.c +1 -0
index b7e0ae1af8fa..1dc6f1b24ddb 100644
@@ -544,6 +544,7 @@ static int as3645a_parse_node(struct as3645a *flash,
 	if (!flash->indicator_node) {
 		dev_warn(&flash->client->dev,
 			 "can't find indicator node\n");
+		rval = -ENODEV;
 		goto out_err;
 	}
 
drivers/leds/leds-ktd2692.c +18 -9
index 670efee9b131..cd30b3b46e76 100644
@@ -256,6 +256,17 @@ static void ktd2692_setup(struct ktd2692_context *led)
 				 | KTD2692_REG_FLASH_CURRENT_BASE);
 }
 
[… more lines in the raw message]

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

drivers/leds/leds-lm36274.c +40 -42

82 lines not on this page · raw message

drivers/leds/leds-lm3692x.c +4 -4
index 1ac9a44570ee..cc77ea048d9b 100644

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

drivers/media/common/siano/smscoreapi.c +9 -13
index 0ba51dacc580..ce94b5205fd6 100644

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

drivers/media/common/siano/smscoreapi.h +2 -2
index a2f95f4899c2..cd6c981eb1f9 100644

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

drivers/media/common/siano/smsdvb-main.c +4 -0
index ae17407e477a..7cc654bc52d3 100644

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

drivers/media/dvb-core/dvb_net.c +19 -6
index 630509ecee20..9fed06ba88ef 100644

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

drivers/media/i2c/ir-kbd-i2c.c +2 -2
index e8119ad0bc71..92376592455e 100644

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

drivers/media/i2c/s5c73m3/s5c73m3-core.c +3 -3
index 5b4c4a3547c9..71804a70bc6d 100644

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

drivers/media/i2c/s5c73m3/s5c73m3.h +1 -1
index ef7e85b34263..c3fcfdd3ea66 100644

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

drivers/media/i2c/s5k4ecgx.c +5 -5
index b2d53417badf..4e97309a67f4 100644

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

drivers/media/i2c/s5k5baf.c +3 -3
index cdfe008ba39f..ac5ab3392073 100644

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

drivers/media/i2c/s5k6aa.c +5 -5
index 72439fae7968..6516e205e9a3 100644

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

drivers/media/i2c/tc358743.c +1 -0
index 114c084c4aec..76c443067ec2 100644

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

drivers/media/mc/Makefile +1 -1
index 119037f0e686..2b7af42ba59c 100644

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

drivers/media/pci/bt8xx/bt878.c +3 -0
index 53af26ad1dfb..1a741b47eaa1 100644

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

drivers/media/pci/cobalt/cobalt-driver.c +1 -0
index 0695078ef812..1bd8bbe57a30 100644

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

drivers/media/pci/cobalt/cobalt-driver.h +6 -1
index bca68572b324..12c33e035904 100644

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

drivers/media/platform/exynos-gsc/gsc-m2m.c +1 -3
index 35a1d0d6dd66..42d1e4496efa 100644

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

drivers/media/platform/exynos4-is/fimc-isp-video.c +5 -2
index d2cbcdca0463..370cdf007012 100644

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

drivers/media/platform/mtk-mdp/mtk_mdp_m2m.c +3 -3
index 7c9e2d69e21a..34bc2949e1d6 100644

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

drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_drv.c +3 -1
index 00d090df11bb..4cde1a54e725 100644

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

drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.c +5 -3
index f9bbd0000bf3..34e9e067de20 100644

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

drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_pm.h +1 -1
index 872d8bf8cfaf..280aeaefdb65 100644

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

drivers/media/platform/s5p-cec/s5p_cec.c +5 -2
index 6ddcc35b0bbd..828792b854f5 100644

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

drivers/media/platform/s5p-g2d/g2d.c +3 -0
index f5f05ea9f521..6cfc2debfd9a 100644

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

drivers/media/platform/s5p-jpeg/jpeg-core.c +1 -4
index 8dbbd5f2a40a..06e17946bbb6 100644

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

drivers/media/platform/sh_vou.c +5 -1
index 2236702c21b4..84c4b19fb107 100644

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

drivers/media/platform/sti/bdisp/Makefile +1 -1
index caf7ccd193ea..39ade0a34723 100644

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

drivers/media/platform/sti/bdisp/bdisp-v4l2.c +4 -3
index a55ddf8d185d..16a097f93b42 100644

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

drivers/media/platform/sti/delta/Makefile +1 -1
index 92b37e216f00..32412fa4c632 100644

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

drivers/media/platform/sti/hva/Makefile +1 -1
index 74b41ec52f97..b5a5478bdd01 100644

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

drivers/media/platform/sti/hva/hva-hw.c +1 -2
index 43f279e2a6a3..cf4c891bf619 100644

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

drivers/media/usb/au0828/au0828-core.c +2 -2
index a8a72d5fbd12..caefac07af92 100644

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

drivers/media/usb/cpia2/cpia2.h +1 -0
index 50835f5f7512..57b7f1ea68da 100644

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

drivers/media/usb/cpia2/cpia2_core.c +12 -0
index 20c50c2d042e..f8c6e0b211a5 100644

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

drivers/media/usb/cpia2/cpia2_usb.c +7 -6
index 3ab80a7b4498..76aac06f9fb8 100644

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

drivers/media/usb/dvb-usb/cinergyT2-core.c +2 -0
index 969a7ec71dff..4116ba5c45fc 100644

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

drivers/media/usb/dvb-usb/cxusb.c +1 -1
index fac19ec46089..06bd827ef461 100644

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

drivers/media/usb/em28xx/em28xx-input.c +6 -2
index 5aa15a7a49de..59529cbf9cd0 100644

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

drivers/media/usb/gspca/gl860/gl860.c +2 -2
index 2c05ea2598e7..ce4ee8bc75c8 100644

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

drivers/media/usb/pvrusb2/pvrusb2-hdw.c +2 -2
index 1cfb7cf64131..4c991eae53cd 100644

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

drivers/media/v4l2-core/v4l2-fh.c +1 -0
index 684574f58e82..90eec79ee995 100644

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

drivers/memstick/host/rtsx_usb_ms.c +4 -6
index 102dbb8080da..29271ad4728a 100644

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

drivers/misc/eeprom/idt_89hpesx.c +4 -4
index 81c70e5bc168..3e4a594c110b 100644

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

drivers/mmc/core/block.c +8 -0
index 39f2864455a6..8322d22a59c4 100644

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

drivers/mmc/host/sdhci-sprd.c +1 -0
index 10705e5fa90e..a999d2089d3d 100644

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

drivers/mmc/host/usdhi6rol0.c +1 -0
index 6eba2441c7ef..96b0f81a2032 100644

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

drivers/mmc/host/via-sdmmc.c +3 -0
index d12a068b0f9e..721e5dd1eb7d 100644

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

drivers/mmc/host/vub300.c +1 -1
index a3680c900689..156046e56a58 100644

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

drivers/mtd/nand/raw/marvell_nand.c +3 -1
index ee4afa17d8a3..ef163ff1edf7 100644

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

drivers/mtd/parsers/redboot.c +6 -1
index 91146bdc4713..3ccd6363ee8c 100644

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

drivers/net/can/peak_canfd/peak_canfd.c +2 -2
index 91b156b2123a..d0bdcc43b8ee 100644

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

drivers/net/can/usb/ems_usb.c +2 -1
index 4f52810bebf8..db9f15f17610 100644

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

drivers/net/ethernet/aeroflex/greth.c +2 -1
index 2a9f8643629c..907904c0a288 100644

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

drivers/net/ethernet/broadcom/genet/bcmgenet.c +1 -0
index b27da024aa9d..21669a42718c 100644

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

drivers/net/ethernet/emulex/benet/be_cmds.c +4 -2
index 701c12c9e033..649c5c429bd7 100644

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

drivers/net/ethernet/emulex/benet/be_main.c +2 -0
index 9aebb121365f..552877590a8a 100644

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

drivers/net/ethernet/ezchip/nps_enet.c +2 -2
index 815fb62c4b02..3d74401b4f10 100644

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

drivers/net/ethernet/faraday/ftgmac100.c +5 -1
index 4050f81f788c..2c06cdcd3e75 100644

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

drivers/net/ethernet/google/gve/gve_main.c +2 -2
index 6ea0975d74a1..1c4b35b1b359 100644

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

drivers/net/ethernet/ibm/ehea/ehea_main.c +5 -4
index 13e30eba5349..1fd2b84e2e91 100644

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

drivers/net/ethernet/ibm/ibmvnic.c +9 -1
index a2b7b982ee29..ecfe588f330e 100644

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

drivers/net/ethernet/intel/e1000e/netdev.c +13 -11
index c2feedfd321d..a06d514215ed 100644

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

drivers/net/ethernet/intel/i40e/i40e_ethtool.c +1 -2
index e4d0b7747e84..2288a3855e52 100644

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

drivers/net/ethernet/intel/i40e/i40e_main.c +2 -0
index a1b4e995f2b7..4f4ec1f166ef 100644

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

drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +2 -0
index 491bcfd36ac2..7857ebff92e8 100644

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

drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +7 -3
index 18e6d87c607b..f1269fe4ac72 100644

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

drivers/net/ieee802154/mac802154_hwsim.c +8 -3
index c20e7ef18bc9..79d74763cf24 100644

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

drivers/net/vrf.c +7 -7
index 1267786d2931..f08ed52d51f3 100644

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

drivers/net/vxlan.c +2 -0
index 8443df79fabc..c5991e31c557 100644

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

drivers/net/wireless/ath/ath10k/mac.c +1 -0
index 47b733fdf4fc..20e248fd4364 100644

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

drivers/net/wireless/ath/ath10k/pci.c +10 -4
index fd49d3419e79..0f055e577749 100644

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

drivers/net/wireless/ath/ath9k/main.c +5 -0
index bd7e757a0f92..d14e01da3c31 100644

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

drivers/net/wireless/ath/carl9170/Kconfig +3 -5
index b1bce7aad399..c2641edab0bc 100644

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

drivers/net/wireless/ath/wcn36xx/main.c +8 -13
index 46ae4ec4ad47..556ba3c6c5d8 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +20 -17
index cd813c69a178..6439adcd2f99 100644

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

drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c +7 -1
index 6188275b17e5..288d4d4d4454 100644

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

drivers/net/wireless/intel/iwlwifi/mvm/tx.c +3 -0
index 2b92980a49e6..d46e606b7b02 100644

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

drivers/net/wireless/marvell/mwifiex/pcie.c +4 -6
index 58c9623c3a91..bc46a0aa06eb 100644

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

drivers/net/wireless/rsi/rsi_91x_hal.c +3 -3
index a07304405b2c..03791f3fe480 100644

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

drivers/net/wireless/rsi/rsi_91x_mac80211.c +0 -3
index ce5e92d82efc..ca1e609f637e 100644

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

drivers/net/wireless/rsi/rsi_91x_mgmt.c +1 -2
index 9cc8a335d519..ed67f6598677 100644

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

drivers/net/wireless/rsi/rsi_main.h +0 -1
index 73a19e43106b..b3e25bc28682 100644

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

drivers/nvme/target/fc.c +2 -8
index fc35f7ae67b0..9b07e8c7689a 100644

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

drivers/of/fdt.c +4 -4
index 223d617ecfe1..943d2a60bfdf 100644

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

drivers/of/of_reserved_mem.c +4 -4
index 3fb5d8caffd5..6ed3ffd0a629 100644

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

drivers/pci/controller/pci-hyperv.c +3 -0
index f1f300218fab..8c45d6c32c30 100644

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

drivers/perf/arm_smmuv3_pmu.c +10 -8
index 9cdd89b29334..6a3fa1f69e68 100644

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

drivers/perf/fsl_imx8_ddr_perf.c +4 -2
index 09f44c6e2eaf..726ed8f59868 100644

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

drivers/phy/socionext/phy-uniphier-pcie.c +7 -4
index 93ffbd2940fa..0bad0e01279a 100644

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

drivers/phy/ti/phy-dm816x-usb.c +13 -4
index cbcce7cf0028..2ed5fe20d779 100644

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

drivers/pinctrl/sh-pfc/pfc-r8a7796.c +2 -1
index 61db7c7a35ec..60d35a2c14ba 100644

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

drivers/pinctrl/sh-pfc/pfc-r8a77990.c +4 -4
index 5200dadd6b3e..f4b51e5e7e02 100644

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

drivers/platform/x86/toshiba_acpi.c +1 -0
index 71a969fc3b20..f202fc0dd1ff 100644

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

drivers/regulator/da9052-regulator.c +2 -1
index e18d291c7f21..23fa429ebe76 100644

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

drivers/regulator/hi655x-regulator.c +5 -11
index ac2ee2030211..b44f492a2b83 100644

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

drivers/regulator/mt6358-regulator.c +1 -1
index ba42682e06f3..40e09b1d323d 100644

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

drivers/regulator/uniphier-regulator.c +1 -0
index 2311924c3103..2904c7bb4767 100644

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

drivers/rtc/rtc-stm32.c +4 -2
index 2999e33a7e37..d28e7597dc05 100644

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

drivers/s390/cio/chp.c +3 -0
index 51038ec309c1..1fd982b4d64b 100644

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

drivers/s390/cio/chsc.c +0 -2
index 6392a1b95b02..980a78d3d81b 100644

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

drivers/scsi/FlashPoint.c +16 -16
index 0f17bd51088a..3b15fb25b5e6 100644

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

drivers/scsi/mpt3sas/mpt3sas_scsih.c +3 -1
index aff630fccb07..3654cfc4376f 100644

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

drivers/scsi/scsi_lib.c +1 -0
index b5867e1566f4..8e6d7ba95df1 100644

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

drivers/soundwire/stream.c +6 -7
index 23accfedbf4d..f7ca1f7a68f0 100644

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

drivers/spi/spi-loopback-test.c +1 -1
index 51633b2b6437..69a9df2cbbcf 100644

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

drivers/spi/spi-omap-100k.c +1 -1
index b8e201c09484..f64d030c760a 100644

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

drivers/spi/spi-sun6i.c +5 -1
index 956df79035d5..3a8acd78308f 100644

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

drivers/spi/spi-topcliff-pch.c +3 -1
index f88cbb94ce12..181ea30c416a 100644

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

drivers/spi/spi.c +1 -0
index f8f3434d5ab1..ac05c9c86488 100644

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

drivers/ssb/scan.c +1 -0
index 6ceee98ed6ff..5c7e61cafd19 100644

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

drivers/ssb/sdio.c +0 -1
index 7fe0afb42234..66c5c2169704 100644

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

drivers/staging/fbtft/fb_agm1264k-fl.c +10 -10
index eeeeec97ad27..b545c2ca80a4 100644

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

drivers/staging/fbtft/fb_bd663474.c +0 -4
index e2c7646588f8..1629c2c440a9 100644

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

drivers/staging/fbtft/fb_ili9163.c +0 -4
index 05648c3ffe47..6582a2c90aaf 100644

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

drivers/staging/fbtft/fb_ili9320.c +0 -1
index f2e72d14431d..a8f4c618b754 100644

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

drivers/staging/fbtft/fb_ili9325.c +0 -4
index c9aa4cb43123..16d3b17ca279 100644

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

drivers/staging/fbtft/fb_ili9340.c +0 -1
index 415183c7054a..704236bcaf3f 100644

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

drivers/staging/fbtft/fb_s6d1121.c +0 -4
index 8c7de3290343..62f27172f844 100644

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

drivers/staging/fbtft/fb_sh1106.c +0 -1
index 6f7249493ea3..7b9ab39e1c1a 100644

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

drivers/staging/fbtft/fb_ssd1289.c +0 -4
index 7a3fe022cc69..f27bab38b3ec 100644

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

drivers/staging/fbtft/fb_ssd1325.c +0 -2
index 8a3140d41d8b..796a2ac3e194 100644

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

drivers/staging/fbtft/fb_ssd1331.c +2 -4
index 37622c9462aa..ec5eced7f8cb 100644

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

drivers/staging/fbtft/fb_ssd1351.c +0 -1
index 900b28d826b2..cf263a58a148 100644

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

drivers/staging/fbtft/fb_upd161704.c +0 -4
index c77832ae5e5b..c680160d6380 100644

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

drivers/staging/fbtft/fb_watterott.c +0 -1
index 27cc8eabcbe9..fc65ce876155 100644

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

drivers/staging/fbtft/fbtft-bus.c +1 -2
index 63c65dd67b17..3d422bc11641 100644

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

drivers/staging/fbtft/fbtft-core.c +6 -7
index 61f0286fb157..bc53d68bfcaa 100644

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

drivers/staging/fbtft/fbtft-io.c +6 -6
index 0863d257d762..de1904a443c2 100644

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

drivers/staging/gdm724x/gdm_lte.c +15 -5
index db11498f6fc7..8093d0608638 100644

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

drivers/staging/media/imx/imx-media-csi.c +13 -1
index 367e39f5b382..40b7e60f4a47 100644

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

drivers/staging/media/imx/imx7-mipi-csis.c +4 -2
index 021bbd420390..63bc78e4cac8 100644

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

drivers/staging/mt7621-dts/mt7621.dtsi +1 -1
index a4c08110094b..5ca8607c5dbb 100644

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

drivers/staging/rtl8712/hal_init.c +3 -0
index 42c0a3c947f1..301b99060bc2 100644

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

drivers/staging/rtl8712/usb_intf.c +4 -6
index 2fcd65260f4c..bc421925e84c 100644

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

drivers/target/iscsi/cxgbit/cxgbit_ddp.c +10 -9
index 54bb1ebd8eb5..1814c19f5bf6 100644

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

drivers/target/iscsi/cxgbit/cxgbit_target.c +18 -3
index 45a1bfa2f735..c083a69105be 100644

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

drivers/tty/nozomi.c +6 -3
index ed99948f3b7f..af9b00918e4e 100644

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

drivers/tty/serial/8250/8250_port.c +16 -3
index 5b673077639b..6e93aa3623d9 100644

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

drivers/tty/serial/8250/serial_cs.c +1 -1
index c8186a05a453..ccd1a615305b 100644

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

drivers/tty/serial/mvebu-uart.c +11 -7
index 5e6f661943eb..51b4d8d1dcac 100644

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

drivers/tty/serial/sh-sci.c +8 -0
index de86e9021a8f..97ee1fc1cd24 100644

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

drivers/usb/class/cdc-acm.c +5 -0
index 1e9aab6118f5..c0604c60ebd0 100644

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

drivers/usb/dwc2/core.c +21 -9
index 78a4925aa118..093980481c4d 100644

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

drivers/usb/dwc3/core.c +2 -1
index b9d4fc636b32..2c68ec60d39a 100644

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

drivers/usb/gadget/function/f_eem.c +39 -4

43 lines not on this page · raw message

drivers/usb/gadget/function/f_fs.c +32 -33

65 lines not on this page · raw message

drivers/usb/host/xhci-mem.c +1 -0
index 7f9f302a73cd..160caef09c5e 100644

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

drivers/usb/typec/class.c +3 -1
index a400b65cf17b..526509ed92e5 100644

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

drivers/vfio/pci/vfio_pci.c +21 -8
index a603f363835c..b06d76216599 100644

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

drivers/video/backlight/lm3630a_bl.c +3 -1
index 2d8e8192e4e2..f03ffe2bb237 100644

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

drivers/video/fbdev/imxfb.c +1 -1
index b3286d1fa543..ffde3107104b 100644

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

drivers/visorbus/visorchipset.c +4 -2
index cb1eb7e05f87..5668cad86e37 100644

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

fs/btrfs/Kconfig +2 -0
index 38651fae7f21..0aa1bee24d80 100644

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

fs/btrfs/delayed-inode.c +12 -6
index 7dad8794ee38..3dccbbe4a658 100644

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

fs/btrfs/send.c +11 -0
index ecdefa7262d2..fc688af57c23 100644

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

fs/btrfs/transaction.c +4 -2
index aca6c467d776..d8e4e0bf3fc2 100644

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

fs/btrfs/tree-log.c +1 -0
index 4ff381c23cef..afc6731bb692 100644

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

fs/cifs/cifsglob.h +2 -1
index b16c994414ab..9c0e348cb00f 100644

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

fs/cifs/connect.c +4 -1
index ab9eeb5ff8e5..da0720f41ebc 100644

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

fs/configfs/file.c +5 -5
index 84b4d58fc65f..66fae1853d99 100644

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

fs/dax.c +2 -1
index 3b0e5da96d54..12953e892bb2 100644

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

fs/dlm/config.c +9 -0
index 3b1012a3c439..b7e288cf3f5f 100644

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

fs/dlm/lowcomms.c +1 -1
index 3951d39b9b75..d9202ba665ce 100644

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

fs/ext4/extents.c +3 -0
index dbd0d7a10154..ae73e6793683 100644

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

fs/ext4/extents_status.c +1 -3
index d996b44d2265..43fba01da6c3 100644

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

fs/ext4/ialloc.c +5 -6
index dd2c23d1483c..83846cc81485 100644

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

fs/ext4/mballoc.c +5 -4
index cd69510f2947..b67ea979f0cf 100644

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

fs/ext4/super.c +9 -1
index 0b364f5e6fdf..ce8372ceaa43 100644

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

fs/fs-writeback.c +10 -29
index a2cf2db0d3de..22e9c88f3960 100644

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

fs/fuse/dev.c +11 -1
index 40c262b3f9ff..16aa55b73ccf 100644

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

fs/ntfs/inode.c +1 -1
index 672feb96e250..46dc16e01fe2 100644

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

fs/ocfs2/filecheck.c +1 -5
index 50f11bfdc8c2..82a3edc4aea4 100644

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

fs/ocfs2/stackglue.c +2 -6
index 8aa6a667860c..188038760136 100644

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

include/crypto/internal/hash.h +1 -7
index bfc9db7b100d..9cc7f1c02d27 100644

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

include/linux/bio.h +4 -8
index 853d92ceee64..b0927b27a8a8 100644

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

include/linux/iio/common/cros_ec_sensors_core.h +1 -1
index bb331e6356a9..a321531539dd 100644

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

include/linux/prandom.h +1 -1
index cc1e71334e53..e20339c78a84 100644

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

include/linux/tracepoint.h +10 -0
index 57ce5af258a3..eede1a7c8195 100644

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

include/media/media-dev-allocator.h +1 -1
index b35ea6062596..2ab54d426c64 100644

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

include/net/ip.h +8 -4
index 0278d63c1527..52abfc00b5e3 100644

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

include/net/ip6_route.h +12 -4
index 2d0d91070268..40602def3fe7 100644

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

include/net/sch_generic.h +12 -0
index 0852f3e51360..0cb0a4bcb544 100644

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

include/net/tc_act/tc_vlan.h +1 -0
index 4e2502408c31..add6fb50dd33 100644

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

include/net/xfrm.h +1 -0
index 614f19bbad74..8ce63850d6d0 100644

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

kernel/kthread.c +12 -7
index 2eb8d7550324..b2bac5d929d2 100644

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

kernel/locking/lockdep.c +117 -3

120 lines not on this page · raw message

kernel/rcu/tree.c +1 -1
index 4dfa9dd47223..fd37827eca5b 100644

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

kernel/sched/core.c +25 -18

43 lines not on this page · raw message

kernel/sched/deadline.c +2 -0
index 4ce8c11e5e4a..3cf776d5bce8 100644

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

kernel/sched/fair.c +4 -4
index d3f4113e87de..d2ba080ea742 100644

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

kernel/sched/rt.c +12 -5
index 5b04bba4500d..2dffb8762e16 100644

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

kernel/time/clocksource.c +47 -6

53 lines not on this page · raw message

kernel/trace/bpf_trace.c +2 -1
index 74c1db7178cf..4d9f81802911 100644

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

kernel/trace/trace_events_hist.c +7 -0
index a616b314fb7a..b05376a01091 100644

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

kernel/tracepoint.c +30 -3
index be51df4508cb..5d87b21ba130 100644

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

lib/iov_iter.c +6 -3
index 9ea6f7bb8309..41b06af19536 100644

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

lib/kstrtox.c +10 -3
index 1006bf70bf74..95c7234ad467 100644

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

lib/kstrtox.h +2 -0
index 3b4637bcd254..158c400ca865 100644

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

lib/seq_buf.c +3 -1
index bd807f545a9d..b15dbb6f061a 100644

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

lib/vsprintf.c +48 -34

82 lines not on this page · raw message

mm/huge_memory.c +1 -1
index 87a07aa61be0..e50799d7002e 100644

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

mm/z3fold.c +1 -0
index 6d3d3f698ebb..e97143713021 100644

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

net/bluetooth/hci_event.c +12 -1
index bd678ffdaef7..e8e7f108b016 100644

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

net/bluetooth/mgmt.c +3 -0
index 5fce559a61bf..db525321da1f 100644

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

net/bpfilter/main.c +1 -1
index 05e1cfc1e5cd..291a92546246 100644

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

net/can/bcm.c +6 -1
index a7abced79376..1e17778d5cee 100644

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

net/can/gw.c +3 -0
index 65d60c93af29..ac2a5f11a766 100644

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

net/can/j1939/main.c +4 -0
index e52330f628c9..6884d18f919c 100644

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

net/can/j1939/socket.c +3 -0
index d57475c8ba07..51bfb220fad8 100644

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

net/core/filter.c +0 -4
index 108bcf600052..0e161a6dff7e 100644

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

net/ipv4/esp4.c +1 -1
index 00210e55b4cd..86c836fa2145 100644

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

net/ipv4/fib_frontend.c +2 -0
index 2ce191019526..b875b98820ed 100644

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

net/ipv4/route.c +2 -1
index 3ff702380b62..0e976848d4bb 100644

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

net/ipv6/esp6.c +1 -1
index 7a739f16d82b..12570a73def8 100644

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

net/ipv6/exthdrs.c +15 -16
index ab5add0fe6b4..69128000bc31 100644

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

net/mac80211/mlme.c +0 -9
index 44fd922cc32a..ccaf2389ccc1 100644

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

net/mac80211/sta_info.c +0 -5
index 82a1dd7b7d68..7b2e8c890381 100644

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

net/netfilter/nft_exthdr.c +3 -0
index 427d77b111b1..00f4323cfeb8 100644

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

net/netfilter/nft_osf.c +5 -0
index b42247aa48a9..4911f8eb394f 100644

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

net/netfilter/nft_tproxy.c +8 -1
index 95980154ef02..b97ab1198b03 100644

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

net/netlabel/netlabel_mgmt.c +10 -9
index e7a25fbfaf8b..a92ed37d0922 100644

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

net/sched/act_vlan.c +5 -2
index 3c26042f4ea6..7dc76c68ec52 100644

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

net/sched/cls_tcindex.c +1 -1
index c9399e81c505..3e81f87d0c89 100644

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

net/sched/sch_qfq.c +3 -5
index 0b05ac7c848e..b046fd3cac2c 100644

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

net/sunrpc/sched.c +11 -1
index 4beb6d2957c3..8fc4a6b3422f 100644

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

net/tls/tls_sw.c +1 -1
index cdb65aa54be7..7fb5c067f429 100644

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

net/xfrm/xfrm_state.c +12 -2
index 1423e2b7cb42..c6b2c99b501b 100644

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

samples/bpf/xdp_redirect_user.c +1 -1
index 5440cd620607..b7bc2a339d77 100644

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

scripts/Makefile.build +5 -4
index 9c689d011bce..1261f75cb4e7 100644

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

scripts/tools-support-relr.sh +2 -1
index 45e8aa360b45..cb55878bd5b8 100755

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

security/integrity/evm/evm_main.c +3 -2
index 615094eda36d..81e3245aec86 100644

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

security/integrity/evm/evm_secfs.c +7 -6
index 0f37ef27268d..d7f12ed19183 100644

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

sound/pci/hda/patch_realtek.c +36 -7

43 lines not on this page · raw message

sound/pci/intel8x0.c +1 -1
index 2a73fc4fd019..5150e8d38975 100644

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

sound/soc/atmel/atmel-i2s.c +26 -8
index bbe2b638abb5..d870f56c44cf 100644

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

sound/soc/codecs/cs42l42.h +1 -1
index 866d7c873e3c..ca2019732013 100644

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

sound/soc/codecs/rk3328_codec.c +22 -6
index 287c962ba00d..514ebe16bbfa 100644

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

sound/soc/hisilicon/hi6210-i2s.c +8 -6
index ab3b76d298b3..03470e8f3008 100644

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

sound/soc/mediatek/common/mtk-btcvsd.c +18 -6
index d00608c73c6e..b66f7dee1e14 100644

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

sound/soc/sh/rcar/adg.c +1 -3
index b9aacf3d3b29..7532ab27a48d 100644

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

sound/usb/format.c +2 -0
index 9e9d4c10dfac..84b66f7c627c 100644

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

sound/usb/mixer.c +6 -2
index f4f8778e907a..22841ed2411e 100644

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

sound/usb/mixer.h +1 -0
index 01b5e5cc2221..0e813cd85bee 100644

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

sound/usb/mixer_scarlett_gen2.c +6 -1
index 7a10c9e22c46..54bcf1c14bc2 100644

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

tools/bpf/bpftool/main.c +3 -1
index 93d008687020..7d3cfb0ccbe6 100644

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

tools/perf/util/llvm-utils.c +2 -0
index 8b14e4a7f1dc..e7c7e3232fc5 100644

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

tools/testing/selftests/tc-testing/plugin-lib/scapyPlugin.py +1 -1
index 229ee185b27e..a7b21658af9b 100644

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

tools/testing/selftests/x86/protection_keys.c +2 -1
index 47191af46617..a3602148e2ea 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.