Skip to contentSkip to conversation

Linux 4.14.233

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages May 22, 2021 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 4.14.233 kernel.

All users of the 4.14 kernel series must upgrade.

The updated 4.14.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.14.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

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

 Makefile                                               |    2 
 arch/arc/kernel/entry.S                                |    4 
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi        |    2 
 arch/arm/boot/dts/exynos5250-smdk5250.dts              |    2 
 arch/arm/boot/dts/exynos5250-snow-common.dtsi          |    2 
 arch/arm/kernel/hw_breakpoint.c                        |    2 
 arch/arm/kernel/suspend.c                              |   19 
 arch/arm64/boot/dts/mediatek/mt8173.dtsi               |    2 
 arch/arm64/kernel/vdso/vdso.lds.S                      |    8 
 arch/mips/include/asm/cpu-features.h                   |    5 
 arch/mips/include/asm/div64.h                          |   55 +
 arch/mips/include/asm/isa-rev.h                        |   24 
 arch/mips/pci/pci-legacy.c                             |    9 
 arch/mips/pci/pci-rt2880.c                             |   37 -
 arch/mips/vdso/gettimeofday.c                          |   14 
 arch/powerpc/Kconfig                                   |    2 
 arch/powerpc/Kconfig.debug                             |    1 
 arch/powerpc/include/uapi/asm/errno.h                  |    1 
 arch/powerpc/kernel/eeh.c                              |   11 
 arch/powerpc/kernel/iommu.c                            |    4 
 arch/powerpc/kernel/prom.c                             |    2 
 arch/powerpc/kernel/smp.c                              |    6 
 arch/powerpc/lib/feature-fixups.c                      |   35 +
 arch/powerpc/perf/isa207-common.c                      |    4 
 arch/powerpc/platforms/52xx/lite5200_sleep.S           |    2 
 arch/powerpc/platforms/pseries/hotplug-cpu.c           |    3 
 arch/powerpc/platforms/pseries/pci_dlpar.c             |    4 
 arch/s390/kernel/dis.c                                 |    2 
 arch/s390/kvm/gaccess.h                                |   54 +
 arch/s390/kvm/kvm-s390.c                               |    4 
 arch/um/kernel/dyn.lds.S                               |    6 
 arch/um/kernel/uml.lds.S                               |    6 
 arch/x86/Kconfig                                       |    1 
 arch/x86/Makefile                                      |    1 
 arch/x86/entry/vdso/vma.c                              |    2 
 arch/x86/events/amd/iommu.c                            |    6 
 arch/x86/kernel/acpi/boot.c                            |   25 
 arch/x86/kernel/cpu/microcode/core.c                   |    8 
 arch/x86/kernel/kprobes/core.c                         |   17 
 arch/x86/kernel/setup.c                                |    7 
 arch/x86/kvm/x86.c                                     |    1 
 arch/x86/lib/msr-smp.c                                 |    4 
 block/blk-mq.c                                         |    6 
 crypto/api.c                                           |    2 
 drivers/acpi/arm64/gtdt.c                              |   10 
 drivers/acpi/cppc_acpi.c                               |   14 
 drivers/acpi/custom_method.c                           |    4 
 drivers/acpi/scan.c                                    |    1 
 drivers/acpi/tables.c                                  |   42 +
 drivers/ata/libahci_platform.c                         |    4 
 drivers/ata/pata_arasan_cf.c                           |   15 
 drivers/ata/pata_ixp4xx_cf.c                           |    6 
 drivers/ata/sata_mv.c                                  |    4 
 drivers/bus/qcom-ebi2.c                                |    4 
 drivers/char/tpm/tpm2-cmd.c                            |    1 
 drivers/char/ttyprintk.c                               |   11 
 drivers/clk/samsung/clk-exynos7.c                      |    7 
 drivers/clk/socfpga/clk-gate-a10.c                     |    1 
 drivers/clk/uniphier/clk-uniphier-mux.c                |    4 
 drivers/crypto/qat/qat_c3xxxvf/adf_drv.c               |    4 
 drivers/crypto/qat/qat_c62xvf/adf_drv.c                |    4 
 drivers/crypto/qat/qat_common/adf_isr.c                |   29 
 drivers/crypto/qat/qat_common/adf_transport.c          |    1 
 drivers/crypto/qat/qat_common/adf_vf_isr.c             |   17 
 drivers/crypto/qat/qat_dh895xccvf/adf_drv.c            |    4 
 drivers/extcon/extcon-arizona.c                        |   17 
 drivers/firmware/Kconfig                               |    1 
 drivers/gpio/gpiolib-acpi.c                            |   14 
 drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c                |    2 
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c                |    2 
 drivers/gpu/drm/i915/intel_pm.c                        |    2 
 drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c        |   10 
 drivers/gpu/drm/radeon/radeon.h                        |    1 
 drivers/gpu/drm/radeon/radeon_atombios.c               |    6 
 drivers/gpu/drm/radeon/radeon_kms.c                    |    1 
 drivers/gpu/drm/radeon/radeon_pm.c                     |    8 
 drivers/gpu/drm/radeon/si_dpm.c                        |    3 
 drivers/hid/hid-ids.h                                  |    1 
 drivers/hid/hid-plantronics.c                          |   60 +-
 drivers/hsi/hsi_core.c                                 |    3 
 drivers/hv/channel_mgmt.c                              |   30 -
 drivers/hwtracing/intel_th/gth.c                       |    4 
 drivers/hwtracing/intel_th/pci.c                       |   10 
 drivers/i2c/busses/i2c-cadence.c                       |    5 
 drivers/i2c/busses/i2c-emev2.c                         |    5 
 drivers/i2c/busses/i2c-jz4780.c                        |    5 
 drivers/i2c/busses/i2c-sh7760.c                        |    5 
 drivers/iio/gyro/mpu3050-core.c                        |   13 
 drivers/iio/light/tsl2583.c                            |    8 
 drivers/iio/proximity/pulsedlight-lidar-lite-v2.c      |    1 
 drivers/infiniband/hw/hfi1/firmware.c                  |    1 
 drivers/infiniband/hw/i40iw/i40iw.h                    |    1 
 drivers/infiniband/hw/i40iw/i40iw_main.c               |    7 
 drivers/infiniband/hw/i40iw/i40iw_pble.c               |    6 
 drivers/input/touchscreen/elants_i2c.c                 |   44 +
 drivers/input/touchscreen/silead.c                     |   44 +
 drivers/isdn/capi/kcapi.c                              |    4 
 drivers/md/dm-rq.c                                     |    2 
 drivers/md/md.c                                        |   67 +-
 drivers/md/persistent-data/dm-btree-internal.h         |    4 
 drivers/md/persistent-data/dm-space-map-common.c       |    2 
 drivers/md/persistent-data/dm-space-map-common.h       |    8 
 drivers/md/raid1.c                                     |    2 
 drivers/media/dvb-core/dvbdev.c                        |    1 
 drivers/media/i2c/adv7511-v4l2.c                       |    2 
 drivers/media/i2c/adv7604.c                            |    2 
 drivers/media/i2c/adv7842.c                            |    2 
 drivers/media/pci/saa7164/saa7164-encoder.c            |   20 
 drivers/media/platform/vivid/vivid-core.c              |    6 
 drivers/media/platform/vivid/vivid-vid-out.c           |    2 
 drivers/media/rc/ite-cir.c                             |    8 
 drivers/media/tuners/m88rs6000t.c                      |    6 
 drivers/media/usb/dvb-usb/dvb-usb-init.c               |   20 
 drivers/media/usb/dvb-usb/dvb-usb.h                    |    2 
 drivers/media/usb/em28xx/em28xx-dvb.c                  |    1 
 drivers/media/usb/gspca/gspca.c                        |    2 
 drivers/media/usb/gspca/gspca.h                        |    1 
 drivers/media/usb/gspca/sq905.c                        |    2 
 drivers/media/usb/gspca/stv06xx/stv06xx.c              |    9 
 drivers/memory/omap-gpmc.c                             |    7 
 drivers/mfd/stm32-timers.c                             |    7 
 drivers/misc/kgdbts.c                                  |   26 
 drivers/misc/lis3lv02d/lis3lv02d.c                     |   21 
 drivers/misc/vmw_vmci/vmci_doorbell.c                  |    2 
 drivers/misc/vmw_vmci/vmci_guest.c                     |    2 
 drivers/mmc/core/block.c                               |   12 
 drivers/mmc/core/core.c                                |    2 
 drivers/mmc/core/sd.c                                  |    6 
 drivers/mtd/mtdchar.c                                  |    8 
 drivers/mtd/nand/gpmi-nand/gpmi-nand.c                 |    2 
 drivers/net/ethernet/cavium/liquidio/cn23xx_pf_regs.h  |    2 
 drivers/net/ethernet/cavium/thunder/nicvf_queues.c     |    2 
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c     |    2 
 drivers/net/ethernet/mediatek/mtk_eth_soc.c            |    2 
 drivers/net/ethernet/mediatek/mtk_eth_soc.h            |    1 
 drivers/net/ethernet/qualcomm/emac/emac-mac.c          |    4 
 drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c    |    2 
 drivers/net/ethernet/ti/davinci_emac.c                 |    4 
 drivers/net/fddi/Kconfig                               |   15 
 drivers/net/fddi/defxx.c                               |   47 +
 drivers/net/usb/ax88179_178a.c                         |    4 
 drivers/net/wan/lapbether.c                            |   32 -
 drivers/net/wimax/i2400m/op-rfkill.c                   |    2 
 drivers/net/wireless/ath/ath9k/htc_drv_init.c          |    2 
 drivers/net/wireless/ath/ath9k/hw.c                    |    2 
 drivers/net/wireless/intel/ipw2x00/libipw_wx.c         |    6 
 drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c      |    7 
 drivers/net/wireless/intel/iwlwifi/pcie/tx.c           |    7 
 drivers/net/wireless/marvell/mwl8k.c                   |    1 
 drivers/net/wireless/mediatek/mt7601u/eeprom.c         |    2 
 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c |  500 ++++++++++++-----
 drivers/net/wireless/wl3501.h                          |   47 -
 drivers/net/wireless/wl3501_cs.c                       |   54 -
 drivers/nfc/pn533/pn533.c                              |    3 
 drivers/of/fdt.c                                       |   12 
 drivers/pci/host/pci-thunder-ecam.c                    |    2 
 drivers/pci/host/pci-thunder-pem.c                     |   13 
 drivers/pci/hotplug/acpiphp_glue.c                     |    1 
 drivers/pci/pci.c                                      |   16 
 drivers/pci/pci.h                                      |    6 
 drivers/pci/probe.c                                    |    1 
 drivers/perf/arm_pmu_platform.c                        |    2 
 drivers/phy/marvell/Kconfig                            |    4 
 drivers/phy/ti/phy-twl4030-usb.c                       |    2 
 drivers/pinctrl/samsung/pinctrl-exynos.c               |   10 
 drivers/platform/x86/pmc_atom.c                        |   28 
 drivers/platform/x86/thinkpad_acpi.c                   |   31 -
 drivers/power/supply/bq27xxx_battery.c                 |   51 -
 drivers/power/supply/generic-adc-battery.c             |    2 
 drivers/power/supply/lp8788-charger.c                  |    2 
 drivers/power/supply/pm2301_charger.c                  |    2 
 drivers/power/supply/s3c_adc_battery.c                 |    2 
 drivers/power/supply/tps65090-charger.c                |    2 
 drivers/power/supply/tps65217_charger.c                |    2 
 drivers/rpmsg/qcom_glink_native.c                      |    1 
 drivers/rtc/rtc-ds1307.c                               |   12 
 drivers/scsi/device_handler/scsi_dh_alua.c             |    5 
 drivers/scsi/jazz_esp.c                                |    4 
 drivers/scsi/libfc/fc_lport.c                          |    2 
 drivers/scsi/lpfc/lpfc_crtn.h                          |    3 
 drivers/scsi/lpfc/lpfc_hw4.h                           |  174 -----
 drivers/scsi/lpfc/lpfc_init.c                          |  103 ---
 drivers/scsi/lpfc/lpfc_mbox.c                          |   36 -
 drivers/scsi/lpfc/lpfc_nportdisc.c                     |   11 
 drivers/scsi/lpfc/lpfc_nvmet.c                         |    1 
 drivers/scsi/lpfc/lpfc_sli.c                           |    1 
 drivers/scsi/qla2xxx/qla_attr.c                        |    8 
 drivers/scsi/qla2xxx/qla_bsg.c                         |    3 
 drivers/scsi/sni_53c710.c                              |    5 
 drivers/scsi/sun3x_esp.c                               |    4 
 drivers/soc/qcom/mdt_loader.c                          |   17 
 drivers/spi/spi-dln2.c                                 |    2 
 drivers/spi/spi-omap-100k.c                            |    6 
 drivers/spi/spi-ti-qspi.c                              |   20 
 drivers/spi/spi.c                                      |    9 
 drivers/staging/greybus/uart.c                         |    2 
 drivers/staging/media/omap4iss/iss.c                   |    4 
 drivers/staging/rtl8192u/r8192U_core.c                 |    2 
 drivers/staging/typec/tcpci.c                          |   21 
 drivers/target/target_core_pscsi.c                     |    3 
 drivers/tee/optee/core.c                               |   10 
 drivers/thermal/fair_share.c                           |    4 
 drivers/tty/serial/8250/8250_port.c                    |    3 
 drivers/tty/serial/stm32-usart.c                       |   17 
 drivers/tty/serial/stm32-usart.h                       |    3 
 drivers/tty/tty_io.c                                   |    8 
 drivers/usb/class/cdc-acm.c                            |    2 
 drivers/usb/core/hub.c                                 |    6 
 drivers/usb/core/quirks.c                              |    4 
 drivers/usb/dwc2/core.h                                |    2 
 drivers/usb/dwc2/gadget.c                              |    3 
 drivers/usb/dwc3/dwc3-omap.c                           |    5 
 drivers/usb/dwc3/gadget.c                              |   22 
 drivers/usb/gadget/config.c                            |    4 
 drivers/usb/gadget/function/f_fs.c                     |    3 
 drivers/usb/gadget/function/f_uac1.c                   |   43 +
 drivers/usb/gadget/function/f_uvc.c                    |    7 
 drivers/usb/gadget/udc/dummy_hcd.c                     |   23 
 drivers/usb/gadget/udc/fotg210-udc.c                   |   26 
 drivers/usb/gadget/udc/pch_udc.c                       |   49 +
 drivers/usb/gadget/udc/r8a66597-udc.c                  |    2 
 drivers/usb/gadget/udc/snps_udc_plat.c                 |    4 
 drivers/usb/host/fotg210-hcd.c                         |    4 
 drivers/usb/host/sl811-hcd.c                           |    9 
 drivers/usb/host/xhci-ext-caps.h                       |    5 
 drivers/usb/host/xhci-mem.c                            |    9 
 drivers/usb/host/xhci.c                                |    6 
 drivers/usb/usbip/vudc_dev.c                           |    1 
 drivers/usb/usbip/vudc_sysfs.c                         |    5 
 drivers/vfio/mdev/mdev_sysfs.c                         |    2 
 drivers/video/fbdev/core/fbcmap.c                      |    8 
 fs/block_dev.c                                         |   20 
 fs/btrfs/ctree.c                                       |   20 
 fs/btrfs/ioctl.c                                       |   18 
 fs/btrfs/relocation.c                                  |    6 
 fs/ceph/caps.c                                         |    1 
 fs/ceph/inode.c                                        |    1 
 fs/cifs/smb2ops.c                                      |    2 
 fs/dlm/debug_fs.c                                      |    1 
 fs/ecryptfs/main.c                                     |    6 
 fs/ext4/ialloc.c                                       |   48 +
 fs/ext4/super.c                                        |    6 
 fs/f2fs/inline.c                                       |    3 
 fs/fuse/cuse.c                                         |    2 
 fs/jffs2/compr_rtime.c                                 |    3 
 fs/jffs2/scan.c                                        |    2 
 fs/nfs/flexfilelayout/flexfilelayout.c                 |    2 
 fs/nfs/inode.c                                         |    8 
 fs/nfs/nfs42proc.c                                     |   21 
 fs/nfs/pnfs.c                                          |    2 
 fs/squashfs/file.c                                     |    6 
 include/crypto/acompress.h                             |    2 
 include/crypto/aead.h                                  |    2 
 include/crypto/akcipher.h                              |    2 
 include/crypto/hash.h                                  |    4 
 include/crypto/kpp.h                                   |    2 
 include/crypto/rng.h                                   |    2 
 include/crypto/skcipher.h                              |    2 
 include/linux/acpi.h                                   |    9 
 include/linux/hid.h                                    |    2 
 include/linux/module.h                                 |   26 
 include/linux/power/bq27xxx_battery.h                  |    1 
 include/linux/smp.h                                    |    2 
 include/linux/spi/spi.h                                |    3 
 include/linux/tty_driver.h                             |    2 
 include/net/bluetooth/hci_core.h                       |    1 
 include/scsi/libfcoe.h                                 |    2 
 include/uapi/linux/tty_flags.h                         |    4 
 kernel/bpf/verifier.c                                  |   26 
 kernel/futex.c                                         |    3 
 kernel/kexec_file.c                                    |    4 
 kernel/module.c                                        |   61 +-
 kernel/smp.c                                           |   10 
 kernel/time/posix-timers.c                             |    4 
 kernel/trace/ftrace.c                                  |    5 
 kernel/trace/trace.c                                   |   41 -
 kernel/trace/trace_clock.c                             |   44 +
 kernel/up.c                                            |    2 
 lib/bug.c                                              |   33 -
 lib/kobject_uevent.c                                   |    9 
 lib/nlattr.c                                           |    2 
 lib/stackdepot.c                                       |    6 
 mm/hugetlb.c                                           |   11 
 mm/khugepaged.c                                        |   18 
 mm/ksm.c                                               |    1 
 mm/shmem.c                                             |   12 
 net/bluetooth/hci_event.c                              |    3 
 net/bluetooth/hci_request.c                            |   12 
 net/bluetooth/l2cap_core.c                             |    4 
 net/bluetooth/l2cap_sock.c                             |    8 
 net/hsr/hsr_framereg.c                                 |    3 
 net/ipv6/ip6_gre.c                                     |    3 
 net/ipv6/ip6_tunnel.c                                  |    3 
 net/ipv6/ip6_vti.c                                     |    3 
 net/ipv6/sit.c                                         |    5 
 net/mac80211/main.c                                    |    7 
 net/mac80211/mlme.c                                    |    5 
 net/netfilter/nf_conntrack_standalone.c                |    5 
 net/netfilter/nft_set_hash.c                           |   10 
 net/nfc/digital_dep.c                                  |    2 
 net/nfc/llcp_sock.c                                    |    4 
 net/openvswitch/actions.c                              |    8 
 net/sctp/sm_make_chunk.c                               |    2 
 net/sctp/sm_statefuns.c                                |    3 
 net/sctp/socket.c                                      |   38 -
 net/tipc/netlink_compat.c                              |    2 
 net/vmw_vsock/vmci_transport.c                         |    3 
 net/wireless/scan.c                                    |    2 
 samples/bpf/tracex1_kern.c                             |    4 
 samples/kfifo/bytestream-example.c                     |    8 
 samples/kfifo/inttype-example.c                        |    8 
 samples/kfifo/record-example.c                         |    8 
 scripts/kconfig/nconf.c                                |    2 
 security/commoncap.c                                   |    2 
 sound/core/init.c                                      |    2 
 sound/isa/sb/emu8000.c                                 |    4 
 sound/isa/sb/sb16_csp.c                                |    8 
 sound/pci/hda/hda_generic.c                            |   16 
 sound/pci/hda/patch_conexant.c                         |   14 
 sound/pci/hda/patch_realtek.c                          |   21 
 sound/pci/rme9652/hdsp.c                               |    3 
 sound/pci/rme9652/hdspm.c                              |    3 
 sound/pci/rme9652/rme9652.c                            |    3 
 sound/soc/codecs/rt286.c                               |   23 
 sound/usb/card.c                                       |   14 
 sound/usb/quirks-table.h                               |   10 
 sound/usb/quirks.c                                     |   16 
 sound/usb/usbaudio.h                                   |    2 
 tools/perf/util/symbol_fprintf.c                       |    2 
 tools/testing/selftests/bpf/test_verifier.c            |   12 
 tools/testing/selftests/lib.mk                         |    4 
 331 files changed, 2368 insertions(+), 1384 deletions(-)

Alexander Aring (1):
fs: dlm: fix debugfs dump

Alexander Shishkin (2):
intel_th: pci: Add Rocket Lake CPU support
intel_th: pci: Add Alder Lake-M support

Alexey Kardashevskiy (1):
powerpc/iommu: Annotate nested lock for lockdep

Andrew Boyer (1):
RDMA/i40iw: Avoid panic when reading back the IRQ affinity hint

Andrew Scull (1):
bug: Remove redundant condition check in report_bug

Andy Shevchenko (4):
usb: gadget: pch_udc: Revert d3cb25a12138 completely
usb: gadget: pch_udc: Replace cpu_to_le32() by lower_32_bits()
usb: gadget: pch_udc: Check if driver is present before calling ->setup()
usb: gadget: pch_udc: Check for DMA mapping error

Anirudh Rayabharam (1):
usb: gadget: dummy_hcd: fix gpf in gadget_setup

Archie Pusaka (3):
Bluetooth: verify AMP hci_chan before amp_destroy
Bluetooth: Set CONF_NOT_COMPLETE as l2cap_chan default
Bluetooth: check for zapped sk before connecting

Ard Biesheuvel (1):
crypto: api - check for ERR pointers in crypto_destroy_tfm()

Arnaldo Carvalho de Melo (1):
perf symbols: Fix dso__fprintf_symbols_by_name() to return the number of printed chars

Arnd Bergmann (7):
security: commoncap: fix -Wstringop-overread warning
smp: Fix smp_call_function_single_async prototype x86/msr: Fix wr/rdmsr_safe_regs_on_cpu() prototypes
kgdb: fix gcc-11 warning on indentation
usb: sl811-hcd: improve misleading indentation
isdn: capi: fix mismatched prototypes
PCI: thunder: Fix compile testing

Athira Rajeev (1):
powerpc/perf: Fix PMU constraint check for EBB events

Avri Altman (1):
mmc: block: Update ext_csd.cache_ctrl if it was written

Axel Rasmussen (1):
userfaultfd: release page in error path to avoid BUG_ON

Badhri Jagan Sridharan (1):
usb: typec: tcpci: Check ROLE_CONTROL while interpreting CC_STATUS

Bart Van Assche (3):
scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats()
scsi: libfc: Fix a format specifier
blk-mq: Swap two calls in blk_mq_exit_queue()

Benjamin Block (1):
dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails

Bill Wendling (1):
arm64/vdso: Discard .note.gnu.property sections in vDSO

Bjorn Andersson (2):
soc: qcom: mdt_loader: Validate that p_filesz < p_memsz
soc: qcom: mdt_loader: Detect truncated read of segments

Chaitanya Kulkarni (1):
scsi: target: pscsi: Fix warning in pscsi_complete_cmd()

Chen Huang (1):
powerpc: Fix HAVE_HARDLOCKUP_DETECTOR_ARCH build configuration

Chen Jun (1):
posix-timers: Preserve return value in clock_adjtime32()

Chris Chiu (1):
USB: Add reset-resume quirk for WD19's Realtek Hub

Christoph Hellwig (10):
modules: mark ref_module static
modules: mark find_symbol static
modules: mark each_symbol_section static
modules: unexport __module_text_address
modules: unexport __module_address
modules: rename the licence field in struct symsearch to license
modules: return licensing information from find_symbol
modules: inherit TAINT_PROPRIETARY_MODULE
md: split mddev_find
md: factor out a mddev_find_locked helper from mddev_find

Christophe JAILLET (3):
usb: fotg210-hcd: Fix an error message
ACPI: scan: Fix a memory leak in an error handling path
xhci: Do not use GFP_KERNEL in (potentially) atomic context

Christophe Leroy (1):
powerpc/52xx: Fix an invalid ASM expression ('addi' used instead of 'add')

Chunfeng Yun (2):
arm64: dts: mt8173: fix property typo of 'phys' in dsi node
usb: core: hub: fix race condition about TRSMRCY of resume

Claudio Imbrenda (2):

      KVM: s390: split kvm_s390_logical_to_effective
      KVM: s390: split kvm_s390_real_to_abs

Colin Ian King (14):
clk: socfpga: arria10: Fix memory leak of socfpga_clk on error return drm/radeon: fix copy of uninitialized variable back to userspace
memory: gpmc: fix out of bounds read and dereference on gpmc_cs[]
staging: rtl8192u: Fix potential infinite loop
usb: gadget: r8a66597: Add missing null check on return from platform_get_resource
media: vivid: fix assignment of dev->fbuf_out_flags
media: m88rs6000t: avoid potential out-of-bounds reads on arrays
clk: uniphier: Fix potential infinite loop
liquidio: Fix unintented sign extension of a left shift of a u16
mt7601u: fix always true expression
net: thunderx: Fix unintentional sign extension issue
net: davinci_emac: Fix incorrect masking of tx and rx error channel
f2fs: fix a redundant call to f2fs_balance_fs if an error occurs
iio: tsl2583: Fix division by a zero lux_val

Dan Carpenter (4):
ipw2x00: potential buffer overflow in libipw_wx_set_encodeext()
HSI: core: fix resource leaks in hsi_add_client_from_dt()
nfc: pn533: prevent potential memory corruption
kfifo: fix ternary sign extension bugs

Daniel Borkmann (1):
bpf: Fix masking negation logic upon negative dst register

Daniel Niv (1):
media: media/saa7164: fix saa7164_encoder_register() memory leak bugs

David Ward (2):
ASoC: rt286: Generalize support for ALC3263 codec
ASoC: rt286: Make RT286_SET_GPIO_* readable and writable

Davide Caratti (1):
openvswitch: fix stack OOB read while fragmenting IPv4 packets

Dean Anderson (1):
usb: gadget/function/f_fs string table fix for multiple languages

Dinghao Liu (1):
iio: proximity: pulsedlight: Fix rumtime PM imbalance on error

Dmitry Baryshkov (1):
PCI: Release OF node in pci_scan_device()'s error path

Dmitry Osipenko (1):
iio: gyro: mpu3050: Fix reported temperature value

DooHyun Hwang (1):
mmc: core: Do a power cycle when the CMD11 fails

Emmanuel Grumbach (1):
mac80211: clear the beacon's CRC after channel switch

Eric Dumazet (5):
ip6_vti: proper dev_{hold|put} in ndo_[un]init methods
netfilter: nftables: avoid overflows in nft_hash_buckets()
sit: proper dev_{hold|put} in ndo_[un]init methods
ip6_tunnel: sit: proper dev_{hold|put} in ndo_[un]init methods
ipv6: remove extra dev_hold() for fallback tunnels

Erwan Le Ray (2):
serial: stm32: fix incorrect characters on console
serial: stm32: fix tx_empty condition

Ewan D. Milne (1):
scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg()

Fabian Vogt (6):
fotg210-udc: Fix DMA on EP0 for length > max packet size
fotg210-udc: Fix EP0 IN requests bigger than two packets
fotg210-udc: Remove a dubious condition leading to fotg210_done
fotg210-udc: Mask GRP2 interrupts we don't handle
fotg210-udc: Don't DMA more than the buffer can take
fotg210-udc: Complete OUT requests on short packets

Fabrice Gasnier (1):
mfd: stm32-timers: Avoid clearing auto reload register

Feilong Lin (1):
ACPI / hotplug / PCI: Fix reference count leak in enable_slot()

Felix Fietkau (1):
net: ethernet: mtk_eth_soc: fix RX VLAN offload

Fengnan Chang (1):
ext4: fix error code in ext4_commit_super

Filipe Manana (2):
btrfs: fix metadata extent leak after failure to create subvolume
btrfs: fix race when picking most recent mod log operation for an old root

Frank van der Linden (1):
bpf: fix up selftests after backports were fixed

Geert Uytterhoeven (1):
phy: marvell: ARMADA375_USBCLUSTER_PHY should not default to y, unconditionally

Giovanni Cabiddu (1):
crypto: qat - fix error path in adf_isr_resource_alloc()

Greg Kroah-Hartman (2):
kobject_uevent: remove warning in init_uevent_argv() Linux 4.14.233

Guchun Chen (1):
drm/amdgpu: fix NULL pointer dereference

Gustavo A. R. Silva (3):
sctp: Fix out-of-bounds warning in sctp_process_asconf_param()
wl3501_cs: Fix out-of-bounds warnings in wl3501_send_pkt
wl3501_cs: Fix out-of-bounds warnings in wl3501_mgmt_join

Hans Verkuil (3):
media: gspca/sq905.c: fix uninitialized variable
media: vivid: update EDID
media: gscpa/stv06xx: fix memory leak

Hans de Goede (5):
extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged
misc: lis3lv02d: Fix false-positive WARN on various HP models
Input: elants_i2c - do not bind to i2c-hid compatible ACPI instantiated devices
Input: silead - add workaround for x86 BIOS-es which bring the chip up in a stuck state
gpiolib: acpi: Add quirk to ignore EC wakeups on Dell Venue 10 Pro 5055

He Ying (1):
firmware: qcom-scm: Fix QCOM_SCM configuration

Heiko Carstens (1):
KVM: s390: fix guarded storage control register handling

Hemant Kumar (1):
usb: gadget: Fix double free of device descriptor pointers

Heming Zhao (1):
md-cluster: fix use-after-free issue when removing rdev

Hoang Le (1):
tipc: convert dest node's address to network order

Hui Wang (1):
ALSA: hda: generic: change the DAC ctl name for LO+SPK or LO+HP

Ilya Lipnitskiy (2):
MIPS: pci-rt2880: fix slot 0 configuration
MIPS: pci-legacy: stop using of_pci_range_to_resource

Ingo Molnar (1):
x86/platform/uv: Fix !KEXEC build failure

James Smart (4):
scsi: lpfc: Fix incorrect dbde assignment when building target abts wqe
scsi: lpfc: Fix pt2pt connection does not recover after LOGO
scsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response
scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic

Jason Gunthorpe (1):
vfio/mdev: Do not allow a mdev_type to have a NULL parent pointer

Jeff Layton (1):
ceph: fix fscache invalidation

Jeffrey Mitchell (1):
ecryptfs: fix kernel panic with null dev_name

Jerome Forissier (1):
tee: optee: do not check memref size on return from Secure World

Jia Zhou (1):
ALSA: core: remove redundant spin_lock pair in snd_card_disconnect

Jia-Ju Bai (2):
rpmsg: qcom_glink_native: fix error return code of qcom_glink_rx_data()
kernel: kexec_file: fix error return code of kexec_calculate_store_digests()

Jiri Kosina (2):
iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_enqueue_hcmd()
iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd()

Joe Thornber (2):
dm persistent data: packed struct should have an aligned() attribute too dm space map common: fix division bug in sm_ll_find_free_block()

Johan Hovold (4):
staging: greybus: uart: fix unprivileged TIOCCSERIAL
USB: cdc-acm: fix unprivileged TIOCCSERIAL
tty: actually undefine superseded ASYNC flags
tty: fix return value for unsupported ioctls

Johannes Berg (3):
cfg80211: scan: drop entry from hidden_list on overflow
mac80211: bail out if cipher schemes are invalid
um: Mark all kernel symbols as local

John Millikin (1):

      x86/build: Propagate $(CLANG_FLAGS) to $(REALMODE_FLAGS)

Jonathan McDowell (1):
net: stmmac: Set FIFO sizes for ipq806x

Jonathon Reinhart (1):
netfilter: conntrack: Make global sysctls readonly in non-init netns

Josef Bacik (1):
btrfs: convert logic BUG_ON()'s in replace_path to ASSERT()'s

Kai-Heng Feng (2):
USB: Add LPM quirk for Lenovo ThinkPad USB-C Dock Gen2 Ethernet drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected

Kaixu Xia (1):
cxgb4: Fix the -Wmisleading-indentation warning

Kees Cook (1):
drm/radeon: Fix off-by-one power_state index heap overwrite

Krzysztof Kozlowski (4):
ARM: dts: exynos: correct PMIC interrupt trigger level on Odroid X/U3 family
ARM: dts: exynos: correct PMIC interrupt trigger level on SMDK5250
ARM: dts: exynos: correct PMIC interrupt trigger level on Snow
pinctrl: samsung: use 'int' for register masks in Exynos

Lin Ma (1):
bluetooth: eliminate the potential race condition when removing the HCI controller

Linus Torvalds (1):
Fix misc new gcc warnings

Lukasz Luba (1):
thermal/core/fair share: Lock the thermal zone while looping over instances

Lv Yunlong (7):
ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer
ALSA: sb: Fix two use after free in snd_sb_qsound_build
mtd: rawnand: gpmi: Fix a double free in gpmi_nand_init
crypto: qat - Fix a double free in adf_create_ring
mwl8k: Fix a double Free in mwl8k_probe_hw net:emac/emac-mac: Fix a use after free in emac_mac_tx_buf_send net:nfc:digital: Fix a double free in digital_tg_recv_dep_req

Maciej W. Rozycki (5):
FDDI: defxx: Bail out gracefully with unassigned PCI resource for CSR
FDDI: defxx: Make MMIO the configuration default except for EISA
MIPS: Reinstate platform `__div64_32' handler
MIPS: Avoid DIVU in `__div64_32' is result would be zero
MIPS: Avoid handcoded DIVU in `__div64_32' altogether

Maciej Żenczykowski (1):
net: fix nla_strcmp to handle more then one trailing null character

Mahesh Salgaonkar (1):
powerpc/eeh: Fix EEH handling for hugepages in ioremap space.

Marc Zyngier (1):
ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure

Marcel Hamer (1):
usb: dwc3: omap: improve extcon initialization

Marijn Suijten (1):
drm/msm/mdp5: Configure PP_SYNC_HEIGHT to double the vtotal

Mark Langsdorf (2):
ACPI: custom_method: fix potential use-after-free issue
ACPI: custom_method: fix a possible memory leak

Mark Pearson (1):
platform/x86: thinkpad_acpi: Correct thermal sensor allocation

Masami Hiramatsu (1):
x86/kprobes: Fix to check non boostable prefixes correctly

Matt Redfearn (2):
MIPS: Introduce isa-rev.h to define MIPS_ISA_REV
MIPS: cpu-features.h: Replace __mips_isa_rev with MIPS_ISA_REV

Matthias Schiffer (1):
power: supply: bq27xxx: fix power_avg for newer ICs

Maxim Mikityanskiy (1):
HID: plantronics: Workaround for double volume key presses

Maximilian Luz (1):
usb: xhci: Increase timeout for HC halt

Miaohe Lin (3):
khugepaged: fix wrong result value for trace_mm_collapse_huge_page_isolate() mm/hugeltb: handle the error case in hugetlb_fix_reserve_counts()
ksm: fix potential missing rmap_item for stable_node

Michael Ellerman (3):
powerpc/pseries: Stop calling printk in rtas_stop_self() powerpc/64s: Fix crashes when toggling stf barrier powerpc/64s: Fix crashes when toggling entry flush barrier

Michael Kelley (1):
Drivers: hv: vmbus: Increase wait time for VMbus unload

Michael Walle (1):
mtd: require write permissions for locking and badblock ioctls

Mihai Moldovan (1):
kconfig: nconf: stop endless search loops

Miklos Szeredi (1):
cuse: prevent clone

Muhammad Usama Anjum (1):
media: em28xx: fix memory leak

Nathan Chancellor (3):
ACPI: CPPC: Replace cppc_attr with kobj_attribute x86/events/amd/iommu: Fix sysfs type mismatch powerpc/prom: Mark identical_pvr_fixup as __init

Nikola Livic (1):
pNFS/flexfiles: fix incorrect size check in decode_nfs_fh()

Nobuhiro Iwamatsu (1):
rtc: ds1307: Fix wday settings for rx8130

Olga Kornievskaia (1):
NFSv4.2 fix handling of sr_eof in SEEK's reply

Or Cohen (1):
net/nfc: fix use-after-free llcp_sock_bind/connect

Otavio Pontes (1):
x86/microcode: Check for offline CPUs before requesting new microcode

Pan Bian (1):
bus: qcom: Put child node before return

Paul Aurich (1):
cifs: Return correct error code from smb2_get_enc_key

Paul Clements (1):
md/raid1: properly indicate failure when ending a failed write request

Pavel Machek (1):
intel_th: Consistency and off-by-one fix

Pavel Skripkin (1):
media: dvb-usb: fix memory leak in dvb_usb_adapter_init

Pawel Laszczak (1):
usb: gadget: uvc: add bInterval checking for HS mode

Paweł Chmiel (1):
clk: exynos7: Mark aclk_fsys1_200 as critical

Peilin Ye (1):
media: dvbdev: Fix memory leak in dvb_media_device_free()

Phil Elwell (1):
usb: dwc2: Fix gadget DMA unmap direction

Phillip Lougher (1):
squashfs: fix divide error in calculate_skip()

Phillip Potter (2):
net: usb: ax88179_178a: initialize local variables before use
fbdev: zero-fill colormap in fbcmap.c

Ping-Ke Shih (1):
rtlwifi: 8821ae: upgrade PHY and RF parameters

Quentin Perret (2):
Revert "of/fdt: Make sure no-map does not remove already reserved regions" Revert "fdt: Properly handle "no-map" field in the memory region"

Quinn Tran (1):
scsi: qla2xxx: Fix use after free in bsg

Rafael J. Wysocki (3):
ACPI: tables: x86: Reserve memory occupied by ACPI tables
ACPI: x86: Call acpi_boot_table_init() after acpi_table_upgrade()
PCI: PM: Do not read power state in pci_enable_device_flags()

Randy Dunlap (1):
powerpc: iommu: fix build when neither PCI or IBMVIO is set

Robin Murphy (1):
perf/arm_pmu_platform: Fix error handling

Romain Naour (1):
mips: Do not include hi and lo in clobber list for R6

Ruslan Bilovol (1):
usb: gadget: f_uac1: validate input parameters

Samuel Mendoza-Jonas (1):
bpf: Fix backport of "bpf: restrict unknown scalars of mixed signed bounds for unprivileged"

Sean Christopherson (1):
x86/cpu: Initialize MSR_TSC_AUX if RDTSCP *or* RDPID is supported

Sean Young (1):
media: ite-cir: check for receive overflow

Sergey Shtylyov (12):
pata_arasan_cf: fix IRQ check
pata_ipx4xx_cf: fix IRQ check
sata_mv: add IRQ checks
ata: libahci_platform: fix IRQ check
scsi: jazz_esp: Add IRQ check
scsi: sun3x_esp: Add IRQ check
scsi: sni_53c710: Add IRQ check
i2c: cadence: add IRQ check
i2c: emev2: add IRQ check
i2c: jz4780: add IRQ check
i2c: sh7760: add IRQ check
i2c: sh7760: fix IRQ error path

Seunghui Lee (1):
mmc: core: Set read only for SD cards with permanent write protect bit

Shuah Khan (1):
usbip: vudc synchronize sysfs code paths

Sindhu Devale (1):
RDMA/i40iw: Fix error unwinding when i40iw_hmc_sd_one fails

Srikar Dronamraju (1):
powerpc/smp: Set numa node before updating mask

Stefano Garzarella (1):
vsock/vmci: log once the failed queue pair allocation

Steffen Dirkwinkel (1):
platform/x86: pmc_atom: Match all Beckhoff Automation baytrail boards with critclk_systems DMI table

Steven Rostedt (VMware) (3):
ftrace: Handle commands when closing set_ftrace_filter file
tracing: Map all PIDs to command lines
tracing: Restructure trace_clock_global() to never block

Taehee Yoo (1):
hsr: use netdev_err() instead of WARN_ONCE()

Takashi Iwai (8):
ALSA: usb-audio: Add MIDI quirk for Vox ToneLab EX
ALSA: hda/conexant: Re-order CX5066 quirk table entries
ALSA: hda/realtek: Re-order ALC882 Acer quirk table entries
ALSA: hda/realtek: Re-order ALC882 Sony quirk table entries
ALSA: hda/realtek: Re-order ALC269 Sony quirk table entries
ALSA: hda/realtek: Re-order ALC269 Lenovo quirk table entries
ALSA: hda/realtek: Remove redundant entry for ALC861 Haier/Uniwill devices
ALSA: usb-audio: Add error checks for usb_driver_claim_interface() calls

Tetsuo Handa (4):
misc: vmw_vmci: explicitly initialize vmci_notify_bm_set_msg struct
misc: vmw_vmci: explicitly initialize vmci_datagram payload
ttyprintk: Add TTY hangup callback.
Bluetooth: initialize skb_queue_head at l2cap_chan_create()

Thinh Nguyen (2):
usb: xhci: Fix port minor revision
usb: dwc3: gadget: Fix START_TRANSFER link state check

Thomas Gleixner (2):
Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op")
KVM: x86: Cancel pvclock_gtod_work on module removal

Toke Høiland-Jørgensen (1):
ath9k: Fix error check in ath9k_hw_read_revisions() for PCI devices

Tomas Melin (1):
serial: 8250: fix potential deadlock in rs485-mode

Tong Zhang (5):
crypto: qat - don't release uninitialized resources
crypto: qat - ADF_STATUS_PF_RUNNING should be set after adf_dev_init
ALSA: hdsp: don't disable if not enabled
ALSA: hdspm: don't disable if not enabled
ALSA: rme9652: don't disable if not enabled

Tony Ambardar (1):
powerpc: fix EDEADLOCK redefinition error in uapi/asm/errno.h

Trond Myklebust (3):
NFSv4: Don't discard segments marked for return in _pnfs_return_layout() NFSv4.2: Always flush out writes in nfs42_proc_fallocate()
NFS: Deal correctly with attribute generation counter overflow

Tudor Ambarus (1):
spi: spi-ti-qspi: Free DMA resources

Tyrel Datwyler (1):
powerpc/pseries: extract host bridge from pci_bus prior to bus removal

Vasily Gorbik (1):
s390/disassembler: increase ebpf disasm buffer size

Vineet Gupta (1):
ARC: entry: fix off-by-one error in syscall number validation

Wang Wensheng (1):
IB/hfi1: Fix error return code in parse_platform_config()

Wei Yongjun (2):
spi: dln2: Fix reference leak to master
spi: omap-100k: Fix reference leak to master

Wesley Cheng (1):
usb: dwc3: gadget: Ignore EP queue requests during bus reset

William A. Kennington III (1):
spi: Fix use-after-free with devm_spi_alloc_*

Xie He (1):
net: lapbether: Prevent racing when checking whether the netif is running

Xin Long (3):
Revert "net/sctp: fix race condition in sctp_destroy_sock"
sctp: delay auto_asconf init until binding the first addr
sctp: fix a SCTP_MIB_CURRESTAB leak in sctp_sf_do_dupcook_b

Yang Yang (1):
jffs2: check the validity of dstlen in jffs2_zlib_compress()

Yang Yingliang (8):
phy: phy-twl4030-usb: Fix possible use-after-free in twl4030_usb_remove()
power: supply: generic-adc-battery: fix possible use-after-free in gab_remove()
power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove()
media: adv7604: fix possible use-after-free in adv76xx_remove()
media: i2c: adv7511-v4l2: fix possible use-after-free in adv7511_remove()
media: i2c: adv7842: fix possible use-after-free in adv7842_remove()
USB: gadget: udc: fix wrong pointer passed to IS_ERR() and PTR_ERR()
media: omap4iss: return error code when omap4iss_get() failed

Yaqi Chen (1):
samples/bpf: Fix broken tracex1 due to kprobe argument change

Yonghong Song (1):
selftests: Set CC to clang in lib.mk if LLVM is set

Zhang Yi (1):
ext4: fix check to prevent false positive report of incorrect used inodes

Zhao Heming (1):
md: md_open returns -EBUSY when entering racing area

Zhen Lei (2):
tpm: fix error return code in tpm2_get_cc_attrs_tbl()
ARM: 9064/1: hw_breakpoint: Do not directly check the event's overflow_handler hook

Zqiang (1):
lib: stackdepot: turn depot_lock spinlock to raw_spinlock

dongjian (1):
power: supply: Use IRQF_ONESHOT

karthik alapati (1):
staging: wimax/i2400m: fix byte-order issue

lizhe (1):
jffs2: Fix kasan slab-out-of-bounds problem

louis.wang (1):
ARM: 9066/1: ftrace: pause/unpause function graph tracer in cpu_suspend()

shaoyunl (1):
drm/amdgpu : Fix asic reset regression issue introduce by 8f211fe8ac7c4f

yangerkun (1):
block: reexpand iov_iter after read/write

author maintainer
#1 lore raw
Makefile +1 -1
index 52dcd6596184..1dedc8fbd320 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 4
 PATCHLEVEL = 14
-SUBLEVEL = 232
+SUBLEVEL = 233
 EXTRAVERSION =
 NAME = Petit Gorille
 
arch/arc/kernel/entry.S +2 -2
index 85d9ea4a0acc..37ad245cf989 100644
@@ -169,7 +169,7 @@ tracesys:
 
 	; Do the Sys Call as we normally would.
 	; Validate the Sys Call number
-	cmp     r8,  NR_syscalls
+	cmp     r8,  NR_syscalls - 1
 	mov.hi  r0, -ENOSYS
 	bhi     tracesys_exit
 
@@ -252,7 +252,7 @@ ENTRY(EV_Trap)
 	;============ Normal syscall case
 
 	; syscall num shd not exceed the total system calls avail
-	cmp     r8,  NR_syscalls
+	cmp     r8,  NR_syscalls - 1
 	mov.hi  r0, -ENOSYS
 	bhi     .Lret_from_system_call
 
arch/arm/boot/dts/exynos4412-odroid-common.dtsi +1 -1
index 0d516529bf54..8735c5428677 100644
@@ -265,7 +265,7 @@
 	max77686: pmic@09 {
 		compatible = "maxim,max77686";
 		interrupt-parent = <&gpx3>;
-		interrupts = <2 IRQ_TYPE_NONE>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&max77686_irq>;
 		reg = <0x09>;
arch/arm/boot/dts/exynos5250-smdk5250.dts +1 -1
index 062cba4c2c31..5065e6bf3778 100644
@@ -133,7 +133,7 @@
 		compatible = "maxim,max77686";
 		reg = <0x09>;
 		interrupt-parent = <&gpx3>;
-		interrupts = <2 IRQ_TYPE_NONE>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&max77686_irq>;
 		wakeup-source;
arch/arm/boot/dts/exynos5250-snow-common.dtsi +1 -1
index 8788880e459d..134e6e54447f 100644
@@ -284,7 +284,7 @@
 	max77686: max77686@09 {
 		compatible = "maxim,max77686";
 		interrupt-parent = <&gpx3>;
-		interrupts = <2 IRQ_TYPE_NONE>;
+		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
 		pinctrl-names = "default";
 		pinctrl-0 = <&max77686_irq>;
 		wakeup-source;
arch/arm/kernel/hw_breakpoint.c +1 -1
index e61697fb7efe..a8783964ebde 100644
@@ -891,7 +891,7 @@ static void breakpoint_handler(unsigned long unknown, struct pt_regs *regs)
 			info->trigger = addr;
 			pr_debug("breakpoint fired: address = 0x%x\n", addr);
 			perf_bp_event(bp, regs);
-			if (!bp->overflow_handler)
+			if (is_default_overflow_handler(bp))
 				enable_single_step(bp, addr);
 			goto unlock;
 		}
arch/arm/kernel/suspend.c +18 -1
index d08099269e35..e126386fb78a 100644
@@ -1,4 +1,5 @@
 // SPDX-License-Identifier: GPL-2.0
+#include <linux/ftrace.h>
 #include <linux/init.h>
 #include <linux/slab.h>
 #include <linux/mm_types.h>
@@ -26,6 +27,13 @@ int cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
 	if (!idmap_pgd)
 		return -EINVAL;
 
+	/*
+	 * Function graph tracer state gets incosistent when the kernel
+	 * calls functions that never return (aka suspend finishers) hence
+	 * disable graph tracing during their execution.
+	 */
+	pause_graph_tracing();
+
 	/*
 	 * Provide a temporary page table with an identity mapping for
 	 * the MMU-enable code, required for resuming.  On successful
@@ -33,6 +41,9 @@ int cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
 	 * back to the correct page tables.
 	 */
 	ret = __cpu_suspend(arg, fn, __mpidr);
+
+	unpause_graph_tracing();
+
 	if (ret == 0) {
 		cpu_switch_mm(mm->pgd, mm);
 		local_flush_bp_all();
@@ -46,7 +57,13 @@ int cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
 int cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
 {
 	u32 __mpidr = cpu_logical_map(smp_processor_id());
-	return __cpu_suspend(arg, fn, __mpidr);
+	int ret;
+
+	pause_graph_tracing();
+	ret = __cpu_suspend(arg, fn, __mpidr);
+	unpause_graph_tracing();
+
+	return ret;
 }
 #define	idmap_pgd	NULL
 #endif
arch/arm64/boot/dts/mediatek/mt8173.dtsi +1 -1
index da64e1cab233..a21210ff9686 100644
@@ -1029,7 +1029,7 @@
 				 <&mmsys CLK_MM_DSI1_DIGITAL>,
 				 <&mipi_tx1>;
 			clock-names = "engine", "digital", "hs";
-			phy = <&mipi_tx1>;
+			phys = <&mipi_tx1>;
 			phy-names = "dphy";
 			status = "disabled";
 		};
arch/arm64/kernel/vdso/vdso.lds.S +7 -1
index beca249bc2f3..b3e6c4d5b75c 100644
@@ -39,6 +39,13 @@ SECTIONS
 	.gnu.version_d	: { *(.gnu.version_d) }
 	.gnu.version_r	: { *(.gnu.version_r) }
 
+	/*
+	 * Discard .note.gnu.property sections which are unused and have
+	 * different alignment requirement from vDSO note sections.
+	 */
+	/DISCARD/	: {
+		*(.note.GNU-stack .note.gnu.property)
+	}
 	.note		: { *(.note.*) }		:text	:note
 
 	. = ALIGN(16);
@@ -59,7 +66,6 @@ SECTIONS
 	PROVIDE(end = .);
 
 	/DISCARD/	: {
-		*(.note.GNU-stack)
 		*(.data .data.* .gnu.linkonce.d.* .sdata*)
 		*(.bss .sbss .dynbss .dynsbss)
 	}
arch/mips/include/asm/cpu-features.h +3 -2
index 721b698bfe3c..5f74590e0bea 100644
@@ -11,6 +11,7 @@
 
 #include <asm/cpu.h>
 #include <asm/cpu-info.h>
+#include <asm/isa-rev.h>
 #include <cpu-feature-overrides.h>
 
 /*
@@ -493,7 +494,7 @@
 # define cpu_has_perf		(cpu_data[0].options & MIPS_CPU_PERF)
 #endif
 
-#if defined(CONFIG_SMP) && defined(__mips_isa_rev) && (__mips_isa_rev >= 6)
+#if defined(CONFIG_SMP) && (MIPS_ISA_REV >= 6)
 /*
  * Some systems share FTLB RAMs between threads within a core (siblings in
  * kernel parlance). This means that FTLB entries may become invalid at almost
@@ -525,7 +526,7 @@
 #  define cpu_has_shared_ftlb_entries \
 	(current_cpu_data.options & MIPS_CPU_SHARED_FTLB_ENTRIES)
 # endif
-#endif /* SMP && __mips_isa_rev >= 6 */
+#endif /* SMP && MIPS_ISA_REV >= 6 */
 
 #ifndef cpu_has_shared_ftlb_ram
 # define cpu_has_shared_ftlb_ram 0
arch/mips/include/asm/div64.h +39 -16

87 lines not on this page · raw message

arch/mips/include/asm/isa-rev.h new file +24 -0
new file mode 100644
index 000000000000..683ea3454dcb
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2018 MIPS Tech, LLC
+ * Author: Matt Redfearn <[email protected]>
+ */
+
+#ifndef __MIPS_ASM_ISA_REV_H__
+#define __MIPS_ASM_ISA_REV_H__
+
+/*
+ * The ISA revision level. This is 0 for MIPS I to V and N for
+ * MIPS{32,64}rN.
+ */
+
+/* If the compiler has defined __mips_isa_rev, believe it. */
+#ifdef __mips_isa_rev
+#define MIPS_ISA_REV __mips_isa_rev
+#else
+/* The compiler hasn't defined the isa rev so assume it's MIPS I - V (0) */
+#define MIPS_ISA_REV 0
+#endif
+
+
+#endif /* __MIPS_ASM_ISA_REV_H__ */
arch/mips/pci/pci-legacy.c +7 -2
index 1ae6bc414e2b..c932ffa6e1d3 100644
@@ -169,8 +169,13 @@ void pci_load_of_ranges(struct pci_controller *hose, struct device_node *node)
 			res = hose->mem_resource;
 			break;
 		}
-		if (res != NULL)
-			of_pci_range_to_resource(&range, node, res);
+		if (res != NULL) {
+			res->name = node->full_name;
+			res->flags = range.flags;
+			res->start = range.cpu_addr;
+			res->end = range.cpu_addr + range.size - 1;
+			res->parent = res->child = res->sibling = NULL;
+		}
 	}
 }
 
arch/mips/pci/pci-rt2880.c +24 -13
index 711cdccdf65b..f7926a964441 100644
@@ -183,7 +183,6 @@ static inline void rt2880_pci_write_u32(unsigned long reg, u32 val)
 
 int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
 {
-	u16 cmd;
 	int irq = -1;
 
 	if (dev->bus->number != 0)
@@ -191,8 +190,6 @@ int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
 
 	switch (PCI_SLOT(dev->devfn)) {
 	case 0x00:
-		rt2880_pci_write_u32(PCI_BASE_ADDRESS_0, 0x08000000);
-		(void) rt2880_pci_read_u32(PCI_BASE_ADDRESS_0);
 		break;
 	case 0x11:
 		irq = RT288X_CPU_IRQ_PCI;
@@ -204,16 +201,6 @@ int pcibios_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
 		break;
 	}
 
-	pci_write_config_byte((struct pci_dev *) dev,
-		PCI_CACHE_LINE_SIZE, 0x14);
-	pci_write_config_byte((struct pci_dev *) dev, PCI_LATENCY_TIMER, 0xFF);
-	pci_read_config_word((struct pci_dev *) dev, PCI_COMMAND, &cmd);
-	cmd |= PCI_COMMAND_MASTER | PCI_COMMAND_IO | PCI_COMMAND_MEMORY |
-		PCI_COMMAND_INVALIDATE | PCI_COMMAND_FAST_BACK |
-		PCI_COMMAND_SERR | PCI_COMMAND_WAIT | PCI_COMMAND_PARITY;
-	pci_write_config_word((struct pci_dev *) dev, PCI_COMMAND, cmd);
-	pci_write_config_byte((struct pci_dev *) dev, PCI_INTERRUPT_LINE,
-			      dev->irq);
 	return irq;
 }
 
@@ -252,6 +239,30 @@ static int rt288x_pci_probe(struct platform_device *pdev)
 
 int pcibios_plat_dev_init(struct pci_dev *dev)
 {
+	static bool slot0_init;
+
+	/*
+	 * Nobody seems to initialize slot 0, but this platform requires it, so
+	 * do it once when some other slot is being enabled. The PCI subsystem
+	 * should configure other slots properly, so no need to do anything
+	 * special for those.
+	 */
+	if (!slot0_init && dev->bus->number == 0) {
+		u16 cmd;
+		u32 bar0;
+
+		slot0_init = true;
+
+		pci_bus_write_config_dword(dev->bus, 0, PCI_BASE_ADDRESS_0,
+					   0x08000000);
+		pci_bus_read_config_dword(dev->bus, 0, PCI_BASE_ADDRESS_0,
+					  &bar0);
+
+		pci_bus_read_config_word(dev->bus, 0, PCI_COMMAND, &cmd);
+		cmd |= PCI_COMMAND_MASTER | PCI_COMMAND_IO | PCI_COMMAND_MEMORY;
+		pci_bus_write_config_word(dev->bus, 0, PCI_COMMAND, cmd);
+	}
+
 	return 0;
 }
 
arch/mips/vdso/gettimeofday.c +12 -2
index e22b422f282c..9fdc84fc3985 100644
@@ -18,6 +18,12 @@
 #include <asm/unistd.h>
 #include <asm/vdso.h>
 
+#if MIPS_ISA_REV < 6
+#define VDSO_SYSCALL_CLOBBERS "hi", "lo",
+#else
+#define VDSO_SYSCALL_CLOBBERS
+#endif
+
 #ifdef CONFIG_MIPS_CLOCK_VSYSCALL
 
 static __always_inline long gettimeofday_fallback(struct timeval *_tv,
@@ -34,7 +40,9 @@ static __always_inline long gettimeofday_fallback(struct timeval *_tv,
 	: "=r" (ret), "=r" (error)
 	: "r" (tv), "r" (tz), "r" (nr)
 	: "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
-	  "$14", "$15", "$24", "$25", "hi", "lo", "memory");
+	  "$14", "$15", "$24", "$25",
+	  VDSO_SYSCALL_CLOBBERS
+	  "memory");
 
 	return error ? -ret : ret;
 }
@@ -55,7 +63,9 @@ static __always_inline long clock_gettime_fallback(clockid_t _clkid,
 	: "=r" (ret), "=r" (error)
 	: "r" (clkid), "r" (ts), "r" (nr)
 	: "$1", "$3", "$8", "$9", "$10", "$11", "$12", "$13",
-	  "$14", "$15", "$24", "$25", "hi", "lo", "memory");
+	  "$14", "$15", "$24", "$25",
+	  VDSO_SYSCALL_CLOBBERS
+	  "memory");
 
 	return error ? -ret : ret;
 }
arch/powerpc/Kconfig +1 -1
index fff11a5bb805..3fcfa8534156 100644
@@ -208,7 +208,7 @@ config PPC
 	select HAVE_MEMBLOCK_NODE_MAP
 	select HAVE_MOD_ARCH_SPECIFIC
 	select HAVE_NMI				if PERF_EVENTS || (PPC64 && PPC_BOOK3S)
-	select HAVE_HARDLOCKUP_DETECTOR_ARCH	if (PPC64 && PPC_BOOK3S)
+	select HAVE_HARDLOCKUP_DETECTOR_ARCH	if PPC64 && PPC_BOOK3S && SMP
 	select HAVE_OPROFILE
 	select HAVE_OPTPROBES			if PPC64
 	select HAVE_PERF_EVENTS
arch/powerpc/Kconfig.debug +1 -0
index be1c8c5beb61..762bb08b0f59 100644
@@ -349,6 +349,7 @@ config PPC_EARLY_DEBUG_CPM_ADDR
 config FAIL_IOMMU
 	bool "Fault-injection capability for IOMMU"
 	depends on FAULT_INJECTION
+	depends on PCI || IBMVIO
 	help
 	  Provide fault-injection capability for IOMMU. Each device can
 	  be selectively enabled via the fail_iommu property.
arch/powerpc/include/uapi/asm/errno.h +1 -0
index cc79856896a1..4ba87de32be0 100644
@@ -2,6 +2,7 @@
 #ifndef _ASM_POWERPC_ERRNO_H
 #define _ASM_POWERPC_ERRNO_H
 
+#undef	EDEADLOCK
 #include <asm-generic/errno.h>
 
 #undef	EDEADLOCK
arch/powerpc/kernel/eeh.c +4 -7
index 7b46576962bf..3f3f08d42266 100644
@@ -365,14 +365,11 @@ static inline unsigned long eeh_token_to_phys(unsigned long token)
 	pa = pte_pfn(*ptep);
 
 	/* On radix we can do hugepage mappings for io, so handle that */
-	if (hugepage_shift) {
-		pa <<= hugepage_shift;
-		pa |= token & ((1ul << hugepage_shift) - 1);
-	} else {
-		pa <<= PAGE_SHIFT;
-		pa |= token & (PAGE_SIZE - 1);
-	}
+	if (!hugepage_shift)
+		hugepage_shift = PAGE_SHIFT;
 
+	pa <<= PAGE_SHIFT;
+	pa |= token & ((1ul << hugepage_shift) - 1);
 	return pa;
 }
 
arch/powerpc/kernel/iommu.c +2 -2
index 80b6caaa9b92..87af91937c8a 100644
@@ -1055,7 +1055,7 @@ int iommu_take_ownership(struct iommu_table *tbl)
 
 	spin_lock_irqsave(&tbl->large_pool.lock, flags);
 	for (i = 0; i < tbl->nr_pools; i++)
-		spin_lock(&tbl->pools[i].lock);
+		spin_lock_nest_lock(&tbl->pools[i].lock, &tbl->large_pool.lock);
 
 	if (tbl->it_offset == 0)
 		clear_bit(0, tbl->it_map);
@@ -1084,7 +1084,7 @@ void iommu_release_ownership(struct iommu_table *tbl)
 
 	spin_lock_irqsave(&tbl->large_pool.lock, flags);
 	for (i = 0; i < tbl->nr_pools; i++)
-		spin_lock(&tbl->pools[i].lock);
+		spin_lock_nest_lock(&tbl->pools[i].lock, &tbl->large_pool.lock);
 
 	memset(tbl->it_map, 0, sz);
 
arch/powerpc/kernel/prom.c +1 -1
index bbe9c57dd1a3..99409d0420d2 100644
@@ -265,7 +265,7 @@ static struct feature_property {
 };
 
 #if defined(CONFIG_44x) && defined(CONFIG_PPC_FPU)
-static inline void identical_pvr_fixup(unsigned long node)
+static __init void identical_pvr_fixup(unsigned long node)
 {
 	unsigned int pvr;
 	const char *model = of_get_flat_dt_prop(node, "model", NULL);
arch/powerpc/kernel/smp.c +3 -3
index e0a4c1f82e25..7c7aa7c98ba3 100644
@@ -985,6 +985,9 @@ void start_secondary(void *unused)
 
 	vdso_getcpu_init();
 #endif
+	set_numa_node(numa_cpu_lookup_table[cpu]);
+	set_numa_mem(local_memory_node(numa_cpu_lookup_table[cpu]));
+
 	/* Update topology CPU masks */
 	add_cpu_to_masks(cpu);
 
@@ -995,9 +998,6 @@ void start_secondary(void *unused)
 	if (!cpumask_equal(cpu_l2_cache_mask(cpu), cpu_sibling_mask(cpu)))
 		shared_caches = true;
 
-	set_numa_node(numa_cpu_lookup_table[cpu]);
-	set_numa_mem(local_memory_node(numa_cpu_lookup_table[cpu]));
-
 	smp_wmb();
 	notify_cpu_starting(cpu);
 	set_cpu_online(cpu, true);
arch/powerpc/lib/feature-fixups.c +32 -3
index 6ebc3c9e7abb..793ef9d787b3 100644
@@ -18,6 +18,7 @@
 #include <linux/string.h>
 #include <linux/init.h>
 #include <linux/sched/mm.h>
+#include <linux/stop_machine.h>
 #include <asm/cputable.h>
 #include <asm/code-patching.h>
 #include <asm/page.h>
@@ -225,11 +226,25 @@ void do_stf_exit_barrier_fixups(enum stf_barrier_type types)
 		                                           : "unknown");
 }
 
+static int __do_stf_barrier_fixups(void *data)
+{
+	enum stf_barrier_type *types = data;
+
+	do_stf_entry_barrier_fixups(*types);
+	do_stf_exit_barrier_fixups(*types);
+
+	return 0;
+}
 
 void do_stf_barrier_fixups(enum stf_barrier_type types)
 {
-	do_stf_entry_barrier_fixups(types);
-	do_stf_exit_barrier_fixups(types);
+	/*
+	 * The call to the fallback entry flush, and the fallback/sync-ori exit
+	 * flush can not be safely patched in/out while other CPUs are executing
+	 * them. So call __do_stf_barrier_fixups() on one CPU while all other CPUs
+	 * spin in the stop machine core with interrupts hard disabled.
+	 */
+	stop_machine(__do_stf_barrier_fixups, &types, NULL);
 }
 
 void do_uaccess_flush_fixups(enum l1d_flush_type types)
@@ -282,8 +297,9 @@ void do_uaccess_flush_fixups(enum l1d_flush_type types)
 						: "unknown");
 }
 
-void do_entry_flush_fixups(enum l1d_flush_type types)
+static int __do_entry_flush_fixups(void *data)
 {
+	enum l1d_flush_type types = *(enum l1d_flush_type *)data;
 	unsigned int instrs[3], *dest;
 	long *start, *end;
 	int i;
@@ -334,6 +350,19 @@ void do_entry_flush_fixups(enum l1d_flush_type types)
 							: "ori type" :
 		(types &  L1D_FLUSH_MTTRIG)     ? "mttrig type"
 						: "unknown");
+
+	return 0;
+}
+
+void do_entry_flush_fixups(enum l1d_flush_type types)
+{
+	/*
+	 * The call to the fallback flush can not be safely patched in/out while
+	 * other CPUs are executing it. So call __do_entry_flush_fixups() on one
+	 * CPU while all other CPUs spin in the stop machine core with interrupts
+	 * hard disabled.
+	 */
+	stop_machine(__do_entry_flush_fixups, &types, NULL);
 }
 
 void do_rfi_flush_fixups(enum l1d_flush_type types)
arch/powerpc/perf/isa207-common.c +2 -2
index dd9f88fed63c..24a78565bca6 100644
@@ -361,8 +361,8 @@ int isa207_get_constraint(u64 event, unsigned long *maskp, unsigned long *valp)
 	 * EBB events are pinned & exclusive, so this should never actually
 	 * hit, but we leave it as a fallback in case.
 	 */
-	mask  |= CNST_EBB_VAL(ebb);
-	value |= CNST_EBB_MASK;
+	mask  |= CNST_EBB_MASK;
+	value |= CNST_EBB_VAL(ebb);
 
 	*maskp = mask;
 	*valp = value;
arch/powerpc/platforms/52xx/lite5200_sleep.S +1 -1
index 3a9969c429b3..054f927bfef9 100644
@@ -181,7 +181,7 @@ sram_code:
   udelay: /* r11 - tb_ticks_per_usec, r12 - usecs, overwrites r13 */
 	mullw	r12, r12, r11
 	mftb	r13	/* start */
-	addi	r12, r13, r12 /* end */
+	add	r12, r13, r12 /* end */
     1:
 	mftb	r13	/* current */
 	cmp	cr0, r13, r12
arch/powerpc/platforms/pseries/hotplug-cpu.c +0 -3
index 0baaaa6b0929..73071c4339c5 100644
@@ -95,9 +95,6 @@ static void rtas_stop_self(void)
 
 	BUG_ON(rtas_stop_self_token == RTAS_UNKNOWN_SERVICE);
 
-	printk("cpu %u (hwid %u) Ready to die...\n",
-	       smp_processor_id(), hard_smp_processor_id());
-
 	rtas_call_unlocked(&args, rtas_stop_self_token, 0, 1, NULL);
 
 	panic("Alas, I survived.\n");
arch/powerpc/platforms/pseries/pci_dlpar.c +3 -1
index 561917fa54a8..afca4b737e80 100644
@@ -66,6 +66,7 @@ EXPORT_SYMBOL_GPL(init_phb_dynamic);
 int remove_phb_dynamic(struct pci_controller *phb)
 {
 	struct pci_bus *b = phb->bus;
+	struct pci_host_bridge *host_bridge = to_pci_host_bridge(b->bridge);
 	struct resource *res;
 	int rc, i;
 
@@ -92,7 +93,8 @@ int remove_phb_dynamic(struct pci_controller *phb)
 	/* Remove the PCI bus and unregister the bridge device from sysfs */
 	phb->bus = NULL;
 	pci_remove_bus(b);
-	device_unregister(b->bridge);
+	host_bridge->bus = NULL;
+	device_unregister(&host_bridge->dev);
 
 	/* Now release the IO resource */
 	if (res->flags & IORESOURCE_IO)
arch/s390/kernel/dis.c +1 -1
index 6d154069c962..dec2ece4af28 100644
@@ -2026,7 +2026,7 @@ void show_code(struct pt_regs *regs)
 
 void print_fn_code(unsigned char *code, unsigned long len)
 {
-	char buffer[64], *ptr;
+	char buffer[128], *ptr;
 	int opsize, i;
 
 	while (len) {
arch/s390/kvm/gaccess.h +41 -13

77 lines not on this page · raw message

arch/s390/kvm/kvm-s390.c +2 -2
index 46fee3f4dedd..05bd51752845 100644
@@ -3395,16 +3395,16 @@ static void store_regs(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
 	current->thread.fpu.fpc = vcpu->arch.host_fpregs.fpc;
 	current->thread.fpu.regs = vcpu->arch.host_fpregs.regs;
 	if (MACHINE_HAS_GS) {
+		preempt_disable();
 		__ctl_set_bit(2, 4);
 		if (vcpu->arch.gs_enabled)
 			save_gs_cb(current->thread.gs_cb);
-		preempt_disable();
 		current->thread.gs_cb = vcpu->arch.host_gscb;
 		restore_gs_cb(vcpu->arch.host_gscb);
-		preempt_enable();
 		if (!vcpu->arch.host_gscb)
 			__ctl_clear_bit(2, 4);
 		vcpu->arch.host_gscb = NULL;
+		preempt_enable();
 	}
 
 }
arch/um/kernel/dyn.lds.S +6 -0
index d417e3899700..06309bdbfbbf 100644
@@ -7,6 +7,12 @@ OUTPUT_ARCH(ELF_ARCH)
 ENTRY(_start)
 jiffies = jiffies_64;
 
+VERSION {
+  {
+    local: *;
+  };
+}
+
 SECTIONS
 {
   PROVIDE (__executable_start = START);
arch/um/kernel/uml.lds.S +6 -0
index 3d6ed6ba5b78..c3e32fa3941f 100644
@@ -7,6 +7,12 @@ OUTPUT_ARCH(ELF_ARCH)
 ENTRY(_start)
 jiffies = jiffies_64;
 
+VERSION {
+  {
+    local: *;
+  };
+}
+
 SECTIONS
 {
   /* This must contain the right address - not quite the default ELF one.*/
arch/x86/Kconfig +1 -0
index c55870ac907e..64edc125c122 100644
@@ -526,6 +526,7 @@ config X86_UV
 	depends on X86_EXTENDED_PLATFORM
 	depends on NUMA
 	depends on EFI
+	depends on KEXEC_CORE
 	depends on X86_X2APIC
 	depends on PCI
 	---help---
arch/x86/Makefile +1 -0
index 146aadeb7c8e..844d5a72d2ad 100644
@@ -41,6 +41,7 @@ REALMODE_CFLAGS += $(call __cc-option, $(CC), $(REALMODE_CFLAGS), -ffreestanding
 REALMODE_CFLAGS += $(call __cc-option, $(CC), $(REALMODE_CFLAGS), -fno-stack-protector)
 REALMODE_CFLAGS += $(call __cc-option, $(CC), $(REALMODE_CFLAGS), -Wno-address-of-packed-member)
 REALMODE_CFLAGS += $(call __cc-option, $(CC), $(REALMODE_CFLAGS), $(cc_stack_align4))
+REALMODE_CFLAGS += $(CLANG_FLAGS)
 export REALMODE_CFLAGS
 
 # BITS is used as extension for files which are available in a 32 bit
arch/x86/entry/vdso/vma.c +1 -1
index a77fd3c8d824..2ab8628aef10 100644
@@ -342,7 +342,7 @@ static void vgetcpu_cpu_init(void *arg)
 #ifdef CONFIG_NUMA
 	node = cpu_to_node(cpu);
 #endif
-	if (static_cpu_has(X86_FEATURE_RDTSCP))
+	if (boot_cpu_has(X86_FEATURE_RDTSCP) || boot_cpu_has(X86_FEATURE_RDPID))
 		write_rdtscp_aux((node << 12) | cpu);
 
 	/*
arch/x86/events/amd/iommu.c +3 -3
index 3641e24fdac5..5a372b8902f4 100644
@@ -84,12 +84,12 @@ static struct attribute_group amd_iommu_events_group = {
 };
 
 struct amd_iommu_event_desc {
-	struct kobj_attribute attr;
+	struct device_attribute attr;
 	const char *event;
 };
 
-static ssize_t _iommu_event_show(struct kobject *kobj,
-				struct kobj_attribute *attr, char *buf)
+static ssize_t _iommu_event_show(struct device *dev,
+				struct device_attribute *attr, char *buf)
 {
 	struct amd_iommu_event_desc *event =
 		container_of(attr, struct amd_iommu_event_desc, attr);
arch/x86/kernel/acpi/boot.c +12 -13
index 40d7072be709..3613681b49cf 100644
@@ -1553,10 +1553,18 @@ void __init acpi_boot_table_init(void)
 	/*
 	 * Initialize the ACPI boot-time table parser.
 	 */
-	if (acpi_table_init()) {
+	if (acpi_locate_initial_tables())
 		disable_acpi();
-		return;
-	}
+	else
+		acpi_reserve_initial_tables();
+}
+
+int __init early_acpi_boot_init(void)
+{
+	if (acpi_disabled)
+		return 1;
+
+	acpi_table_init_complete();
 
 	acpi_table_parse(ACPI_SIG_BOOT, acpi_parse_sbf);
 
@@ -1569,18 +1577,9 @@ void __init acpi_boot_table_init(void)
 		} else {
 			printk(KERN_WARNING PREFIX "Disabling ACPI support\n");
 			disable_acpi();
-			return;
+			return 1;
 		}
 	}
-}
-
-int __init early_acpi_boot_init(void)
-{
-	/*
-	 * If acpi_disabled, bail out
-	 */
-	if (acpi_disabled)
-		return 1;
 
 	/*
 	 * Process the Multiple APIC Description Table (MADT), if present
arch/x86/kernel/cpu/microcode/core.c +4 -4
index 93c22e7ee424..51583a5d656d 100644
@@ -627,16 +627,16 @@ static ssize_t reload_store(struct device *dev,
 	if (val != 1)
 		return size;
 
-	tmp_ret = microcode_ops->request_microcode_fw(bsp, &microcode_pdev->dev, true);
-	if (tmp_ret != UCODE_NEW)
-		return size;
-
 	get_online_cpus();
 
 	ret = check_online_cpus();
 	if (ret)
 		goto put;
 
+	tmp_ret = microcode_ops->request_microcode_fw(bsp, &microcode_pdev->dev, true);
+	if (tmp_ret != UCODE_NEW)
+		goto put;
+
 	mutex_lock(&microcode_mutex);
 	ret = microcode_reload_late();
 	mutex_unlock(&microcode_mutex);
arch/x86/kernel/kprobes/core.c +12 -5
index 700d434f5bda..cfd8269ab4cd 100644
@@ -173,6 +173,8 @@ NOKPROBE_SYMBOL(skip_prefixes);
 int can_boost(struct insn *insn, void *addr)
 {
 	kprobe_opcode_t opcode;
+	insn_byte_t prefix;
+	int i;
 
 	if (search_exception_tables((unsigned long)addr))
 		return 0;	/* Page fault may occur on this address. */
@@ -185,9 +187,14 @@ int can_boost(struct insn *insn, void *addr)
 	if (insn->opcode.nbytes != 1)
 		return 0;
 
-	/* Can't boost Address-size override prefix */
-	if (unlikely(inat_is_address_size_prefix(insn->attr)))
-		return 0;
+	for_each_insn_prefix(insn, i, prefix) {
+		insn_attr_t attr;
+
+		attr = inat_get_opcode_attribute(prefix);
+		/* Can't boost Address-size override prefix and CS override prefix */
+		if (prefix == 0x2e || inat_is_address_size_prefix(attr))
+			return 0;
+	}
 
 	opcode = insn->opcode.bytes[0];
 
@@ -212,8 +219,8 @@ int can_boost(struct insn *insn, void *addr)
 		/* clear and set flags are boostable */
 		return (opcode == 0xf5 || (0xf7 < opcode && opcode < 0xfe));
 	default:
-		/* CS override prefix and call are not boostable */
-		return (opcode != 0x2e && opcode != 0x9a);
+		/* call is not boostable */
+		return opcode != 0x9a;
 	}
 }
 
arch/x86/kernel/setup.c +2 -5
index 4bc12447a50f..c8dd6553634c 100644
@@ -1211,6 +1211,8 @@ void __init setup_arch(char **cmdline_p)
 	reserve_initrd();
 
 	acpi_table_upgrade();
+	/* Look for ACPI tables and reserve memory occupied by them. */
+	acpi_boot_table_init();
 
 	vsmp_init();
 
@@ -1218,11 +1220,6 @@ void __init setup_arch(char **cmdline_p)
 
 	early_platform_quirks();
 
-	/*
-	 * Parse the ACPI tables for possible boot-time SMP configuration.
-	 */
-	acpi_boot_table_init();
-
 	early_acpi_boot_init();
 
 	initmem_init();
arch/x86/kvm/x86.c +1 -0
index d7ed1fd36eba..6a6f1788c882 100644
@@ -6420,6 +6420,7 @@ void kvm_arch_exit(void)
 	cpuhp_remove_state_nocalls(CPUHP_AP_X86_KVM_CLK_ONLINE);
 #ifdef CONFIG_X86_64
 	pvclock_gtod_unregister_notifier(&pvclock_gtod_notifier);
+	cancel_work_sync(&pvclock_gtod_work);
 #endif
 	kvm_x86_ops = NULL;
 	kvm_mmu_module_exit();
arch/x86/lib/msr-smp.c +2 -2
index 693cce0be82d..47ea8d20af47 100644
@@ -240,7 +240,7 @@ static void __wrmsr_safe_regs_on_cpu(void *info)
 	rv->err = wrmsr_safe_regs(rv->regs);
 }
 
-int rdmsr_safe_regs_on_cpu(unsigned int cpu, u32 *regs)
+int rdmsr_safe_regs_on_cpu(unsigned int cpu, u32 regs[8])
 {
 	int err;
 	struct msr_regs_info rv;
@@ -253,7 +253,7 @@ int rdmsr_safe_regs_on_cpu(unsigned int cpu, u32 *regs)
 }
 EXPORT_SYMBOL(rdmsr_safe_regs_on_cpu);
 
-int wrmsr_safe_regs_on_cpu(unsigned int cpu, u32 *regs)
+int wrmsr_safe_regs_on_cpu(unsigned int cpu, u32 regs[8])
 {
 	int err;
 	struct msr_regs_info rv;
block/blk-mq.c +4 -2
index cf56bdad2e06..7b785855a6e4 100644
@@ -2489,10 +2489,12 @@ EXPORT_SYMBOL(blk_mq_init_allocated_queue);
 
 void blk_mq_free_queue(struct request_queue *q)
 {
-	struct blk_mq_tag_set	*set = q->tag_set;
+	struct blk_mq_tag_set *set = q->tag_set;
 
-	blk_mq_del_queue_tag_set(q);
+	/* Checks hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED. */
 	blk_mq_exit_hw_queues(q, set, set->nr_hw_queues);
+	/* May clear BLK_MQ_F_TAG_QUEUE_SHARED in hctx->flags. */
+	blk_mq_del_queue_tag_set(q);
 }
 
 /* Basically redo blk_mq_init_queue with queue frozen */
crypto/api.c +1 -1
index 187795a6687d..99bd438fa4a4 100644
@@ -567,7 +567,7 @@ void crypto_destroy_tfm(void *mem, struct crypto_tfm *tfm)
 {
 	struct crypto_alg *alg;
 
-	if (unlikely(!mem))
+	if (IS_ERR_OR_NULL(mem))
 		return;
 
 	alg = tfm->__crt_alg;
drivers/acpi/arm64/gtdt.c +6 -4
index 597a737d538f..fbaa4effd24b 100644
@@ -332,7 +332,7 @@ static int __init gtdt_import_sbsa_gwdt(struct acpi_gtdt_watchdog *wd,
 					int index)
 {
 	struct platform_device *pdev;
-	int irq = map_gt_gsi(wd->timer_interrupt, wd->timer_flags);
+	int irq;
 
 	/*
 	 * According to SBSA specification the size of refresh and control
@@ -341,7 +341,7 @@ static int __init gtdt_import_sbsa_gwdt(struct acpi_gtdt_watchdog *wd,
 	struct resource res[] = {
 		DEFINE_RES_MEM(wd->control_frame_address, SZ_4K),
 		DEFINE_RES_MEM(wd->refresh_frame_address, SZ_4K),
-		DEFINE_RES_IRQ(irq),
+		{},
 	};
 	int nr_res = ARRAY_SIZE(res);
 
@@ -351,10 +351,11 @@ static int __init gtdt_import_sbsa_gwdt(struct acpi_gtdt_watchdog *wd,
 
 	if (!(wd->refresh_frame_address && wd->control_frame_address)) {
 		pr_err(FW_BUG "failed to get the Watchdog base address.\n");
-		acpi_unregister_gsi(wd->timer_interrupt);
 		return -EINVAL;
 	}
 
+	irq = map_gt_gsi(wd->timer_interrupt, wd->timer_flags);
+	res[2] = (struct resource)DEFINE_RES_IRQ(irq);
 	if (irq <= 0) {
 		pr_warn("failed to map the Watchdog interrupt.\n");
 		nr_res--;
@@ -367,7 +368,8 @@ static int __init gtdt_import_sbsa_gwdt(struct acpi_gtdt_watchdog *wd,
 	 */
 	pdev = platform_device_register_simple("sbsa-gwdt", index, res, nr_res);
 	if (IS_ERR(pdev)) {
-		acpi_unregister_gsi(wd->timer_interrupt);
+		if (irq > 0)
+			acpi_unregister_gsi(wd->timer_interrupt);
 		return PTR_ERR(pdev);
 	}
 
drivers/acpi/cppc_acpi.c +3 -11
index 732549ee1fe3..5b2e58cbeb35 100644
@@ -118,23 +118,15 @@ static DEFINE_PER_CPU(struct cpc_desc *, cpc_desc_ptr);
  */
 #define NUM_RETRIES 500
 
-struct cppc_attr {
-	struct attribute attr;
-	ssize_t (*show)(struct kobject *kobj,
-			struct attribute *attr, char *buf);
-	ssize_t (*store)(struct kobject *kobj,
-			struct attribute *attr, const char *c, ssize_t count);
-};
-
 #define define_one_cppc_ro(_name)		\
-static struct cppc_attr _name =			\
+static struct kobj_attribute _name =		\
 __ATTR(_name, 0444, show_##_name, NULL)
 
 #define to_cpc_desc(a) container_of(a, struct cpc_desc, kobj)
 
 #define show_cppc_data(access_fn, struct_name, member_name)		\
 	static ssize_t show_##member_name(struct kobject *kobj,		\
-					struct attribute *attr,	char *buf) \
+				struct kobj_attribute *attr, char *buf)	\
 	{								\
 		struct cpc_desc *cpc_ptr = to_cpc_desc(kobj);		\
 		struct struct_name st_name = {0};			\
@@ -157,7 +149,7 @@ show_cppc_data(cppc_get_perf_ctrs, cppc_perf_fb_ctrs, reference_perf);
 show_cppc_data(cppc_get_perf_ctrs, cppc_perf_fb_ctrs, wraparound_time);
 
 static ssize_t show_feedback_ctrs(struct kobject *kobj,
-		struct attribute *attr, char *buf)
+		struct kobj_attribute *attr, char *buf)
 {
 	struct cpc_desc *cpc_ptr = to_cpc_desc(kobj);
 	struct cppc_perf_fb_ctrs fb_ctrs = {0};
drivers/acpi/custom_method.c +3 -1
index 435bd0ffc8c0..ea4c7c93a920 100644
@@ -37,6 +37,8 @@ static ssize_t cm_write(struct file *file, const char __user * user_buf,
 				   sizeof(struct acpi_table_header)))
 			return -EFAULT;
 		uncopied_bytes = max_size = table.length;
+		/* make sure the buf is not allocated */
+		kfree(buf);
 		buf = kzalloc(max_size, GFP_KERNEL);
 		if (!buf)
 			return -ENOMEM;
@@ -50,6 +52,7 @@ static ssize_t cm_write(struct file *file, const char __user * user_buf,
 	    (*ppos + count < count) ||
 	    (count > uncopied_bytes)) {
 		kfree(buf);
+		buf = NULL;
 		return -EINVAL;
 	}
 
@@ -71,7 +74,6 @@ static ssize_t cm_write(struct file *file, const char __user * user_buf,
 		add_taint(TAINT_OVERRIDDEN_ACPI_TABLE, LOCKDEP_NOW_UNRELIABLE);
 	}
 
-	kfree(buf);
 	return count;
 }
 
drivers/acpi/scan.c +1 -0
index 57a213466721..11f07f525b13 100644
@@ -704,6 +704,7 @@ int acpi_device_add(struct acpi_device *device,
 
 		result = acpi_device_set_name(device, acpi_device_bus_id);
 		if (result) {
+			kfree_const(acpi_device_bus_id->bus_id);
 			kfree(acpi_device_bus_id);
 			goto err_unlock;
 		}
drivers/acpi/tables.c +39 -3

62 lines not on this page · raw message

drivers/ata/libahci_platform.c +3 -1
index 5929672b809e..19d495244ce8 100644
@@ -518,11 +518,13 @@ int ahci_platform_init_host(struct platform_device *pdev,
 	int i, irq, n_ports, rc;
 
 	irq = platform_get_irq(pdev, 0);
-	if (irq <= 0) {
+	if (irq < 0) {
 		if (irq != -EPROBE_DEFER)
 			dev_err(dev, "no irq\n");
 		return irq;
 	}
+	if (!irq)
+		return -EINVAL;
 
 	hpriv->irq = irq;
 
drivers/ata/pata_arasan_cf.c +11 -4
index b4d54771c9fe..623199fab8fe 100644
@@ -819,12 +819,19 @@ static int arasan_cf_probe(struct platform_device *pdev)
 	else
 		quirk = CF_BROKEN_UDMA; /* as it is on spear1340 */
 
-	/* if irq is 0, support only PIO */
-	acdev->irq = platform_get_irq(pdev, 0);
-	if (acdev->irq)
+	/*
+	 * If there's an error getting IRQ (or we do get IRQ0),
+	 * support only PIO
+	 */
+	ret = platform_get_irq(pdev, 0);
+	if (ret > 0) {
+		acdev->irq = ret;
 		irq_handler = arasan_cf_interrupt;
-	else
+	} else	if (ret == -EPROBE_DEFER) {
+		return ret;
+	} else	{
 		quirk |= CF_BROKEN_MWDMA | CF_BROKEN_UDMA;
+	}
 
 	acdev->pbase = res->start;
 	acdev->vbase = devm_ioremap_nocache(&pdev->dev, res->start,
drivers/ata/pata_ixp4xx_cf.c +5 -1
index 0b0d93065f5a..867621f8c387 100644
@@ -169,8 +169,12 @@ static int ixp4xx_pata_probe(struct platform_device *pdev)
 		return -ENOMEM;
 
 	irq = platform_get_irq(pdev, 0);
-	if (irq)
+	if (irq > 0)
 		irq_set_irq_type(irq, IRQ_TYPE_EDGE_RISING);
+	else if (irq < 0)
+		return irq;
+	else
+		return -EINVAL;
 
 	/* Setup expansion bus chip selects */
 	*data->cs0_cfg = data->cs0_bits;
drivers/ata/sata_mv.c +4 -0
index d85965bab2e2..6059b030678b 100644
@@ -4112,6 +4112,10 @@ static int mv_platform_probe(struct platform_device *pdev)
 		n_ports = mv_platform_data->n_ports;
 		irq = platform_get_irq(pdev, 0);
 	}
+	if (irq < 0)
+		return irq;
+	if (!irq)
+		return -EINVAL;
 
 	host = ata_host_alloc_pinfo(&pdev->dev, ppi, n_ports);
 	hpriv = devm_kzalloc(&pdev->dev, sizeof(*hpriv), GFP_KERNEL);
drivers/bus/qcom-ebi2.c +3 -1
index a6444244c411..bfb67aa00bec 100644
@@ -357,8 +357,10 @@ static int qcom_ebi2_probe(struct platform_device *pdev)
 
 		/* Figure out the chipselect */
 		ret = of_property_read_u32(child, "reg", &csindex);
-		if (ret)
+		if (ret) {
+			of_node_put(child);
 			return ret;
+		}
 
 		if (csindex > 5) {
 			dev_err(dev,
drivers/char/tpm/tpm2-cmd.c +1 -0
index dd64b3b37400..565bc72c3576 100644
@@ -1051,6 +1051,7 @@ static int tpm2_get_cc_attrs_tbl(struct tpm_chip *chip)
 
 	if (nr_commands !=
 	    be32_to_cpup((__be32 *)&buf.data[TPM_HEADER_SIZE + 5])) {
+		rc = -EFAULT;
 		tpm_buf_destroy(&buf);
 		goto out;
 	}
drivers/char/ttyprintk.c +11 -0
index 774748497ace..e56ac5adb5fc 100644
@@ -159,12 +159,23 @@ static int tpk_ioctl(struct tty_struct *tty,
 	return 0;
 }
 
+/*
+ * TTY operations hangup function.
+ */
+static void tpk_hangup(struct tty_struct *tty)
+{
+	struct ttyprintk_port *tpkp = tty->driver_data;
+
+	tty_port_hangup(&tpkp->port);
+}
+
 static const struct tty_operations ttyprintk_ops = {
 	.open = tpk_open,
 	.close = tpk_close,
 	.write = tpk_write,
 	.write_room = tpk_write_room,
 	.ioctl = tpk_ioctl,
+	.hangup = tpk_hangup,
 };
 
 static const struct tty_port_operations null_ops = { };
drivers/clk/samsung/clk-exynos7.c +6 -1
index bbfa57b4e017..17dfd4f130ca 100644
@@ -541,8 +541,13 @@ static const struct samsung_gate_clock top1_gate_clks[] __initconst = {
 	GATE(CLK_ACLK_FSYS0_200, "aclk_fsys0_200", "dout_aclk_fsys0_200",
 		ENABLE_ACLK_TOP13, 28, CLK_SET_RATE_PARENT |
 		CLK_IS_CRITICAL, 0),
+	/*
+	 * This clock is required for the CMU_FSYS1 registers access, keep it
+	 * enabled permanently until proper runtime PM support is added.
+	 */
 	GATE(CLK_ACLK_FSYS1_200, "aclk_fsys1_200", "dout_aclk_fsys1_200",
-		ENABLE_ACLK_TOP13, 24, CLK_SET_RATE_PARENT, 0),
+		ENABLE_ACLK_TOP13, 24, CLK_SET_RATE_PARENT |
+		CLK_IS_CRITICAL, 0),
 
 	GATE(CLK_SCLK_PHY_FSYS1_26M, "sclk_phy_fsys1_26m",
 		"dout_sclk_phy_fsys1_26m", ENABLE_SCLK_TOP1_FSYS11,
drivers/clk/socfpga/clk-gate-a10.c +1 -0
index 36376c542055..637e26babf89 100644
@@ -157,6 +157,7 @@ static void __init __socfpga_gate_init(struct device_node *node,
 		if (IS_ERR(socfpga_clk->sys_mgr_base_addr)) {
 			pr_err("%s: failed to find altr,sys-mgr regmap!\n",
 					__func__);
+			kfree(socfpga_clk);
 			return;
 		}
 	}
drivers/clk/uniphier/clk-uniphier-mux.c +2 -2
index 2c243a894f3b..3a52ab968ac2 100644
@@ -40,10 +40,10 @@ static int uniphier_clk_mux_set_parent(struct clk_hw *hw, u8 index)
 static u8 uniphier_clk_mux_get_parent(struct clk_hw *hw)
 {
 	struct uniphier_clk_mux *mux = to_uniphier_clk_mux(hw);
-	int num_parents = clk_hw_get_num_parents(hw);
+	unsigned int num_parents = clk_hw_get_num_parents(hw);
 	int ret;
 	unsigned int val;
-	u8 i;
+	unsigned int i;
 
 	ret = regmap_read(mux->regmap, mux->reg, &val);
 	if (ret)
drivers/crypto/qat/qat_c3xxxvf/adf_drv.c +2 -2
index 613c7d5644ce..e87b7c466bdb 100644
@@ -238,12 +238,12 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	if (ret)
 		goto out_err_free_reg;
 
-	set_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status);
-
 	ret = adf_dev_init(accel_dev);
 	if (ret)
 		goto out_err_dev_shutdown;
 
+	set_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status);
+
 	ret = adf_dev_start(accel_dev);
 	if (ret)
 		goto out_err_dev_stop;
drivers/crypto/qat/qat_c62xvf/adf_drv.c +2 -2
index 278452b8ef81..a8f3f2ecae70 100644
@@ -238,12 +238,12 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	if (ret)
 		goto out_err_free_reg;
 
-	set_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status);
-
 	ret = adf_dev_init(accel_dev);
 	if (ret)
 		goto out_err_dev_shutdown;
 
+	set_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status);
+
 	ret = adf_dev_start(accel_dev);
 	if (ret)
 		goto out_err_dev_stop;
drivers/crypto/qat/qat_common/adf_isr.c +21 -8
index 06d49017a52b..2c0be14309cf 100644
@@ -330,19 +330,32 @@ int adf_isr_resource_alloc(struct adf_accel_dev *accel_dev)
 
 	ret = adf_isr_alloc_msix_entry_table(accel_dev);
 	if (ret)
-		return ret;
-	if (adf_enable_msix(accel_dev))
 		goto err_out;
 
-	if (adf_setup_bh(accel_dev))
-		goto err_out;
+	ret = adf_enable_msix(accel_dev);
+	if (ret)
+		goto err_free_msix_table;
 
-	if (adf_request_irqs(accel_dev))
-		goto err_out;
+	ret = adf_setup_bh(accel_dev);
+	if (ret)
+		goto err_disable_msix;
+
+	ret = adf_request_irqs(accel_dev);
+	if (ret)
+		goto err_cleanup_bh;
 
 	return 0;
+
+err_cleanup_bh:
+	adf_cleanup_bh(accel_dev);
+
+err_disable_msix:
+	adf_disable_msix(&accel_dev->accel_pci_dev);
+
+err_free_msix_table:
+	adf_isr_free_msix_entry_table(accel_dev);
+
 err_out:
-	adf_isr_resource_free(accel_dev);
-	return -EFAULT;
+	return ret;
 }
 EXPORT_SYMBOL_GPL(adf_isr_resource_alloc);
drivers/crypto/qat/qat_common/adf_transport.c +1 -0
index 57d2622728a5..4c0067f8c079 100644
@@ -197,6 +197,7 @@ static int adf_init_ring(struct adf_etr_ring_data *ring)
 		dev_err(&GET_DEV(accel_dev), "Ring address not aligned\n");
 		dma_free_coherent(&GET_DEV(accel_dev), ring_size_bytes,
 				  ring->base_addr, ring->dma_addr);
+		ring->base_addr = NULL;
 		return -EFAULT;
 	}
 
drivers/crypto/qat/qat_common/adf_vf_isr.c +13 -4
index 4a73fc70f7a9..df9a1f35b832 100644
@@ -304,17 +304,26 @@ int adf_vf_isr_resource_alloc(struct adf_accel_dev *accel_dev)
 		goto err_out;
 
 	if (adf_setup_pf2vf_bh(accel_dev))
-		goto err_out;
+		goto err_disable_msi;
 
 	if (adf_setup_bh(accel_dev))
-		goto err_out;
+		goto err_cleanup_pf2vf_bh;
 
 	if (adf_request_msi_irq(accel_dev))
-		goto err_out;
+		goto err_cleanup_bh;
 
 	return 0;
+
+err_cleanup_bh:
+	adf_cleanup_bh(accel_dev);
+
+err_cleanup_pf2vf_bh:
+	adf_cleanup_pf2vf_bh(accel_dev);
+
+err_disable_msi:
+	adf_disable_msi(accel_dev);
+
 err_out:
-	adf_vf_isr_resource_free(accel_dev);
 	return -EFAULT;
 }
 EXPORT_SYMBOL_GPL(adf_vf_isr_resource_alloc);
drivers/crypto/qat/qat_dh895xccvf/adf_drv.c +2 -2
index 3da0f951cb59..1b954abf67fb 100644
@@ -238,12 +238,12 @@ static int adf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	if (ret)
 		goto out_err_free_reg;
 
-	set_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status);
-
 	ret = adf_dev_init(accel_dev);
 	if (ret)
 		goto out_err_dev_shutdown;
 
+	set_bit(ADF_STATUS_PF_RUNNING, &accel_dev->status);
+
 	ret = adf_dev_start(accel_dev);
 	if (ret)
 		goto out_err_dev_stop;
drivers/extcon/extcon-arizona.c +9 -8
index 4937a404fee8..2cfd5db75625 100644
@@ -602,7 +602,7 @@ static irqreturn_t arizona_hpdet_irq(int irq, void *data)
 	struct arizona *arizona = info->arizona;
 	int id_gpio = arizona->pdata.hpdet_id_gpio;
 	unsigned int report = EXTCON_JACK_HEADPHONE;
-	int ret, reading;
+	int ret, reading, state;
 	bool mic = false;
 
 	mutex_lock(&info->lock);
@@ -615,12 +615,11 @@ static irqreturn_t arizona_hpdet_irq(int irq, void *data)
 	}
 
 	/* If the cable was removed while measuring ignore the result */
-	ret = extcon_get_state(info->edev, EXTCON_MECHANICAL);
-	if (ret < 0) {
-		dev_err(arizona->dev, "Failed to check cable state: %d\n",
-			ret);
+	state = extcon_get_state(info->edev, EXTCON_MECHANICAL);
+	if (state < 0) {
+		dev_err(arizona->dev, "Failed to check cable state: %d\n", state);
 		goto out;
-	} else if (!ret) {
+	} else if (!state) {
 		dev_dbg(arizona->dev, "Ignoring HPDET for removed cable\n");
 		goto done;
 	}
@@ -673,7 +672,7 @@ static irqreturn_t arizona_hpdet_irq(int irq, void *data)
 			   ARIZONA_ACCDET_MODE_MASK, ARIZONA_ACCDET_MODE_MIC);
 
 	/* If we have a mic then reenable MICDET */
-	if (mic || info->mic)
+	if (state && (mic || info->mic))
 		arizona_start_mic(info);
 
 	if (info->hpdet_active) {
@@ -681,7 +680,9 @@ static irqreturn_t arizona_hpdet_irq(int irq, void *data)
 		info->hpdet_active = false;
 	}
 
-	info->hpdet_done = true;
+	/* Do not set hp_det done when the cable has been unplugged */
+	if (state)
+		info->hpdet_done = true;
 
 out:
 	mutex_unlock(&info->lock);
drivers/firmware/Kconfig +1 -0
index 42c4ff75281b..89c5f3651c3b 100644
@@ -206,6 +206,7 @@ config FW_CFG_SYSFS_CMDLINE
 config QCOM_SCM
 	bool
 	depends on ARM || ARM64
+	depends on HAVE_ARM_SMCCC
 	select RESET_CONTROLLER
 
 config QCOM_SCM_32
drivers/gpio/gpiolib-acpi.c +14 -0
index ab5de5196080..c380ce957d8d 100644
@@ -1404,6 +1404,20 @@ static const struct dmi_system_id gpiolib_acpi_quirks[] = {
 			.no_edge_events_on_boot = true,
 		},
 	},
+	{
+		/*
+		 * The Dell Venue 10 Pro 5055, with Bay Trail SoC + TI PMIC uses an
+		 * external embedded-controller connected via I2C + an ACPI GPIO
+		 * event handler on INT33FFC:02 pin 12, causing spurious wakeups.
+		 */
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
+			DMI_MATCH(DMI_PRODUCT_NAME, "Venue 10 Pro 5055"),
+		},
+		.driver_data = &(struct acpi_gpiolib_dmi_quirk) {
+			.ignore_wake = "INT33FC:02@12",
+		},
+	},
 	{
 		/*
 		 * HP X2 10 models with Cherry Trail SoC + TI PMIC use an
drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c +1 -1
index 538e5f27d120..fb9361590754 100644
@@ -437,7 +437,7 @@ void amdgpu_irq_gpu_reset_resume_helper(struct amdgpu_device *adev)
 		for (j = 0; j < AMDGPU_MAX_IRQ_SRC_ID; ++j) {
 			struct amdgpu_irq_src *src = adev->irq.client[i].sources[j];
 
-			if (!src)
+			if (!src || !src->funcs || !src->funcs->set)
 				continue;
 			for (k = 0; k < src->num_types; k++)
 				amdgpu_irq_update(adev, src, k);
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +1 -1
index ae700e445fbc..d057bc29bf4c 100644
@@ -742,7 +742,7 @@ static void amdgpu_ttm_tt_unpin_userptr(struct ttm_tt *ttm)
 		DMA_BIDIRECTIONAL : DMA_TO_DEVICE;
 
 	/* double check that we don't free the table twice */
-	if (!ttm->sg->sgl)
+	if (!ttm->sg || !ttm->sg->sgl)
 		return;
 
 	/* free the sg table and pages again */
drivers/gpu/drm/i915/intel_pm.c +1 -1
index 674410682ccc..fd6080437763 100644
@@ -2934,7 +2934,7 @@ int ilk_wm_max_level(const struct drm_i915_private *dev_priv)
 
 static void intel_print_wm_latency(struct drm_i915_private *dev_priv,
 				   const char *name,
-				   const uint16_t wm[8])
+				   const uint16_t wm[])
 {
 	int level, max_level = ilk_wm_max_level(dev_priv);
 
drivers/gpu/drm/msm/mdp/mdp5/mdp5_cmd_encoder.c +9 -1
index 60790df91bfa..397e71481129 100644
@@ -78,9 +78,17 @@ static int pingpong_tearcheck_setup(struct drm_encoder *encoder,
 		| MDP5_PP_SYNC_CONFIG_VSYNC_IN_EN;
 	cfg |= MDP5_PP_SYNC_CONFIG_VSYNC_COUNT(vclks_line);
 
+	/*
+	 * Tearcheck emits a blanking signal every vclks_line * vtotal * 2 ticks on
+	 * the vsync_clk equating to roughly half the desired panel refresh rate.
+	 * This is only necessary as stability fallback if interrupts from the
+	 * panel arrive too late or not at all, but is currently used by default
+	 * because these panel interrupts are not wired up yet.
+	 */
 	mdp5_write(mdp5_kms, REG_MDP5_PP_SYNC_CONFIG_VSYNC(pp_id), cfg);
 	mdp5_write(mdp5_kms,
-		REG_MDP5_PP_SYNC_CONFIG_HEIGHT(pp_id), 0xfff0);
+		REG_MDP5_PP_SYNC_CONFIG_HEIGHT(pp_id), (2 * mode->vtotal));
+
 	mdp5_write(mdp5_kms,
 		REG_MDP5_PP_VSYNC_INIT_VAL(pp_id), mode->vdisplay);
 	mdp5_write(mdp5_kms, REG_MDP5_PP_RD_PTR_IRQ(pp_id), mode->vdisplay + 1);
drivers/gpu/drm/radeon/radeon.h +1 -0
index 8cbaeec090c9..816914a1323d 100644
@@ -1562,6 +1562,7 @@ struct radeon_dpm {
 	void                    *priv;
 	u32			new_active_crtcs;
 	int			new_active_crtc_count;
+	int			high_pixelclock_count;
 	u32			current_active_crtcs;
 	int			current_active_crtc_count;
 	bool single_display;
drivers/gpu/drm/radeon/radeon_atombios.c +3 -3
index 4134759a6823..368ca6a5dbdd 100644
@@ -2260,10 +2260,10 @@ static int radeon_atombios_parse_power_table_1_3(struct radeon_device *rdev)
 		rdev->pm.default_power_state_index = state_index - 1;
 		rdev->pm.power_state[state_index - 1].default_clock_mode =
 			&rdev->pm.power_state[state_index - 1].clock_info[0];
-		rdev->pm.power_state[state_index].flags &=
+		rdev->pm.power_state[state_index - 1].flags &=
 			~RADEON_PM_STATE_SINGLE_DISPLAY_ONLY;
-		rdev->pm.power_state[state_index].misc = 0;
-		rdev->pm.power_state[state_index].misc2 = 0;
+		rdev->pm.power_state[state_index - 1].misc = 0;
+		rdev->pm.power_state[state_index - 1].misc2 = 0;
 	}
 	return state_index;
 }
drivers/gpu/drm/radeon/radeon_kms.c +1 -0
index 2e28cf811840..4973bd241aec 100644
@@ -531,6 +531,7 @@ static int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file
 			*value = rdev->config.si.backend_enable_mask;
 		} else {
 			DRM_DEBUG_KMS("BACKEND_ENABLED_MASK is si+ only!\n");
+			return -EINVAL;
 		}
 		break;
 	case RADEON_INFO_MAX_SCLK:
drivers/gpu/drm/radeon/radeon_pm.c +8 -0
index 4b6542538ff9..c213a5c9227e 100644
@@ -1715,6 +1715,7 @@ static void radeon_pm_compute_clocks_dpm(struct radeon_device *rdev)
 	struct drm_device *ddev = rdev->ddev;
 	struct drm_crtc *crtc;
 	struct radeon_crtc *radeon_crtc;
+	struct radeon_connector *radeon_connector;
 
 	if (!rdev->pm.dpm_enabled)
 		return;
@@ -1724,6 +1725,7 @@ static void radeon_pm_compute_clocks_dpm(struct radeon_device *rdev)
 	/* update active crtc counts */
 	rdev->pm.dpm.new_active_crtcs = 0;
 	rdev->pm.dpm.new_active_crtc_count = 0;
+	rdev->pm.dpm.high_pixelclock_count = 0;
 	if (rdev->num_crtc && rdev->mode_info.mode_config_initialized) {
 		list_for_each_entry(crtc,
 				    &ddev->mode_config.crtc_list, head) {
@@ -1731,6 +1733,12 @@ static void radeon_pm_compute_clocks_dpm(struct radeon_device *rdev)
 			if (crtc->enabled) {
 				rdev->pm.dpm.new_active_crtcs |= (1 << radeon_crtc->crtc_id);
 				rdev->pm.dpm.new_active_crtc_count++;
+				if (!radeon_crtc->connector)
+					continue;
+
+				radeon_connector = to_radeon_connector(radeon_crtc->connector);
+				if (radeon_connector->pixelclock_for_modeset > 297000)
+					rdev->pm.dpm.high_pixelclock_count++;
 			}
 		}
 	}
drivers/gpu/drm/radeon/si_dpm.c +3 -0
index 9e5645e4cb55..bae96c8eb07b 100644
@@ -3000,6 +3000,9 @@ static void si_apply_state_adjust_rules(struct radeon_device *rdev,
 		    (rdev->pdev->device == 0x6605)) {
 			max_sclk = 75000;
 		}
+
+		if (rdev->pm.dpm.high_pixelclock_count > 1)
+			disable_sclk_switching = true;
 	}
 
 	if (rps->vce_active) {
drivers/hid/hid-ids.h +1 -0
index be0707cfc0fd..e5f2958bc18c 100644
@@ -859,6 +859,7 @@
 #define USB_DEVICE_ID_ORTEK_IHOME_IMAC_A210S	0x8003
 
 #define USB_VENDOR_ID_PLANTRONICS	0x047f
+#define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3220_SERIES	0xc056
 
 #define USB_VENDOR_ID_PANASONIC		0x04da
 #define USB_DEVICE_ID_PANABOARD_UBT780	0x1044
drivers/hid/hid-plantronics.c +58 -2

113 lines not on this page · raw message

drivers/hsi/hsi_core.c +1 -2
index 9065efd21851..71895da63810 100644
@@ -223,8 +223,6 @@ static void hsi_add_client_from_dt(struct hsi_port *port,
 	if (err)
 		goto err;
 
-	dev_set_name(&cl->device, "%s", name);
-
 	err = hsi_of_property_parse_mode(client, "hsi-mode", &mode);
 	if (err) {
 		err = hsi_of_property_parse_mode(client, "hsi-rx-mode",
@@ -306,6 +304,7 @@ static void hsi_add_client_from_dt(struct hsi_port *port,
 	cl->device.release = hsi_client_release;
 	cl->device.of_node = client;
 
+	dev_set_name(&cl->device, "%s", name);
 	if (device_register(&cl->device) < 0) {
 		pr_err("hsi: failed to register client: %s\n", name);
 		put_device(&cl->device);
drivers/hv/channel_mgmt.c +25 -5
index 3891d3c2cc00..bd79d958f7d6 100644
@@ -768,6 +768,12 @@ static void init_vp_index(struct vmbus_channel *channel, u16 dev_type)
 	free_cpumask_var(available_mask);
 }
 
+#define UNLOAD_DELAY_UNIT_MS	10		/* 10 milliseconds */
+#define UNLOAD_WAIT_MS		(100*1000)	/* 100 seconds */
+#define UNLOAD_WAIT_LOOPS	(UNLOAD_WAIT_MS/UNLOAD_DELAY_UNIT_MS)
+#define UNLOAD_MSG_MS		(5*1000)	/* Every 5 seconds */
+#define UNLOAD_MSG_LOOPS	(UNLOAD_MSG_MS/UNLOAD_DELAY_UNIT_MS)
+
 static void vmbus_wait_for_unload(void)
 {
 	int cpu;
@@ -785,12 +791,17 @@ static void vmbus_wait_for_unload(void)
 	 * vmbus_connection.unload_event. If not, the last thing we can do is
 	 * read message pages for all CPUs directly.
 	 *
-	 * Wait no more than 10 seconds so that the panic path can't get
-	 * hung forever in case the response message isn't seen.
+	 * Wait up to 100 seconds since an Azure host must writeback any dirty
+	 * data in its disk cache before the VMbus UNLOAD request will
+	 * complete. This flushing has been empirically observed to take up
+	 * to 50 seconds in cases with a lot of dirty data, so allow additional
+	 * leeway and for inaccuracies in mdelay(). But eventually time out so
+	 * that the panic path can't get hung forever in case the response
+	 * message isn't seen.
 	 */
-	for (i = 0; i < 1000; i++) {
+	for (i = 1; i <= UNLOAD_WAIT_LOOPS; i++) {
 		if (completion_done(&vmbus_connection.unload_event))
-			break;
+			goto completed;
 
 		for_each_online_cpu(cpu) {
 			struct hv_per_cpu_context *hv_cpu
@@ -813,9 +824,18 @@ static void vmbus_wait_for_unload(void)
 			vmbus_signal_eom(msg, message_type);
 		}
 
-		mdelay(10);
+		/*
+		 * Give a notice periodically so someone watching the
+		 * serial output won't think it is completely hung.
+		 */
+		if (!(i % UNLOAD_MSG_LOOPS))
+			pr_notice("Waiting for VMBus UNLOAD to complete\n");
+
+		mdelay(UNLOAD_DELAY_UNIT_MS);
 	}
+	pr_err("Continuing even though VMBus UNLOAD did not complete\n");
 
+completed:
 	/*
 	 * We're crashing and already got the UNLOAD_RESPONSE, cleanup all
 	 * maybe-pending messages on all CPUs to be able to receive new
drivers/hwtracing/intel_th/gth.c +2 -2
index 2a3ae9006c58..79473ba48d0c 100644
@@ -485,7 +485,7 @@ static void intel_th_gth_disable(struct intel_th_device *thdev,
 	output->active = false;
 
 	for_each_set_bit(master, gth->output[output->port].master,
-			 TH_CONFIGURABLE_MASTERS) {
+			 TH_CONFIGURABLE_MASTERS + 1) {
 		gth_master_set(gth, master, -1);
 	}
 	spin_unlock(&gth->gth_lock);
@@ -624,7 +624,7 @@ static void intel_th_gth_unassign(struct intel_th_device *thdev,
 	othdev->output.port = -1;
 	othdev->output.active = false;
 	gth->output[port].output = NULL;
-	for (master = 0; master <= TH_CONFIGURABLE_MASTERS; master++)
+	for (master = 0; master < TH_CONFIGURABLE_MASTERS + 1; master++)
 		if (gth->master[master] == port)
 			gth->master[master] = -1;
 	spin_unlock(&gth->gth_lock);
drivers/hwtracing/intel_th/pci.c +10 -0
index 6a6682537024..c39e9489d9fa 100644
@@ -248,6 +248,16 @@ static const struct pci_device_id intel_th_pci_id_table[] = {
 		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x1bcc),
 		.driver_data = (kernel_ulong_t)&intel_th_2x,
 	},
+	{
+		/* Alder Lake-M */
+		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x54a6),
+		.driver_data = (kernel_ulong_t)&intel_th_2x,
+	},
+	{
+		/* Rocket Lake CPU */
+		PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4c19),
+		.driver_data = (kernel_ulong_t)&intel_th_2x,
+	},
 	{ 0 },
 };
 
drivers/i2c/busses/i2c-cadence.c +4 -1
index b13605718291..c5475bb4fae6 100644
@@ -906,7 +906,10 @@ static int cdns_i2c_probe(struct platform_device *pdev)
 	if (IS_ERR(id->membase))
 		return PTR_ERR(id->membase);
 
-	id->irq = platform_get_irq(pdev, 0);
+	ret = platform_get_irq(pdev, 0);
+	if (ret < 0)
+		return ret;
+	id->irq = ret;
 
 	id->adap.owner = THIS_MODULE;
 	id->adap.dev.of_node = pdev->dev.of_node;
drivers/i2c/busses/i2c-emev2.c +4 -1
index dd97e5d9f49a..74f0d5f2dc30 100644
@@ -400,7 +400,10 @@ static int em_i2c_probe(struct platform_device *pdev)
 
 	em_i2c_reset(&priv->adap);
 
-	priv->irq = platform_get_irq(pdev, 0);
+	ret = platform_get_irq(pdev, 0);
+	if (ret < 0)
+		goto err_clk;
+	priv->irq = ret;
 	ret = devm_request_irq(&pdev->dev, priv->irq, em_i2c_irq_handler, 0,
 				"em_i2c", priv);
 	if (ret)
drivers/i2c/busses/i2c-jz4780.c +4 -1
index 41ca9ff7b5da..4dd800c0db14 100644
@@ -760,7 +760,10 @@ static int jz4780_i2c_probe(struct platform_device *pdev)
 
 	jz4780_i2c_writew(i2c, JZ4780_I2C_INTM, 0x0);
 
-	i2c->irq = platform_get_irq(pdev, 0);
+	ret = platform_get_irq(pdev, 0);
+	if (ret < 0)
+		goto err;
+	i2c->irq = ret;
 	ret = devm_request_irq(&pdev->dev, i2c->irq, jz4780_i2c_irq, 0,
 			       dev_name(&pdev->dev), i2c);
 	if (ret)
drivers/i2c/busses/i2c-sh7760.c +4 -1
index c2005c789d2b..319d1fa617c8 100644
@@ -471,7 +471,10 @@ static int sh7760_i2c_probe(struct platform_device *pdev)
 		goto out2;
 	}
 
-	id->irq = platform_get_irq(pdev, 0);
+	ret = platform_get_irq(pdev, 0);
+	if (ret < 0)
+		goto out3;
+	id->irq = ret;
 
 	id->adap.nr = pdev->id;
 	id->adap.algo = &sh7760_i2c_algo;
drivers/iio/gyro/mpu3050-core.c +11 -2
index 3db843206db3..1096226a0612 100644
@@ -270,7 +270,16 @@ static int mpu3050_read_raw(struct iio_dev *indio_dev,
 	case IIO_CHAN_INFO_OFFSET:
 		switch (chan->type) {
 		case IIO_TEMP:
-			/* The temperature scaling is (x+23000)/280 Celsius */
+			/*
+			 * The temperature scaling is (x+23000)/280 Celsius
+			 * for the "best fit straight line" temperature range
+			 * of -30C..85C.  The 23000 includes room temperature
+			 * offset of +35C, 280 is the precision scale and x is
+			 * the 16-bit signed integer reported by hardware.
+			 *
+			 * Temperature value itself represents temperature of
+			 * the sensor die.
+			 */
 			*val = 23000;
 			return IIO_VAL_INT;
 		default:
@@ -327,7 +336,7 @@ static int mpu3050_read_raw(struct iio_dev *indio_dev,
 				goto out_read_raw_unlock;
 			}
 
-			*val = be16_to_cpu(raw_val);
+			*val = (s16)be16_to_cpu(raw_val);
 			ret = IIO_VAL_INT;
 
 			goto out_read_raw_unlock;
drivers/iio/light/tsl2583.c +8 -0
index fb711ed4862e..87ed9adec7e1 100644
@@ -350,6 +350,14 @@ static int tsl2583_als_calibrate(struct iio_dev *indio_dev)
 		return lux_val;
 	}
 
+	/* Avoid division by zero of lux_value later on */
+	if (lux_val == 0) {
+		dev_err(&chip->client->dev,
+			"%s: lux_val of 0 will produce out of range trim_value\n",
+			__func__);
+		return -ENODATA;
+	}
+
 	gain_trim_val = (unsigned int)(((chip->als_settings.als_cal_target)
 			* chip->als_settings.als_gain_trim) / lux_val);
 	if ((gain_trim_val < 250) || (gain_trim_val > 4000)) {
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c +1 -0
index 36c1ddc251aa..c033db701bb5 100644
@@ -166,6 +166,7 @@ static int lidar_get_measurement(struct lidar_data *data, u16 *reg)
 	ret = lidar_write_control(data, LIDAR_REG_CONTROL_ACQUIRE);
 	if (ret < 0) {
 		dev_err(&client->dev, "cannot send start measurement command");
+		pm_runtime_put_noidle(&client->dev);
 		return ret;
 	}
 
drivers/infiniband/hw/hfi1/firmware.c +1 -0
index 5aea8f47e670..c54359376cda 100644
@@ -1885,6 +1885,7 @@ int parse_platform_config(struct hfi1_devdata *dd)
 			dd_dev_err(dd, "%s: Failed CRC check at offset %ld\n",
 				   __func__, (ptr -
 				   (u32 *)dd->platform_config.data));
+			ret = -EINVAL;
 			goto bail;
 		}
 		/* Jump the CRC DWORD */
drivers/infiniband/hw/i40iw/i40iw.h +1 -0
index a65e4cbdce2f..8cabd293fc21 100644
@@ -210,6 +210,7 @@ struct i40iw_msix_vector {
 	u32 irq;
 	u32 cpu_affinity;
 	u32 ceq_id;
+	cpumask_t mask;
 };
 
 struct l2params_work {
drivers/infiniband/hw/i40iw/i40iw_main.c +3 -4
index f41ac2875702..afbfde53a35e 100644
@@ -676,7 +676,6 @@ static enum i40iw_status_code i40iw_configure_ceq_vector(struct i40iw_device *iw
 							 struct i40iw_msix_vector *msix_vec)
 {
 	enum i40iw_status_code status;
-	cpumask_t mask;
 
 	if (iwdev->msix_shared && !ceq_id) {
 		tasklet_init(&iwdev->dpc_tasklet, i40iw_dpc, (unsigned long)iwdev);
@@ -686,9 +685,9 @@ static enum i40iw_status_code i40iw_configure_ceq_vector(struct i40iw_device *iw
 		status = request_irq(msix_vec->irq, i40iw_ceq_handler, 0, "CEQ", iwceq);
 	}
 
-	cpumask_clear(&mask);
-	cpumask_set_cpu(msix_vec->cpu_affinity, &mask);
-	irq_set_affinity_hint(msix_vec->irq, &mask);
+	cpumask_clear(&msix_vec->mask);
+	cpumask_set_cpu(msix_vec->cpu_affinity, &msix_vec->mask);
+	irq_set_affinity_hint(msix_vec->irq, &msix_vec->mask);
 
 	if (status) {
 		i40iw_pr_err("ceq irq config fail\n");
drivers/infiniband/hw/i40iw/i40iw_pble.c +2 -4
index 540aab5e502d..3fafc5424e76 100644
@@ -392,12 +392,9 @@ static enum i40iw_status_code add_pble_pool(struct i40iw_sc_dev *dev,
 	i40iw_debug(dev, I40IW_DEBUG_PBLE, "next_fpm_addr = %llx chunk_size[%u] = 0x%x\n",
 		    pble_rsrc->next_fpm_addr, chunk->size, chunk->size);
 	pble_rsrc->unallocated_pble -= (chunk->size >> 3);
-	list_add(&chunk->list, &pble_rsrc->pinfo.clist);
 	sd_reg_val = (sd_entry_type == I40IW_SD_TYPE_PAGED) ?
 			sd_entry->u.pd_table.pd_page_addr.pa : sd_entry->u.bp.addr.pa;
-	if (sd_entry->valid)
-		return 0;
-	if (dev->is_pf) {
+	if (dev->is_pf && !sd_entry->valid) {
 		ret_code = i40iw_hmc_sd_one(dev, hmc_info->hmc_fn_id,
 					    sd_reg_val, idx->sd_idx,
 					    sd_entry->entry_type, true);
@@ -408,6 +405,7 @@ static enum i40iw_status_code add_pble_pool(struct i40iw_sc_dev *dev,
 	}
 
 	sd_entry->valid = true;
+	list_add(&chunk->list, &pble_rsrc->pinfo.clist);
 	return 0;
  error:
 	kfree(chunk);
drivers/input/touchscreen/elants_i2c.c +42 -2

63 lines not on this page · raw message

drivers/input/touchscreen/silead.c +40 -4

68 lines not on this page · raw message

drivers/isdn/capi/kcapi.c +2 -2
index 28a1c6b5095d..4c35abeceb61 100644
@@ -845,7 +845,7 @@ EXPORT_SYMBOL(capi20_put_message);
  * Return value: CAPI result code
  */
 
-u16 capi20_get_manufacturer(u32 contr, u8 *buf)
+u16 capi20_get_manufacturer(u32 contr, u8 buf[CAPI_MANUFACTURER_LEN])
 {
 	struct capi_ctr *ctr;
 	u16 ret;
@@ -915,7 +915,7 @@ EXPORT_SYMBOL(capi20_get_version);
  * Return value: CAPI result code
  */
 
-u16 capi20_get_serial(u32 contr, u8 *serial)
+u16 capi20_get_serial(u32 contr, u8 serial[CAPI_SERIAL_LEN])
 {
 	struct capi_ctr *ctr;
 	u16 ret;
drivers/md/dm-rq.c +2 -0
index cac8ec16e603..5cf64a823819 100644
@@ -822,6 +822,7 @@ int dm_mq_init_request_queue(struct mapped_device *md, struct dm_table *t)
 	blk_mq_free_tag_set(md->tag_set);
 out_kfree_tag_set:
 	kfree(md->tag_set);
+	md->tag_set = NULL;
 
 	return err;
 }
@@ -831,6 +832,7 @@ void dm_mq_cleanup_mapped_device(struct mapped_device *md)
 	if (md->tag_set) {
 		blk_mq_free_tag_set(md->tag_set);
 		kfree(md->tag_set);
+		md->tag_set = NULL;
 	}
 }
 
drivers/md/md.c +43 -24

126 lines not on this page · raw message

drivers/md/persistent-data/dm-btree-internal.h +2 -2
index a240990a7f33..5673f8eb5f88 100644
@@ -34,12 +34,12 @@ struct node_header {
 	__le32 max_entries;
 	__le32 value_size;
 	__le32 padding;
-} __packed;
+} __attribute__((packed, aligned(8)));
 
 struct btree_node {
 	struct node_header header;
 	__le64 keys[0];
-} __packed;
+} __attribute__((packed, aligned(8)));
 
 
 /*
drivers/md/persistent-data/dm-space-map-common.c +2 -0
index 97f16fe14f54..a2eceb12f01d 100644
@@ -337,6 +337,8 @@ int sm_ll_find_free_block(struct ll_disk *ll, dm_block_t begin,
 	 */
 	begin = do_div(index_begin, ll->entries_per_block);
 	end = do_div(end, ll->entries_per_block);
+	if (end == 0)
+		end = ll->entries_per_block;
 
 	for (i = index_begin; i < index_end; i++, begin = 0) {
 		struct dm_block *blk;
drivers/md/persistent-data/dm-space-map-common.h +4 -4
index 8de63ce39bdd..87e17909ef52 100644
@@ -33,7 +33,7 @@ struct disk_index_entry {
 	__le64 blocknr;
 	__le32 nr_free;
 	__le32 none_free_before;
-} __packed;
+} __attribute__ ((packed, aligned(8)));
 
 
 #define MAX_METADATA_BITMAPS 255
@@ -43,7 +43,7 @@ struct disk_metadata_index {
 	__le64 blocknr;
 
 	struct disk_index_entry index[MAX_METADATA_BITMAPS];
-} __packed;
+} __attribute__ ((packed, aligned(8)));
 
 struct ll_disk;
 
@@ -86,7 +86,7 @@ struct disk_sm_root {
 	__le64 nr_allocated;
 	__le64 bitmap_root;
 	__le64 ref_count_root;
-} __packed;
+} __attribute__ ((packed, aligned(8)));
 
 #define ENTRIES_PER_BYTE 4
 
@@ -94,7 +94,7 @@ struct disk_bitmap_header {
 	__le32 csum;
 	__le32 not_used;
 	__le64 blocknr;
-} __packed;
+} __attribute__ ((packed, aligned(8)));
 
 enum allocation_event {
 	SM_NONE,
drivers/md/raid1.c +2 -0
index 0a9d623b13c2..daa478e0b856 100644
@@ -446,6 +446,8 @@ static void raid1_end_write_request(struct bio *bio)
 		if (!test_bit(Faulty, &rdev->flags))
 			set_bit(R1BIO_WriteError, &r1_bio->state);
 		else {
+			/* Fail the request */
+			set_bit(R1BIO_Degraded, &r1_bio->state);
 			/* Finished with this branch */
 			r1_bio->bios[mirror] = NULL;
 			to_put = bio;
drivers/media/dvb-core/dvbdev.c +1 -0
index ba3c68fb9676..1628cbdd20d7 100644
@@ -218,6 +218,7 @@ static void dvb_media_device_free(struct dvb_device *dvbdev)
 
 	if (dvbdev->adapter->conn) {
 		media_device_unregister_entity(dvbdev->adapter->conn);
+		kfree(dvbdev->adapter->conn);
 		dvbdev->adapter->conn = NULL;
 		kfree(dvbdev->adapter->conn_pads);
 		dvbdev->adapter->conn_pads = NULL;
drivers/media/i2c/adv7511-v4l2.c +1 -1
index ef1144668809..2148a29909e0 100644
@@ -1976,7 +1976,7 @@ static int adv7511_remove(struct i2c_client *client)
 
 	adv7511_set_isr(sd, false);
 	adv7511_init_setup(sd);
-	cancel_delayed_work(&state->edid_handler);
+	cancel_delayed_work_sync(&state->edid_handler);
 	i2c_unregister_device(state->i2c_edid);
 	if (state->i2c_cec)
 		i2c_unregister_device(state->i2c_cec);
drivers/media/i2c/adv7604.c +1 -1
index 26c3ec573a56..3078d47d090a 100644
@@ -3557,7 +3557,7 @@ static int adv76xx_remove(struct i2c_client *client)
 	io_write(sd, 0x6e, 0);
 	io_write(sd, 0x73, 0);
 
-	cancel_delayed_work(&state->delayed_work_enable_hotplug);
+	cancel_delayed_work_sync(&state->delayed_work_enable_hotplug);
 	v4l2_async_unregister_subdev(sd);
 	media_entity_cleanup(&sd->entity);
 	adv76xx_unregister_clients(to_state(sd));
drivers/media/i2c/adv7842.c +1 -1
index dcce8d030e5d..c28bf94a7409 100644
@@ -3599,7 +3599,7 @@ static int adv7842_remove(struct i2c_client *client)
 	struct adv7842_state *state = to_state(sd);
 
 	adv7842_irq_enable(sd, false);
-	cancel_delayed_work(&state->delayed_work_enable_hotplug);
+	cancel_delayed_work_sync(&state->delayed_work_enable_hotplug);
 	v4l2_device_unregister_subdev(sd);
 	media_entity_cleanup(&sd->entity);
 	adv7842_unregister_clients(sd);
drivers/media/pci/saa7164/saa7164-encoder.c +11 -9
index f21c245a54f7..c6aeac4db17f 100644
@@ -1024,7 +1024,7 @@ int saa7164_encoder_register(struct saa7164_port *port)
 		printk(KERN_ERR "%s() failed (errno = %d), NO PCI configuration\n",
 			__func__, result);
 		result = -ENOMEM;
-		goto failed;
+		goto fail_pci;
 	}
 
 	/* Establish encoder defaults here */
@@ -1078,7 +1078,7 @@ int saa7164_encoder_register(struct saa7164_port *port)
 			  100000, ENCODER_DEF_BITRATE);
 	if (hdl->error) {
 		result = hdl->error;
-		goto failed;
+		goto fail_hdl;
 	}
 
 	port->std = V4L2_STD_NTSC_M;
@@ -1096,7 +1096,7 @@ int saa7164_encoder_register(struct saa7164_port *port)
 		printk(KERN_INFO "%s: can't allocate mpeg device\n",
 			dev->name);
 		result = -ENOMEM;
-		goto failed;
+		goto fail_hdl;
 	}
 
 	port->v4l_device->ctrl_handler = hdl;
@@ -1107,10 +1107,7 @@ int saa7164_encoder_register(struct saa7164_port *port)
 	if (result < 0) {
 		printk(KERN_INFO "%s: can't register mpeg device\n",
 			dev->name);
-		/* TODO: We're going to leak here if we don't dealloc
-		 The buffers above. The unreg function can't deal wit it.
-		*/
-		goto failed;
+		goto fail_reg;
 	}
 
 	printk(KERN_INFO "%s: registered device video%d [mpeg]\n",
@@ -1132,9 +1129,14 @@ int saa7164_encoder_register(struct saa7164_port *port)
 
 	saa7164_api_set_encoder(port);
 	saa7164_api_get_encoder(port);
+	return 0;
 
-	result = 0;
-failed:
+fail_reg:
+	video_device_release(port->v4l_device);
+	port->v4l_device = NULL;
+fail_hdl:
+	v4l2_ctrl_handler_free(hdl);
+fail_pci:
 	return result;
 }
 
drivers/media/platform/vivid/vivid-core.c +3 -3
index 5f316a5e38db..6754e5fcc4c4 100644
@@ -186,13 +186,13 @@ static const u8 vivid_hdmi_edid[256] = {
 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x7b,
 
-	0x02, 0x03, 0x3f, 0xf0, 0x51, 0x61, 0x60, 0x5f,
+	0x02, 0x03, 0x3f, 0xf1, 0x51, 0x61, 0x60, 0x5f,
 	0x5e, 0x5d, 0x10, 0x1f, 0x04, 0x13, 0x22, 0x21,
 	0x20, 0x05, 0x14, 0x02, 0x11, 0x01, 0x23, 0x09,
 	0x07, 0x07, 0x83, 0x01, 0x00, 0x00, 0x6d, 0x03,
 	0x0c, 0x00, 0x10, 0x00, 0x00, 0x3c, 0x21, 0x00,
 	0x60, 0x01, 0x02, 0x03, 0x67, 0xd8, 0x5d, 0xc4,
-	0x01, 0x78, 0x00, 0x00, 0xe2, 0x00, 0xea, 0xe3,
+	0x01, 0x78, 0x00, 0x00, 0xe2, 0x00, 0xca, 0xe3,
 	0x05, 0x00, 0x00, 0xe3, 0x06, 0x01, 0x00, 0x4d,
 	0xd0, 0x00, 0xa0, 0xf0, 0x70, 0x3e, 0x80, 0x30,
 	0x20, 0x35, 0x00, 0xc0, 0x1c, 0x32, 0x00, 0x00,
@@ -201,7 +201,7 @@ static const u8 vivid_hdmi_edid[256] = {
 	0x00, 0x00, 0x1a, 0x1a, 0x1d, 0x00, 0x80, 0x51,
 	0xd0, 0x1c, 0x20, 0x40, 0x80, 0x35, 0x00, 0xc0,
 	0x1c, 0x32, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63,
+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82,
 };
 
 static int vidioc_querycap(struct file *file, void  *priv,
drivers/media/platform/vivid/vivid-vid-out.c +1 -1
index 3e7a26d15074..4629679a0f3c 100644
@@ -1010,7 +1010,7 @@ int vivid_vid_out_s_fbuf(struct file *file, void *fh,
 		return -EINVAL;
 	}
 	dev->fbuf_out_flags &= ~(chroma_flags | alpha_flags);
-	dev->fbuf_out_flags = a->flags & (chroma_flags | alpha_flags);
+	dev->fbuf_out_flags |= a->flags & (chroma_flags | alpha_flags);
 	return 0;
 }
 
drivers/media/rc/ite-cir.c +7 -1
index 65e104c7ddfc..c7eea16225e7 100644
@@ -285,8 +285,14 @@ static irqreturn_t ite_cir_isr(int irq, void *data)
 	/* read the interrupt flags */
 	iflags = dev->params.get_irq_causes(dev);
 
+	/* Check for RX overflow */
+	if (iflags & ITE_IRQ_RX_FIFO_OVERRUN) {
+		dev_warn(&dev->rdev->dev, "receive overflow\n");
+		ir_raw_event_reset(dev->rdev);
+	}
+
 	/* check for the receive interrupt */
-	if (iflags & (ITE_IRQ_RX_FIFO | ITE_IRQ_RX_FIFO_OVERRUN)) {
+	if (iflags & ITE_IRQ_RX_FIFO) {
 		/* read the FIFO bytes */
 		rx_bytes =
 			dev->params.get_rx_bytes(dev, rx_buf,
drivers/media/tuners/m88rs6000t.c +3 -3
index 9f3e0fd4cad9..d4443f9c9fa3 100644
@@ -534,7 +534,7 @@ static int m88rs6000t_get_rf_strength(struct dvb_frontend *fe, u16 *strength)
 	PGA2_cri = PGA2_GC >> 2;
 	PGA2_crf = PGA2_GC & 0x03;
 
-	for (i = 0; i <= RF_GC; i++)
+	for (i = 0; i <= RF_GC && i < ARRAY_SIZE(RFGS); i++)
 		RFG += RFGS[i];
 
 	if (RF_GC == 0)
@@ -546,12 +546,12 @@ static int m88rs6000t_get_rf_strength(struct dvb_frontend *fe, u16 *strength)
 	if (RF_GC == 3)
 		RFG += 100;
 
-	for (i = 0; i <= IF_GC; i++)
+	for (i = 0; i <= IF_GC && i < ARRAY_SIZE(IFGS); i++)
 		IFG += IFGS[i];
 
 	TIAG = TIA_GC * TIA_GS;
 
-	for (i = 0; i <= BB_GC; i++)
+	for (i = 0; i <= BB_GC && i < ARRAY_SIZE(BBGS); i++)
 		BBG += BBGS[i];
 
 	PGA2G = PGA2_cri * PGA2_cri_GS + PGA2_crf * PGA2_crf_GS;
drivers/media/usb/dvb-usb/dvb-usb-init.c +16 -4
index b3413404f91a..690c1e06fbfa 100644
@@ -82,11 +82,17 @@ static int dvb_usb_adapter_init(struct dvb_usb_device *d, short *adapter_nrs)
 			}
 		}
 
-		if ((ret = dvb_usb_adapter_stream_init(adap)) ||
-			(ret = dvb_usb_adapter_dvb_init(adap, adapter_nrs)) ||
-			(ret = dvb_usb_adapter_frontend_init(adap))) {
+		ret = dvb_usb_adapter_stream_init(adap);
+		if (ret)
 			return ret;
-		}
+
+		ret = dvb_usb_adapter_dvb_init(adap, adapter_nrs);
+		if (ret)
+			goto dvb_init_err;
+
+		ret = dvb_usb_adapter_frontend_init(adap);
+		if (ret)
+			goto frontend_init_err;
 
 		/* use exclusive FE lock if there is multiple shared FEs */
 		if (adap->fe_adap[1].fe)
@@ -106,6 +112,12 @@ static int dvb_usb_adapter_init(struct dvb_usb_device *d, short *adapter_nrs)
 	}
 
 	return 0;
+
+frontend_init_err:
+	dvb_usb_adapter_dvb_exit(adap);
+dvb_init_err:
+	dvb_usb_adapter_stream_exit(adap);
+	return ret;
 }
 
 static int dvb_usb_adapter_exit(struct dvb_usb_device *d)
drivers/media/usb/dvb-usb/dvb-usb.h +1 -1
index 6c7c4637530f..21ab517417fc 100644
@@ -474,7 +474,7 @@ extern int __must_check
 dvb_usb_generic_write(struct dvb_usb_device *, u8 *, u16);
 
 /* commonly used remote control parsing */
-extern int dvb_usb_nec_rc_key_to_event(struct dvb_usb_device *, u8[], u32 *, int *);
+extern int dvb_usb_nec_rc_key_to_event(struct dvb_usb_device *, u8[5], u32 *, int *);
 
 /* commonly used firmware download types and function */
 struct hexline {
drivers/media/usb/em28xx/em28xx-dvb.c +1 -0
index 29cdaaf1ed90..3667373f14d2 100644
@@ -2056,6 +2056,7 @@ static int em28xx_dvb_init(struct em28xx *dev)
 	return result;
 
 out_free:
+	em28xx_uninit_usb_xfer(dev, EM28XX_DIGITAL_MODE);
 	kfree(dvb);
 	dev->dvb = NULL;
 	goto ret;
drivers/media/usb/gspca/gspca.c +2 -0
index 66543518938b..a384d5d83026 100644
@@ -2141,6 +2141,8 @@ int gspca_dev_probe2(struct usb_interface *intf,
 #endif
 	v4l2_ctrl_handler_free(gspca_dev->vdev.ctrl_handler);
 	v4l2_device_unregister(&gspca_dev->v4l2_dev);
+	if (sd_desc->probe_error)
+		sd_desc->probe_error(gspca_dev);
 	kfree(gspca_dev->usb_buf);
 	kfree(gspca_dev);
 	return ret;
drivers/media/usb/gspca/gspca.h +1 -0
index 9e0cf711642b..2550af00d6fb 100644
@@ -102,6 +102,7 @@ struct sd_desc {
 	cam_cf_op config;	/* called on probe */
 	cam_op init;		/* called on probe and resume */
 	cam_op init_controls;	/* called on probe */
+	cam_v_op probe_error;	/* called if probe failed, do cleanup here */
 	cam_op start;		/* called on stream on after URBs creation */
 	cam_pkt_op pkt_scan;
 /* optional operations */
drivers/media/usb/gspca/sq905.c +1 -1
index f1da34a10ce8..ec03d18e057f 100644
@@ -167,7 +167,7 @@ static int
 sq905_read_data(struct gspca_dev *gspca_dev, u8 *data, int size, int need_lock)
 {
 	int ret;
-	int act_len;
+	int act_len = 0;
 
 	gspca_dev->usb_buf[0] = '\0';
 	if (need_lock)
drivers/media/usb/gspca/stv06xx/stv06xx.c +9 -0
index 9caa5ef9d9e0..b14f30a8f3bd 100644
@@ -534,12 +534,21 @@ static int sd_int_pkt_scan(struct gspca_dev *gspca_dev,
 static int stv06xx_config(struct gspca_dev *gspca_dev,
 			  const struct usb_device_id *id);
 
+static void stv06xx_probe_error(struct gspca_dev *gspca_dev)
+{
+	struct sd *sd = (struct sd *)gspca_dev;
+
+	kfree(sd->sensor_priv);
+	sd->sensor_priv = NULL;
+}
+
 /* sub-driver description */
 static const struct sd_desc sd_desc = {
 	.name = MODULE_NAME,
 	.config = stv06xx_config,
 	.init = stv06xx_init,
 	.init_controls = stv06xx_init_controls,
+	.probe_error = stv06xx_probe_error,
 	.start = stv06xx_start,
 	.stopN = stv06xx_stopN,
 	.pkt_scan = stv06xx_pkt_scan,
drivers/memory/omap-gpmc.c +5 -2
index cc0da96d07ca..4eb1b8ebfd22 100644
@@ -1028,8 +1028,8 @@ EXPORT_SYMBOL(gpmc_cs_request);
 
 void gpmc_cs_free(int cs)
 {
-	struct gpmc_cs_data *gpmc = &gpmc_cs[cs];
-	struct resource *res = &gpmc->mem;
+	struct gpmc_cs_data *gpmc;
+	struct resource *res;
 
 	spin_lock(&gpmc_mem_lock);
 	if (cs >= gpmc_cs_num || cs < 0 || !gpmc_cs_reserved(cs)) {
@@ -1038,6 +1038,9 @@ void gpmc_cs_free(int cs)
 		spin_unlock(&gpmc_mem_lock);
 		return;
 	}
+	gpmc = &gpmc_cs[cs];
+	res = &gpmc->mem;
+
 	gpmc_cs_disable_mem(cs);
 	if (res->flags)
 		release_resource(res);
drivers/mfd/stm32-timers.c +6 -1
index a6675a449409..e280e0ff2dcc 100644
@@ -20,13 +20,18 @@ static const struct regmap_config stm32_timers_regmap_cfg = {
 
 static void stm32_timers_get_arr_size(struct stm32_timers *ddata)
 {
+	u32 arr;
+
+	/* Backup ARR to restore it after getting the maximum value */
+	regmap_read(ddata->regmap, TIM_ARR, &arr);
+
 	/*
 	 * Only the available bits will be written so when readback
 	 * we get the maximum value of auto reload register
 	 */
 	regmap_write(ddata->regmap, TIM_ARR, ~0L);
 	regmap_read(ddata->regmap, TIM_ARR, &ddata->max_arr);
-	regmap_write(ddata->regmap, TIM_ARR, 0x0);
+	regmap_write(ddata->regmap, TIM_ARR, arr);
 }
 
 static int stm32_timers_probe(struct platform_device *pdev)
drivers/misc/kgdbts.c +13 -13
index 05824ff6b916..dc45a4b9a594 100644
@@ -107,19 +107,19 @@
 
 #include <asm/sections.h>
 
-#define v1printk(a...) do { \
-	if (verbose) \
-		printk(KERN_INFO a); \
-	} while (0)
-#define v2printk(a...) do { \
-	if (verbose > 1) \
-		printk(KERN_INFO a); \
-		touch_nmi_watchdog();	\
-	} while (0)
-#define eprintk(a...) do { \
-		printk(KERN_ERR a); \
-		WARN_ON(1); \
-	} while (0)
+#define v1printk(a...) do {		\
+	if (verbose)			\
+		printk(KERN_INFO a);	\
+} while (0)
+#define v2printk(a...) do {		\
+	if (verbose > 1)		\
+		printk(KERN_INFO a);	\
+	touch_nmi_watchdog();		\
+} while (0)
+#define eprintk(a...) do {		\
+	printk(KERN_ERR a);		\
+	WARN_ON(1);			\
+} while (0)
 #define MAX_CONFIG_LEN		40
 
 static struct kgdb_io kgdbts_io_ops;
drivers/misc/lis3lv02d/lis3lv02d.c +16 -5
index 8d53609861d8..13e5b605913c 100644
@@ -221,7 +221,7 @@ static int lis3_3dc_rates[16] = {0, 1, 10, 25, 50, 100, 200, 400, 1600, 5000};
 static int lis3_3dlh_rates[4] = {50, 100, 400, 1000};
 
 /* ODR is Output Data Rate */
-static int lis3lv02d_get_odr(struct lis3lv02d *lis3)
+static int lis3lv02d_get_odr_index(struct lis3lv02d *lis3)
 {
 	u8 ctrl;
 	int shift;
@@ -229,15 +229,23 @@ static int lis3lv02d_get_odr(struct lis3lv02d *lis3)
 	lis3->read(lis3, CTRL_REG1, &ctrl);
 	ctrl &= lis3->odr_mask;
 	shift = ffs(lis3->odr_mask) - 1;
-	return lis3->odrs[(ctrl >> shift)];
+	return (ctrl >> shift);
 }
 
 static int lis3lv02d_get_pwron_wait(struct lis3lv02d *lis3)
 {
-	int div = lis3lv02d_get_odr(lis3);
+	int odr_idx = lis3lv02d_get_odr_index(lis3);
+	int div = lis3->odrs[odr_idx];
 
-	if (WARN_ONCE(div == 0, "device returned spurious data"))
+	if (div == 0) {
+		if (odr_idx == 0) {
+			/* Power-down mode, not sampling no need to sleep */
+			return 0;
+		}
+
+		dev_err(&lis3->pdev->dev, "Error unknown odrs-index: %d\n", odr_idx);
 		return -ENXIO;
+	}
 
 	/* LIS3 power on delay is quite long */
 	msleep(lis3->pwron_delay / div);
@@ -820,9 +828,12 @@ static ssize_t lis3lv02d_rate_show(struct device *dev,
 			struct device_attribute *attr, char *buf)
 {
 	struct lis3lv02d *lis3 = dev_get_drvdata(dev);
+	int odr_idx;
 
 	lis3lv02d_sysfs_poweron(lis3);
-	return sprintf(buf, "%d\n", lis3lv02d_get_odr(lis3));
+
+	odr_idx = lis3lv02d_get_odr_index(lis3);
+	return sprintf(buf, "%d\n", lis3->odrs[odr_idx]);
 }
 
 static ssize_t lis3lv02d_rate_set(struct device *dev,
drivers/misc/vmw_vmci/vmci_doorbell.c +1 -1
index f005206d9033..4581210349d2 100644
@@ -334,7 +334,7 @@ int vmci_dbell_host_context_notify(u32 src_cid, struct vmci_handle handle)
 bool vmci_dbell_register_notification_bitmap(u32 bitmap_ppn)
 {
 	int result;
-	struct vmci_notify_bm_set_msg bitmap_set_msg;
+	struct vmci_notify_bm_set_msg bitmap_set_msg = { };
 
 	bitmap_set_msg.hdr.dst = vmci_make_handle(VMCI_HYPERVISOR_CONTEXT_ID,
 						  VMCI_SET_NOTIFY_BITMAP);
drivers/misc/vmw_vmci/vmci_guest.c +1 -1
index dad5abee656e..dd20ea4ad0c4 100644
@@ -169,7 +169,7 @@ static int vmci_check_host_caps(struct pci_dev *pdev)
 				VMCI_UTIL_NUM_RESOURCES * sizeof(u32);
 	struct vmci_datagram *check_msg;
 
-	check_msg = kmalloc(msg_size, GFP_KERNEL);
+	check_msg = kzalloc(msg_size, GFP_KERNEL);
 	if (!check_msg) {
 		dev_err(&pdev->dev, "%s: Insufficient memory\n", __func__);
 		return -ENOMEM;
drivers/mmc/core/block.c +12 -0
index cbb72b460755..36ea671c912e 100644
@@ -598,6 +598,18 @@ static int __mmc_blk_ioctl_cmd(struct mmc_card *card, struct mmc_blk_data *md,
 		main_md->part_curr = value & EXT_CSD_PART_CONFIG_ACC_MASK;
 	}
 
+	/*
+	 * Make sure to update CACHE_CTRL in case it was changed. The cache
+	 * will get turned back on if the card is re-initialized, e.g.
+	 * suspend/resume or hw reset in recovery.
+	 */
+	if ((MMC_EXTRACT_INDEX_FROM_ARG(cmd.arg) == EXT_CSD_CACHE_CTRL) &&
+	    (cmd.opcode == MMC_SWITCH)) {
+		u8 value = MMC_EXTRACT_VALUE_FROM_ARG(cmd.arg) & 1;
+
+		card->ext_csd.cache_ctrl = value;
+	}
+
 	/*
 	 * According to the SD specs, some commands require a delay after
 	 * issuing the command.
drivers/mmc/core/core.c +1 -1
index 29bfff2ed4d3..fa2c75c19e51 100644
@@ -1506,7 +1506,7 @@ int mmc_set_uhs_voltage(struct mmc_host *host, u32 ocr)
 
 	err = mmc_wait_for_cmd(host, &cmd, 0);
 	if (err)
-		return err;
+		goto power_cycle;
 
 	if (!mmc_host_is_spi(host) && (cmd.resp[0] & R1_ERROR))
 		return -EIO;
drivers/mmc/core/sd.c +6 -0
index 33975ec14b7e..188df3d02d14 100644
@@ -138,6 +138,9 @@ static int mmc_decode_csd(struct mmc_card *card)
 			csd->erase_size = UNSTUFF_BITS(resp, 39, 7) + 1;
 			csd->erase_size <<= csd->write_blkbits - 9;
 		}
+
+		if (UNSTUFF_BITS(resp, 13, 1))
+			mmc_card_set_readonly(card);
 		break;
 	case 1:
 		/*
@@ -172,6 +175,9 @@ static int mmc_decode_csd(struct mmc_card *card)
 		csd->write_blkbits = 9;
 		csd->write_partial = 0;
 		csd->erase_size = 1;
+
+		if (UNSTUFF_BITS(resp, 13, 1))
+			mmc_card_set_readonly(card);
 		break;
 	default:
 		pr_err("%s: unrecognised CSD structure version %d\n",
drivers/mtd/mtdchar.c +4 -4
index 18dd333f2d40..0a109277b174 100644
@@ -689,16 +689,12 @@ static int mtdchar_ioctl(struct file *file, u_int cmd, u_long arg)
 	case MEMGETINFO:
 	case MEMREADOOB:
 	case MEMREADOOB64:
-	case MEMLOCK:
-	case MEMUNLOCK:
 	case MEMISLOCKED:
 	case MEMGETOOBSEL:
 	case MEMGETBADBLOCK:
-	case MEMSETBADBLOCK:
 	case OTPSELECT:
 	case OTPGETREGIONCOUNT:
 	case OTPGETREGIONINFO:
-	case OTPLOCK:
 	case ECCGETLAYOUT:
 	case ECCGETSTATS:
 	case MTDFILEMODE:
@@ -709,9 +705,13 @@ static int mtdchar_ioctl(struct file *file, u_int cmd, u_long arg)
 	/* "dangerous" commands */
 	case MEMERASE:
 	case MEMERASE64:
+	case MEMLOCK:
+	case MEMUNLOCK:
+	case MEMSETBADBLOCK:
 	case MEMWRITEOOB:
 	case MEMWRITEOOB64:
 	case MEMWRITE:
+	case OTPLOCK:
 		if (!(file->f_mode & FMODE_WRITE))
 			return -EPERM;
 		break;
drivers/mtd/nand/gpmi-nand/gpmi-nand.c +1 -1
index c7d0d2eed6c2..5a694bdc4f75 100644
@@ -2022,7 +2022,7 @@ static int gpmi_nand_init(struct gpmi_nand_data *this)
 	this->bch_geometry.auxiliary_size = 128;
 	ret = gpmi_alloc_dma_buffer(this);
 	if (ret)
-		goto err_out;
+		return ret;
 
 	ret = nand_scan_ident(mtd, GPMI_IS_MX6(this) ? 2 : 1, NULL);
 	if (ret)
drivers/net/ethernet/cavium/liquidio/cn23xx_pf_regs.h +1 -1
index e6d4ad99cc38..3f1c189646f4 100644
@@ -521,7 +521,7 @@
 #define    CN23XX_BAR1_INDEX_OFFSET                3
 
 #define    CN23XX_PEM_BAR1_INDEX_REG(port, idx)		\
-		(CN23XX_PEM_BAR1_INDEX_START + ((port) << CN23XX_PEM_OFFSET) + \
+		(CN23XX_PEM_BAR1_INDEX_START + (((u64)port) << CN23XX_PEM_OFFSET) + \
 		 ((idx) << CN23XX_BAR1_INDEX_OFFSET))
 
 /*############################ DPI #########################*/
drivers/net/ethernet/cavium/thunder/nicvf_queues.c +1 -1
index 7ad1d56d8389..d44d9d0e9d06 100644
@@ -775,7 +775,7 @@ static void nicvf_rcv_queue_config(struct nicvf *nic, struct queue_set *qs,
 	mbx.rq.msg = NIC_MBOX_MSG_RQ_CFG;
 	mbx.rq.qs_num = qs->vnic_id;
 	mbx.rq.rq_num = qidx;
-	mbx.rq.cfg = (rq->caching << 26) | (rq->cq_qs << 19) |
+	mbx.rq.cfg = ((u64)rq->caching << 26) | (rq->cq_qs << 19) |
 			  (rq->cq_idx << 16) | (rq->cont_rbdr_qs << 9) |
 			  (rq->cont_qs_rbdr_idx << 8) |
 			  (rq->start_rbdr_qs << 1) | (rq->start_qs_rbdr_idx);
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c +1 -1
index 8bd90ad15607..812d594b6b57 100644
@@ -2446,7 +2446,7 @@ do { \
 	seq_printf(seq, "%-12s", s); \
 	for (i = 0; i < n; ++i) \
 		seq_printf(seq, " %16" fmt_spec, v); \
-		seq_putc(seq, '\n'); \
+	seq_putc(seq, '\n'); \
 } while (0)
 #define S(s, v) S3("s", s, v)
 #define T3(fmt_spec, s, v) S3(fmt_spec, s, tx[i].v)
drivers/net/ethernet/mediatek/mtk_eth_soc.c +1 -1
index a52909db67f6..dbd16dd5aa04 100644
@@ -1041,7 +1041,7 @@ static int mtk_poll_rx(struct napi_struct *napi, int budget,
 		skb->protocol = eth_type_trans(skb, netdev);
 
 		if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX &&
-		    RX_DMA_VID(trxd.rxd3))
+		    (trxd.rxd2 & RX_DMA_VTAG))
 			__vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
 					       RX_DMA_VID(trxd.rxd3));
 		skb_record_rx_queue(skb, 0);
drivers/net/ethernet/mediatek/mtk_eth_soc.h +1 -0
index 3d3c24a28112..ef82a30b2a0d 100644
@@ -283,6 +283,7 @@
 #define RX_DMA_DONE		BIT(31)
 #define RX_DMA_PLEN0(_x)	(((_x) & 0x3fff) << 16)
 #define RX_DMA_GET_PLEN0(_x)	(((_x) >> 16) & 0x3fff)
+#define RX_DMA_VTAG		BIT(15)
 
 /* QDMA descriptor rxd3 */
 #define RX_DMA_VID(_x)		((_x) & 0xfff)
drivers/net/ethernet/qualcomm/emac/emac-mac.c +3 -1
index 44f797ab5d15..57f509a6c449 100644
@@ -1458,6 +1458,7 @@ int emac_mac_tx_buf_send(struct emac_adapter *adpt, struct emac_tx_queue *tx_q,
 {
 	struct emac_tpd tpd;
 	u32 prod_idx;
+	int len;
 
 	memset(&tpd, 0, sizeof(tpd));
 
@@ -1477,9 +1478,10 @@ int emac_mac_tx_buf_send(struct emac_adapter *adpt, struct emac_tx_queue *tx_q,
 	if (skb_network_offset(skb) != ETH_HLEN)
 		TPD_TYP_SET(&tpd, 1);
 
+	len = skb->len;
 	emac_tx_fill_tpd(adpt, tx_q, skb, &tpd);
 
-	netdev_sent_queue(adpt->netdev, skb->len);
+	netdev_sent_queue(adpt->netdev, len);
 
 	/* Make sure the are enough free descriptors to hold one
 	 * maximum-sized SKB.  We need one desc for each fragment,
drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c +2 -0
index 1924788d28da..f4ff43a1b5ba 100644
@@ -363,6 +363,8 @@ static int ipq806x_gmac_probe(struct platform_device *pdev)
 	plat_dat->bsp_priv = gmac;
 	plat_dat->fix_mac_speed = ipq806x_gmac_fix_mac_speed;
 	plat_dat->multicast_filter_bins = 0;
+	plat_dat->tx_fifo_size = 8192;
+	plat_dat->rx_fifo_size = 8192;
 
 	err = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
 	if (err)
drivers/net/ethernet/ti/davinci_emac.c +2 -2
index 47a096134043..32e7b87baaa7 100644
@@ -183,11 +183,11 @@ static const char emac_version_string[] = "TI DaVinci EMAC Linux v6.1";
 /* EMAC mac_status register */
 #define EMAC_MACSTATUS_TXERRCODE_MASK	(0xF00000)
 #define EMAC_MACSTATUS_TXERRCODE_SHIFT	(20)
-#define EMAC_MACSTATUS_TXERRCH_MASK	(0x7)
+#define EMAC_MACSTATUS_TXERRCH_MASK	(0x70000)
 #define EMAC_MACSTATUS_TXERRCH_SHIFT	(16)
 #define EMAC_MACSTATUS_RXERRCODE_MASK	(0xF000)
 #define EMAC_MACSTATUS_RXERRCODE_SHIFT	(12)
-#define EMAC_MACSTATUS_RXERRCH_MASK	(0x7)
+#define EMAC_MACSTATUS_RXERRCH_MASK	(0x700)
 #define EMAC_MACSTATUS_RXERRCH_SHIFT	(8)
 
 /* EMAC RX register masks */
drivers/net/fddi/Kconfig +9 -6
index 3a424c864f4d..ecebeeb9b2a0 100644
@@ -28,17 +28,20 @@ config DEFXX
 
 config DEFXX_MMIO
 	bool
-	prompt "Use MMIO instead of PIO" if PCI || EISA
+	prompt "Use MMIO instead of IOP" if PCI || EISA
 	depends on DEFXX
-	default n if PCI || EISA
+	default n if EISA
 	default y
 	---help---
 	  This instructs the driver to use EISA or PCI memory-mapped I/O
-	  (MMIO) as appropriate instead of programmed I/O ports (PIO).
+	  (MMIO) as appropriate instead of programmed I/O ports (IOP).
 	  Enabling this gives an improvement in processing time in parts
-	  of the driver, but it may cause problems with EISA (DEFEA)
-	  adapters.  TURBOchannel does not have the concept of I/O ports,
-	  so MMIO is always used for these (DEFTA) adapters.
+	  of the driver, but it requires a memory window to be configured
+	  for EISA (DEFEA) adapters that may not always be available.
+	  Conversely some PCIe host bridges do not support IOP, so MMIO
+	  may be required to access PCI (DEFPA) adapters on downstream PCI
+	  buses with some systems.  TURBOchannel does not have the concept
+	  of I/O ports, so MMIO is always used for these (DEFTA) adapters.
 
 	  If unsure, say N.
 
drivers/net/fddi/defxx.c +30 -17

78 lines not on this page · raw message

drivers/net/usb/ax88179_178a.c +2 -2
index e7193a541244..8a7f2fdc6939 100644
@@ -307,12 +307,12 @@ static int ax88179_read_cmd(struct usbnet *dev, u8 cmd, u16 value, u16 index,
 	int ret;
 
 	if (2 == size) {
-		u16 buf;
+		u16 buf = 0;
 		ret = __ax88179_read_cmd(dev, cmd, value, index, size, &buf, 0);
 		le16_to_cpus(&buf);
 		*((u16 *)data) = buf;
 	} else if (4 == size) {
-		u32 buf;
+		u32 buf = 0;
 		ret = __ax88179_read_cmd(dev, cmd, value, index, size, &buf, 0);
 		le32_to_cpus(&buf);
 		*((u32 *)data) = buf;
drivers/net/wan/lapbether.c +25 -7
index fad5fc8b9edb..3ec922bed2d8 100644
@@ -56,6 +56,8 @@ struct lapbethdev {
 	struct list_head	node;
 	struct net_device	*ethdev;	/* link to ethernet device */
 	struct net_device	*axdev;		/* lapbeth device (lapb#) */
+	bool			up;
+	spinlock_t		up_lock;	/* Protects "up" */
 };
 
 static LIST_HEAD(lapbeth_devices);
@@ -103,8 +105,9 @@ static int lapbeth_rcv(struct sk_buff *skb, struct net_device *dev, struct packe
 	rcu_read_lock();
 	lapbeth = lapbeth_get_x25_dev(dev);
 	if (!lapbeth)
-		goto drop_unlock;
-	if (!netif_running(lapbeth->axdev))
+		goto drop_unlock_rcu;
+	spin_lock_bh(&lapbeth->up_lock);
+	if (!lapbeth->up)
 		goto drop_unlock;
 
 	len = skb->data[0] + skb->data[1] * 256;
@@ -119,11 +122,14 @@ static int lapbeth_rcv(struct sk_buff *skb, struct net_device *dev, struct packe
 		goto drop_unlock;
 	}
 out:
+	spin_unlock_bh(&lapbeth->up_lock);
 	rcu_read_unlock();
 	return 0;
 drop_unlock:
 	kfree_skb(skb);
 	goto out;
+drop_unlock_rcu:
+	rcu_read_unlock();
 drop:
 	kfree_skb(skb);
 	return 0;
@@ -151,13 +157,11 @@ static int lapbeth_data_indication(struct net_device *dev, struct sk_buff *skb)
 static netdev_tx_t lapbeth_xmit(struct sk_buff *skb,
 				      struct net_device *dev)
 {
+	struct lapbethdev *lapbeth = netdev_priv(dev);
 	int err;
 
-	/*
-	 * Just to be *really* sure not to send anything if the interface
-	 * is down, the ethernet device may have gone.
-	 */
-	if (!netif_running(dev))
+	spin_lock_bh(&lapbeth->up_lock);
+	if (!lapbeth->up)
 		goto drop;
 
 	/* There should be a pseudo header of 1 byte added by upper layers.
@@ -188,6 +192,7 @@ static netdev_tx_t lapbeth_xmit(struct sk_buff *skb,
 		goto drop;
 	}
 out:
+	spin_unlock_bh(&lapbeth->up_lock);
 	return NETDEV_TX_OK;
 drop:
 	kfree_skb(skb);
@@ -279,6 +284,7 @@ static const struct lapb_register_struct lapbeth_callbacks = {
  */
 static int lapbeth_open(struct net_device *dev)
 {
+	struct lapbethdev *lapbeth = netdev_priv(dev);
 	int err;
 
 	if ((err = lapb_register(dev, &lapbeth_callbacks)) != LAPB_OK) {
@@ -286,13 +292,22 @@ static int lapbeth_open(struct net_device *dev)
 		return -ENODEV;
 	}
 
+	spin_lock_bh(&lapbeth->up_lock);
+	lapbeth->up = true;
+	spin_unlock_bh(&lapbeth->up_lock);
+
 	return 0;
 }
 
 static int lapbeth_close(struct net_device *dev)
 {
+	struct lapbethdev *lapbeth = netdev_priv(dev);
 	int err;
 
+	spin_lock_bh(&lapbeth->up_lock);
+	lapbeth->up = false;
+	spin_unlock_bh(&lapbeth->up_lock);
+
 	if ((err = lapb_unregister(dev)) != LAPB_OK)
 		pr_err("lapb_unregister error: %d\n", err);
 
@@ -350,6 +365,9 @@ static int lapbeth_new_device(struct net_device *dev)
 	dev_hold(dev);
 	lapbeth->ethdev = dev;
 
+	lapbeth->up = false;
+	spin_lock_init(&lapbeth->up_lock);
+
 	rc = -EIO;
 	if (register_netdevice(ndev))
 		goto fail;
drivers/net/wimax/i2400m/op-rfkill.c +1 -1
index dc6fe93ce71f..e8473047b2d1 100644
@@ -101,7 +101,7 @@ int i2400m_op_rfkill_sw_toggle(struct wimax_dev *wimax_dev,
 	if (cmd == NULL)
 		goto error_alloc;
 	cmd->hdr.type = cpu_to_le16(I2400M_MT_CMD_RF_CONTROL);
-	cmd->hdr.length = sizeof(cmd->sw_rf);
+	cmd->hdr.length = cpu_to_le16(sizeof(cmd->sw_rf));
 	cmd->hdr.version = cpu_to_le16(I2400M_L3L4_VERSION);
 	cmd->sw_rf.hdr.type = cpu_to_le16(I2400M_TLV_RF_OPERATION);
 	cmd->sw_rf.hdr.length = cpu_to_le16(sizeof(cmd->sw_rf.status));
drivers/net/wireless/ath/ath9k/htc_drv_init.c +1 -1
index 66ef5cf16450..88e3b4a4de31 100644
@@ -246,7 +246,7 @@ static unsigned int ath9k_regread(void *hw_priv, u32 reg_offset)
 	if (unlikely(r)) {
 		ath_dbg(common, WMI, "REGISTER READ FAILED: (0x%04x, %d)\n",
 			reg_offset, r);
-		return -EIO;
+		return -1;
 	}
 
 	return be32_to_cpu(val);
drivers/net/wireless/ath/ath9k/hw.c +1 -1
index 406b52f114f0..933d4f49d6b0 100644
@@ -285,7 +285,7 @@ static bool ath9k_hw_read_revisions(struct ath_hw *ah)
 
 	srev = REG_READ(ah, AR_SREV);
 
-	if (srev == -EIO) {
+	if (srev == -1) {
 		ath_err(ath9k_hw_common(ah),
 			"Failed to read SREV register");
 		return false;
drivers/net/wireless/intel/ipw2x00/libipw_wx.c +4 -2
index dd29f46d086b..028b37ba9425 100644
@@ -649,8 +649,10 @@ int libipw_wx_set_encodeext(struct libipw_device *ieee,
 	}
 
 	if (ext->alg != IW_ENCODE_ALG_NONE) {
-		memcpy(sec.keys[idx], ext->key, ext->key_len);
-		sec.key_sizes[idx] = ext->key_len;
+		int key_len = clamp_val(ext->key_len, 0, SCM_KEY_LEN);
+
+		memcpy(sec.keys[idx], ext->key, key_len);
+		sec.key_sizes[idx] = key_len;
 		sec.flags |= (1 << idx);
 		if (ext->alg == IW_ENCODE_ALG_WEP) {
 			sec.encode_alg[idx] = SEC_ALG_WEP;
drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c +4 -3
index f37018d72b44..f14e34ee5907 100644
@@ -559,6 +559,7 @@ static int iwl_pcie_gen2_enqueue_hcmd(struct iwl_trans *trans,
 	const u8 *cmddata[IWL_MAX_CMD_TBS_PER_TFD];
 	u16 cmdlen[IWL_MAX_CMD_TBS_PER_TFD];
 	struct iwl_tfh_tfd *tfd = iwl_pcie_get_tfd(trans, txq, txq->write_ptr);
+	unsigned long flags2;
 
 	memset(tfd, 0, sizeof(*tfd));
 
@@ -629,10 +630,10 @@ static int iwl_pcie_gen2_enqueue_hcmd(struct iwl_trans *trans,
 		goto free_dup_buf;
 	}
 
-	spin_lock_bh(&txq->lock);
+	spin_lock_irqsave(&txq->lock, flags2);
 
 	if (iwl_queue_space(txq) < ((cmd->flags & CMD_ASYNC) ? 2 : 1)) {
-		spin_unlock_bh(&txq->lock);
+		spin_unlock_irqrestore(&txq->lock, flags2);
 
 		IWL_ERR(trans, "No space in command queue\n");
 		iwl_op_mode_cmd_queue_full(trans->op_mode);
@@ -773,7 +774,7 @@ static int iwl_pcie_gen2_enqueue_hcmd(struct iwl_trans *trans,
 	spin_unlock_irqrestore(&trans_pcie->reg_lock, flags);
 
 out:
-	spin_unlock_bh(&txq->lock);
+	spin_unlock_irqrestore(&txq->lock, flags2);
 free_dup_buf:
 	if (idx < 0)
 		kfree(dup_buf);
drivers/net/wireless/intel/iwlwifi/pcie/tx.c +4 -3
index e1fb0258c916..a3b0de8b2889 100644
@@ -1473,6 +1473,7 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
 	u32 cmd_pos;
 	const u8 *cmddata[IWL_MAX_CMD_TBS_PER_TFD];
 	u16 cmdlen[IWL_MAX_CMD_TBS_PER_TFD];
+	unsigned long flags2;
 
 	if (WARN(!trans->wide_cmd_header &&
 		 group_id > IWL_ALWAYS_LONG_GROUP,
@@ -1556,10 +1557,10 @@ static int iwl_pcie_enqueue_hcmd(struct iwl_trans *trans,
 		goto free_dup_buf;
 	}
 
-	spin_lock_bh(&txq->lock);
+	spin_lock_irqsave(&txq->lock, flags2);
 
 	if (iwl_queue_space(txq) < ((cmd->flags & CMD_ASYNC) ? 2 : 1)) {
-		spin_unlock_bh(&txq->lock);
[… more lines in the raw message]

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

drivers/net/wireless/marvell/mwl8k.c +1 -0
index a87ccf9ceb67..e39aaee92add 100644

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

drivers/net/wireless/mediatek/mt7601u/eeprom.c +1 -1
index da6faea092d6..80d0f64205f8 100644

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

drivers/net/wireless/realtek/rtlwifi/rtl8821ae/table.c +370 -130

500 lines not on this page · raw message

drivers/net/wireless/wl3501.h +23 -24

47 lines not on this page · raw message

drivers/net/wireless/wl3501_cs.c +29 -25

54 lines not on this page · raw message

drivers/nfc/pn533/pn533.c +3 -0
index c05cb637ba92..e3026e20f169 100644

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

drivers/of/fdt.c +2 -10
index 3f58812d02d9..6337c394bfe3 100644

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

drivers/pci/host/pci-thunder-ecam.c +1 -1
index fc0ca03f280e..ea4d12c76cfe 100644

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

drivers/pci/host/pci-thunder-pem.c +7 -6
index 6e066f8b74df..1b133bf644bd 100644

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

drivers/pci/hotplug/acpiphp_glue.c +1 -0
index f2c1008e0f76..40e936e3a480 100644

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

drivers/pci/pci.c +3 -13
index c847b5554db6..1993e5e28ea7 100644

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

drivers/pci/pci.h +6 -0
index fdb02c1f94bb..9f5215e25df4 100644

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

drivers/pci/probe.c +1 -0
index 55ece07e584a..e716d8bba227 100644

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

drivers/perf/arm_pmu_platform.c +1 -1
index 4428852e1da1..bd5af219ca9b 100644

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

drivers/phy/marvell/Kconfig +2 -2
index 68e321225400..ed4d3904e53f 100644

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

drivers/phy/ti/phy-twl4030-usb.c +1 -1
index c267afb68f07..ea7564392108 100644

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

drivers/pinctrl/samsung/pinctrl-exynos.c +5 -5
index 6925a3d969e2..13d6a50ca96c 100644

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

drivers/platform/x86/pmc_atom.c +2 -26
index 92205b90c25c..d1d5ec3c0f14 100644

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

drivers/platform/x86/thinkpad_acpi.c +22 -9
index 30bfd51c0e58..30bc952ea552 100644

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

drivers/power/supply/bq27xxx_battery.c +27 -24

51 lines not on this page · raw message

drivers/power/supply/generic-adc-battery.c +1 -1
index 371b5ec70087..c5bde3c24c31 100644

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

drivers/power/supply/lp8788-charger.c +1 -1
index b8f7dac7ac3f..6dcabbeccde1 100644

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

drivers/power/supply/pm2301_charger.c +1 -1
index 78561b6884fc..9ef218d76aa9 100644

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

drivers/power/supply/s3c_adc_battery.c +1 -1
index 0ffe5cd3abf6..06b412c43aa7 100644

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

drivers/power/supply/tps65090-charger.c +1 -1
index 1b4b5e09538e..297bf58f0d4f 100644

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

drivers/power/supply/tps65217_charger.c +1 -1
index 1f5234098aaf..7295c1b13f93 100644

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

drivers/rpmsg/qcom_glink_native.c +1 -0
index 7802663efe33..67711537d3ff 100644

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

drivers/rtc/rtc-ds1307.c +10 -2
index 8d45d93b1db6..19749ec87b24 100644

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

drivers/scsi/device_handler/scsi_dh_alua.c +3 -2
index ba68454109ba..2cf5579a9ad9 100644

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

drivers/scsi/jazz_esp.c +3 -1
index 9aaa74e349cc..65f0dbfc3a45 100644

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

drivers/scsi/libfc/fc_lport.c +1 -1
index ca7967e390f1..5c0aa2c5fd55 100644

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

drivers/scsi/lpfc/lpfc_crtn.h +0 -3
index 7e300734b345..697e87a25f38 100644

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

drivers/scsi/lpfc/lpfc_hw4.h +1 -173

174 lines not on this page · raw message

drivers/scsi/lpfc/lpfc_init.c +2 -101

103 lines not on this page · raw message

drivers/scsi/lpfc/lpfc_mbox.c +0 -36
index 81fb92967b11..afad9cc18d88 100644

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

drivers/scsi/lpfc/lpfc_nportdisc.c +7 -4
index 96411754aa43..da6685700b04 100644

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

drivers/scsi/lpfc/lpfc_nvmet.c +0 -1
index eacdcb931bda..fa0d0d15e82c 100644

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

drivers/scsi/lpfc/lpfc_sli.c +0 -1
index 45445dafc80c..27578816d852 100644

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

drivers/scsi/qla2xxx/qla_attr.c +7 -1
index 656253285db9..dbfd703d0f46 100644

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

drivers/scsi/qla2xxx/qla_bsg.c +2 -1
index c1ca21a88a09..06063a841726 100644

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

drivers/scsi/sni_53c710.c +4 -1
index 3102a75984d3..aed91afb79b6 100644

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

drivers/scsi/sun3x_esp.c +3 -1
index d50c5ed8f428..167ae2d29e47 100644

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

drivers/soc/qcom/mdt_loader.c +17 -0
index 08bd8549242a..9155b1c75cfb 100644

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

drivers/spi/spi-dln2.c +1 -1
index b62a99caacc0..a41adea48618 100644

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

drivers/spi/spi-omap-100k.c +3 -3
index 76a8425be227..1eccdc4a4581 100644

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

drivers/spi/spi-ti-qspi.c +14 -6
index 29c1b5d3ae7a..d9b02e7668ae 100644

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

drivers/spi/spi.c +2 -7
index ca9970a63fdf..da71a53b0df7 100644

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

drivers/staging/greybus/uart.c +0 -2
index 2b297df88bdd..b0b7d4a1cee4 100644

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

drivers/staging/media/omap4iss/iss.c +3 -1
index c26c99fd4a24..1e10fe204d3b 100644

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

drivers/staging/rtl8192u/r8192U_core.c +1 -1
index b5941ae410d9..89ec4bb19e48 100644

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

drivers/staging/typec/tcpci.c +18 -3
index df72d8b01e73..39e2aee0b1a3 100644

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

drivers/target/target_core_pscsi.c +2 -1
index f80b31b35a0d..a127608a4809 100644

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

drivers/tee/optee/core.c +0 -10
index 834884c370c5..63187b07dde0 100644

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

drivers/thermal/fair_share.c +4 -0
index d3469fbc5207..26d7387f5834 100644

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

drivers/tty/serial/8250/8250_port.c +0 -3
index 9880a50d664f..25e8ccd6865a 100644

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

drivers/tty/serial/stm32-usart.c +15 -2
index 1e854e1851fb..a10335e904ea 100644

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

drivers/tty/serial/stm32-usart.h +0 -3
index 9d087881913a..55142df8e24b 100644

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

drivers/tty/tty_io.c +4 -4
index d7e56de19c58..ae3af8debf67 100644

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

drivers/usb/class/cdc-acm.c +0 -2
index 22a7f67e70e7..fbf7cb8d34e7 100644

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

drivers/usb/core/hub.c +3 -3
index 1fc57c339fe6..40743e9e9d93 100644

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

drivers/usb/core/quirks.c +4 -0
index cd43e11d74f3..3dfd584a1ef3 100644

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

drivers/usb/dwc2/core.h +2 -0
index 3c0d386dc62f..09fd97a89eb9 100644

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

drivers/usb/dwc2/gadget.c +2 -1
index aab2f6cbd524..6790c0a18123 100644

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

drivers/usb/dwc3/dwc3-omap.c +5 -0
index fdd0d5aa1f5e..830ef7333750 100644

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

drivers/usb/dwc3/gadget.c +16 -6
index 510ed406fb0b..0ac28d204e2d 100644

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

drivers/usb/gadget/config.c +4 -0
index 17a6077b89a4..9b9d31eb6037 100644

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

drivers/usb/gadget/function/f_fs.c +2 -1
index 9f1bb8ed99bc..7c775dc43df5 100644

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

drivers/usb/gadget/function/f_uac1.c +43 -0

43 lines not on this page · raw message

drivers/usb/gadget/function/f_uvc.c +6 -1
index f8a1881609a2..89da34ef7b3f 100644

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

drivers/usb/gadget/udc/dummy_hcd.c +15 -8
index df27b174b4d0..5e9cfb403f7e 100644

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

drivers/usb/gadget/udc/fotg210-udc.c +18 -8
index 6866a0be249e..9440973cdb44 100644

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

drivers/usb/gadget/udc/pch_udc.c +33 -16

49 lines not on this page · raw message

drivers/usb/gadget/udc/r8a66597-udc.c +2 -0
index 84b227ede082..cf92f6aca433 100644

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

drivers/usb/gadget/udc/snps_udc_plat.c +2 -2
index e8a5fdaee37d..204f7acf89a4 100644

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

drivers/usb/host/fotg210-hcd.c +2 -2
index aa2103682808..bbe1ea00d887 100644

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

drivers/usb/host/sl811-hcd.c +4 -5
index 24ad1d6cec25..df8ae89c0131 100644

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

drivers/usb/host/xhci-ext-caps.h +3 -2
index 28deea584884..453032d81234 100644

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

drivers/usb/host/xhci-mem.c +9 -0
index 70452c881e56..5fd1e95f5400 100644

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

drivers/usb/host/xhci.c +3 -3
index 861f8fe2c25e..3cab64f2e861 100644

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

drivers/usb/usbip/vudc_dev.c +1 -0
index 968471b62cbc..59c628b74c68 100644

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

drivers/usb/usbip/vudc_sysfs.c +5 -0
index 51cc5258b63e..0a4482ced945 100644

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

drivers/vfio/mdev/mdev_sysfs.c +1 -1
index 7e474e41c85e..2dbdefd7b683 100644

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

drivers/video/fbdev/core/fbcmap.c +4 -4
index 2811c4afde01..e8ea76848104 100644

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

fs/block_dev.c +17 -3
index 23fb999b49e1..a56974d04010 100644

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

fs/btrfs/ctree.c +20 -0
index f1033448b667..5f7eea3fa1c6 100644

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

fs/btrfs/ioctl.c +15 -3
index d3f76e3efd44..fa64a1127c97 100644

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

fs/btrfs/relocation.c +3 -3
index c01239d1f1e6..313547442a6e 100644

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

fs/ceph/caps.c +1 -0
index 382cf85fd574..b077b9a6bf95 100644

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

fs/ceph/inode.c +1 -0
index 5999d806de78..90db2cd07840 100644

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

fs/cifs/smb2ops.c +1 -1
index 62ac5afaa7f2..963c4719b31a 100644

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

fs/dlm/debug_fs.c +1 -0
index fa08448e35dd..bb87dad03cd4 100644

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

fs/ecryptfs/main.c +6 -0
index 6b801186baa5..78d6451e88cd 100644

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

fs/ext4/ialloc.c +32 -16

48 lines not on this page · raw message

fs/ext4/super.c +4 -2
index 8e6178dc0e6e..ae1aa6065d04 100644

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

fs/f2fs/inline.c +2 -1
index 8906f6381b1a..74bc861bab39 100644

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

fs/fuse/cuse.c +2 -0
index 55db06c7c587..b15eaa9e6cd7 100644

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

fs/jffs2/compr_rtime.c +3 -0
index 406d9cc84ba8..79e771ab624f 100644

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

fs/jffs2/scan.c +1 -1
index 90431dd613b8..08813789fcf0 100644

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

fs/nfs/flexfilelayout/flexfilelayout.c +1 -1
index 74f15498c9bf..9d99e19d98bd 100644

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

fs/nfs/inode.c +4 -4
index f0534b356f07..33cc69687792 100644

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

fs/nfs/nfs42proc.c +13 -8
index 9c374441f660..a61792f777be 100644

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

fs/nfs/pnfs.c +1 -1
index 0737f193fc53..199d1291c39e 100644

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

fs/squashfs/file.c +3 -3
index f1c1430ae721..0bcb83479fcb 100644

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

include/crypto/acompress.h +2 -0
index e328b52425a8..1ff78365607c 100644

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

include/crypto/aead.h +2 -0
index 03b97629442c..0e257ebf12cc 100644

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

include/crypto/akcipher.h +2 -0
index b5e11de4d497..9817f2e5bff8 100644

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

include/crypto/hash.h +4 -0
index 74827781593c..493ed025f0ca 100644

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

include/crypto/kpp.h +2 -0
index 1bde0a6514fa..1a34630fc371 100644

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

include/crypto/rng.h +2 -0
index b95ede354a66..a788c1e5a121 100644

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

include/crypto/skcipher.h +2 -0
index 562001cb412b..32aca5f4e4f0 100644

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

include/linux/acpi.h +8 -1
index 37f0b8515c1c..d818b1fa1fa3 100644

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

include/linux/hid.h +2 -0
index 40409453ef3e..d07fe33a9045 100644

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

include/linux/module.h +3 -23
index c290de08c830..1b3a910b8607 100644

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

include/linux/power/bq27xxx_battery.h +0 -1
index e6187f524f2c..534a8080c6a3 100644

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

include/linux/smp.h +1 -1
index 9fb239e12b82..6bb7f07bc1dd 100644

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

include/linux/spi/spi.h +3 -0
index 715bd276a041..a8f6606dd498 100644

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

include/linux/tty_driver.h +1 -1
index 31c2b5b166de..ebca9e4a2fed 100644

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

include/net/bluetooth/hci_core.h +1 -0
index f80356a98081..0cc5e2b4bbf4 100644

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

include/scsi/libfcoe.h +1 -1
index 282358843659..78b9ad2df0b1 100644

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

include/uapi/linux/tty_flags.h +2 -2
index 6ac609a00dea..31e106168ebb 100644

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

kernel/bpf/verifier.c +11 -15
index 0c3a9302be93..f28ba90a43a7 100644

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

kernel/futex.c +1 -2
index 283bebc08ecd..af1d9a993988 100644

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

kernel/kexec_file.c +3 -1
index 6d0bdedb2e20..9d979b2954ef 100644

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

kernel/module.c +44 -17

61 lines not on this page · raw message

kernel/smp.c +5 -5
index c94dd85c8d41..f9d95d59b7ed 100644

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

kernel/time/posix-timers.c +2 -2
index d7e478a430e9..f46694850b44 100644

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

kernel/trace/ftrace.c +4 -1
index 0373d050ff0c..fceda199dc8b 100644

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

kernel/trace/trace.c +15 -26

41 lines not on this page · raw message

kernel/trace/trace_clock.c +30 -14

44 lines not on this page · raw message

kernel/up.c +1 -1
index 42c46bf3e0a5..2080f75e0e65 100644

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

lib/bug.c +15 -18
index d2c9a099561a..cabecce6ffa7 100644

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

lib/kobject_uevent.c +5 -4
index 3916cf0e2f0a..da602353b317 100644

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

lib/nlattr.c +1 -1
index 3d8295c85505..5cf179aeefe6 100644

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

lib/stackdepot.c +3 -3
index 759ff419fe61..c519aa07d2e9 100644

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

mm/hugetlb.c +9 -2
index 0f6959961f9a..777ad49dbd46 100644

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

mm/khugepaged.c +9 -9
index 349b4782d9f4..f426d42d629d 100644

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

mm/ksm.c +1 -0
index 65d4bf52f543..6d3bc2723c9b 100644

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

mm/shmem.c +11 -1
index 24005c3b345c..cb1003d1159e 100644

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

net/bluetooth/hci_event.c +2 -1
index 5e05a96e0646..b3253f2e11af 100644

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

net/bluetooth/hci_request.c +8 -4
index 759329bec399..cced1a8cc124 100644

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

net/bluetooth/l2cap_core.c +4 -0
index df8cc639c46d..460401349255 100644

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

net/bluetooth/l2cap_sock.c +8 -0
index f94b14beba2b..3905af1d300f 100644

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

net/hsr/hsr_framereg.c +2 -1
index d7206581145d..336cffd93293 100644

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

net/ipv6/ip6_gre.c +0 -3
index 802457c0a121..cd11c56525ff 100644

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

net/ipv6/ip6_tunnel.c +1 -2
index 2ffb4b8eca04..aa9638febdd8 100644

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

net/ipv6/ip6_vti.c +1 -2
index 207bf342e995..299226b57ba5 100644

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

net/ipv6/sit.c +1 -4
index 6d85d995b942..0c71137c5d41 100644

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

net/mac80211/main.c +5 -2
index 2136ce3b4489..a24acd0ee788 100644

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

net/mac80211/mlme.c +5 -0
index ab26b8b95471..a3ec3b1bb324 100644

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

net/netfilter/nf_conntrack_standalone.c +4 -1
index c0be39bcd638..cdc6401e3950 100644

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

net/netfilter/nft_set_hash.c +9 -1
index 73f8f99b1193..a8daa80143ef 100644

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

net/nfc/digital_dep.c +2 -0
index 4f9a973988b2..1eed0cf59190 100644

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

net/nfc/llcp_sock.c +4 -0
index 0c2c88a2f0b0..76f47b911221 100644

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

net/openvswitch/actions.c +4 -4
index 5601e2c6ac05..edd31f2879e7 100644

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

net/sctp/sm_make_chunk.c +1 -1
index e698edd56bd5..1cd22a38fe42 100644

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

net/sctp/sm_statefuns.c +2 -1
index 80b9f7f097fa..e943fb28f581 100644

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

net/sctp/socket.c +22 -16
index 5df93a00fda2..8d64caa72cba 100644

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

net/tipc/netlink_compat.c +1 -1
index 99c69489bb44..9aa0d789d25e 100644

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

net/vmw_vsock/vmci_transport.c +1 -2
index ba4cb18c4b9a..c1da1ce3d36e 100644

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

net/wireless/scan.c +2 -0
index ea47ef156e7d..2a67267ab6b4 100644

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

samples/bpf/tracex1_kern.c +2 -2
index 107da148820f..9c74b45c5720 100644

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

samples/kfifo/bytestream-example.c +6 -2
index 2fca916d9edf..a7f5ee8b6edc 100644

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

samples/kfifo/inttype-example.c +6 -2
index 8dc3c2e7105a..a326a37e9163 100644

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

samples/kfifo/record-example.c +6 -2
index 2d7529eeb294..deb87a2e4e6b 100644

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

scripts/kconfig/nconf.c +1 -1
index e8e1944fa09b..7be47bf8e3d2 100644

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

security/commoncap.c +1 -1
index bf689d61b293..c9279d097aa8 100644

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

sound/core/init.c +0 -2
index dcb9199f5e4f..7fdeae4dc820 100644

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

sound/isa/sb/emu8000.c +3 -1
index d56973b770c7..24b91cb32839 100644

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

sound/isa/sb/sb16_csp.c +6 -2
index fa5780bb0c68..5450f58e4f2e 100644

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

sound/pci/hda/hda_generic.c +11 -5
index 14881fe80a21..1833deefe1af 100644

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

sound/pci/hda/patch_conexant.c +7 -7
index 079b035b77c7..d790c8604a9c 100644

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

sound/pci/hda/patch_realtek.c +10 -11
index 29de586c172f..78cf6cd9910c 100644

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

sound/pci/rme9652/hdsp.c +2 -1
index e41bb4100306..edd359772f1f 100644

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

sound/pci/rme9652/hdspm.c +2 -1
index 343f533906ba..5bbbbba0817b 100644

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

sound/pci/rme9652/rme9652.c +2 -1
index edd765e22377..f82fa5be7d33 100644

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

sound/soc/codecs/rt286.c +13 -10
index af6325c78292..ce3865a8ddc2 100644

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

sound/usb/card.c +7 -7
index 721f91f5766d..1a1cb73360a4 100644

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

sound/usb/quirks-table.h +10 -0
index a917b7e02d31..d3d3e05fe5b8 100644

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

sound/usb/quirks.c +12 -4
index 6fc9ad067d82..182c9de4f255 100644

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

sound/usb/usbaudio.h +2 -0
index f4ee83c8e0b2..62456a806bb4 100644

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

tools/perf/util/symbol_fprintf.c +1 -1
index 6dd2cb88ccbe..d6ed44bd1eba 100644

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

tools/testing/selftests/bpf/test_verifier.c +12 -0
index 9babb3fef8e2..9f7fc30d247d 100644

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

tools/testing/selftests/lib.mk +4 -0
index c9be64dc681d..cd3034602ea5 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.