tree c58232bd4e0aa476ebe5cd52476fe44f4beba199
parent 43a5ead9254d686c58a74762bc6e25438b2f8dd0
parent 011457cce2f30231fbd77d348279cd40d938653c
author Greg Kroah-Hartman <gregkh@google.com> 1709740301 +0000
committer Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 1711637986 +0000

Merge tag 'android12-5.4.268_r00' into android12-5.4

This merges up to the 5.4.268 LTS release into the android12-5.4 branch.
included in here are the following commits:

* 011457cce2f3 ANDROID: GKI: db845c: Update symbols list and ABI
*   3fb89cc160b7 Merge "Merge branch 'android12-5.4' into branch 'android12-5.4-lts'" into android12-5.4-lts
|\
| * 0633c27547ef Merge branch 'android12-5.4' into branch 'android12-5.4-lts'
* | ea217e2185bc UPSTREAM: drm/msm/dsi: Enable runtime PM
* | ac1f5e95f6be UPSTREAM: PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend()
* | c72597af7591 UPSTREAM: PM: runtime: add devm_pm_runtime_enable helper
|/
* 2a17f983559c FROMGIT: clk: qcom: gcc-sdm845: Add soft dependency on rpmhpd
* 9d0640602d7e ANDROID: GKI: aarch64: Update symbols list and ABI
*   f5694adb01ba Merge 5.4.268 into android12-5.4-lts
|\
| * f0602893f43a Linux 5.4.268
| * 5ff9836ab0f6 arm64: dts: armada-3720-turris-mox: set irq type for RTC
| * 300a55a3a6d4 perf top: Skip side-band event setup if HAVE_LIBBPF_SUPPORT is not set
| * ea5587946a15 i2c: s3c24xx: fix transferring more than one message in polling mode
| * 90734f1cdee8 i2c: s3c24xx: fix read transfers in polling mode
| * 05b6d0234a37 mlxsw: spectrum_acl_erp: Fix error flow of pool allocation failure
| * d5661f46c11d kdb: Fix a potential buffer overflow in kdb_local()
| * cf6260a34d28 kdb: Censor attempts to set PROMPT without ENABLE_MEM_READ
| * 36b6db699c03 ipvs: avoid stat macros calls from preemptible context
| * 4c8a827d68ba netfilter: nf_tables: skip dead set elements in netlink dump
| * db9fda526c8d net: dsa: vsc73xx: Add null pointer check to vsc73xx_gpio_probe
| * 8efe3e8a6c4c net: ravb: Fix dma_addr_t truncation in error case
| * f7a153e3ac41 net: phy: micrel: populate .soft_reset for KSZ9131
| * 02467ab8b404 net: qualcomm: rmnet: fix global oob in rmnet_policy
| * 5b58cfcd4ce1 s390/pci: fix max size calculation in zpci_memcpy_toio()
| * 14a7e3a0d099 PCI: keystone: Fix race condition when initializing PHYs
| * 40d171ef2389 nvmet-tcp: Fix the H2C expected PDU len calculation
| * 258dccd67ba0 serial: imx: Correct clock error message in function probe()
| * 1d8e62b5569c apparmor: avoid crash when parsed profile name is empty
| * 4cd5db4fc46c perf env: Avoid recursively taking env->bpf_progs.lock
| * f19a1cb1f9f4 perf bpf: Decouple creating the evlist from adding the SB event
| * 739b800279d0 perf top: Move sb_evlist to 'struct perf_top'
| * 2d59b6ed998d perf record: Move sb_evlist to 'struct record'
| * 14a9769a769e perf env: Add perf_env__numa_node()
| * 9638beb4e10a nvmet-tcp: fix a crash in nvmet_req_complete()
| * ee5e7632e981 nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length
| * 887ab0a444f0 perf genelf: Set ELF program header addresses properly
| * ed903eeb4e2e software node: Let args be NULL in software_node_get_reference_args
| * dbb71ba53146 acpi: property: Let args be NULL in __acpi_node_get_property_reference
| * b502fb43f7fb serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed
| * d8003fdcc66c MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup()
| * 93a7b8d4338b MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup()
| * fa873e90301c mips: Fix incorrect max_low_pfn adjustment
| * b419fe1180f7 HID: wacom: Correct behavior when processing some confidence == false touches
| * f7a92bec8eea x86/kvm: Do not try to disable kvmclock if it was not enabled
| * 1d6d95aaa692 wifi: mwifiex: configure BSSID consistently when starting AP
| * 249b78dbb154 wifi: rtlwifi: Convert LNKCTL change to PCIe cap RMW accessors
| * c22b4f159b27 wifi: rtlwifi: Remove bogus and dangerous ASPM disable/enable code
| * b33a30358826 rootfs: Fix support for rootfstype= when root= is given
| * 02bd78673b65 fbdev: flush deferred work in fb_deferred_io_fsync()
| * 7cfc97d1ec3f ALSA: oxygen: Fix right channel of capture volume mixer
| * 85f6a6590dcf usb: mon: Fix atomicity violation in mon_bin_vma_fault
| * 14e60d584a42 usb: typec: class: fix typec_altmode_put_partner to put plugs
| * 94f2aa8145f4 Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs"
| * a05ebd577979 usb: chipidea: wait controller resume finished for wakeup irq
| * d9c8275c5960 Revert "usb: dwc3: don't reset device side if dwc3 was configured as host-only"
| * 548a00780d34 Revert "usb: dwc3: Soft reset phy on probe for host"
| * c145217af8bf usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart
| * 5d5d9827016a usb: phy: mxs: remove CONFIG_USB_OTG condition for mxs_phy_is_otg_host()
| * 29032c8e3e31 tick-sched: Fix idle and iowait sleeptime accounting vs CPU hotplug
| * 5c3d4930c7b7 binder: fix unused alloc->free_async_space
| * 252a2a5569eb binder: fix race between mmput() and do_exit()
| * 4404c2b832cf xen-netback: don't produce zero-size SKB frags
| * ee4e9c5ffff9 Revert "ASoC: atmel: Remove system clock tree configuration for at91sam9g20ek"
| * 01fe1b7bb0aa Input: atkbd - use ab83 as id when skipping the getid command
| * a53e15e592b4 binder: fix use-after-free in shinker's callback
| * fc1119a3c65d binder: fix async space check for 0-sized buffers
| * 1b7c039260ce of: unittest: Fix of_count_phandle_with_args() expected value message
| * a0a061151a62 of: Fix double free in of_parse_phandle_with_args_map
| * a9de8a4f52ff mmc: sdhci_omap: Fix TI SoC dependencies
| * b8bbe3354419 clk: si5341: fix an error code problem in si5341_output_clk_set_rate
| * 4810cce02967 watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling
| * 11a64041d921 watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO
| * 0d5685c13d55 watchdog: set cdev owner before adding
| * 777aa44f63fa drivers: clk: zynqmp: calculate closest mux rate
| * 5a572eb32fd3 gpu/drm/radeon: fix two memleaks in radeon_vm_init
| * 8b55b06e737f drivers/amd/pm: fix a use-after-free in kv_parse_power_table
| * 06d95c99d5a4 drm/amd/pm: fix a double-free in si_dpm_init
| * 8ee1fb4c5168 drm/amdgpu/debugfs: fix error code when smc register accessors are NULL
| * 68ec0a0211c4 media: dvbdev: drop refcount on error path in dvb_device_open()
| * 06a9263ac925 media: cx231xx: fix a memleak in cx231xx_init_isoc
| * 6a421928f7b2 drm/bridge: tc358767: Fix return value on error case
| * d46fe2e93e53 drm/radeon/trinity_dpm: fix a memleak in trinity_parse_power_table
| * c0769f091ff9 drm/radeon/dpm: fix a memleak in sumo_parse_power_table
| * 5d12c5d75f7c drm/radeon: check the alloc_workqueue return value in radeon_crtc_init()
| * 09d59f73f46a drm/drv: propagate errors from drm_modeset_register_all()
| * 31b169a8bed7 drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks
| * 9170aa07cb20 drm/msm/mdp4: flush vblank event on disable
| * 136f919816cc ASoC: cs35l34: Fix GPIO name and drop legacy include
| * 86af5d7acf4c ASoC: cs35l33: Fix GPIO name and drop legacy include
| * 94aa82723abb drm/radeon: check return value of radeon_ring_lock()
| * bf48d891234b drm/radeon/r100: Fix integer overflow issues in r100_cs_track_check()
| * 8e5bcb781f87 drm/radeon/r600_cs: Fix possible int overflows in r600_cs_check_reg()
| * 5624a3c1b1eb f2fs: fix to avoid dirent corruption
| * b083ec00f39e drm/bridge: Fix typo in post_disable() description
| * 47aa8fcd5e8b media: pvrusb2: fix use after free on context disconnection
| * f6a35c21cde3 RDMA/usnic: Silence uninitialized symbol smatch warnings
| * 9bb977521768 ARM: davinci: always select CONFIG_CPU_ARM926T
| * 3f15ba3dc14e ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim()
| * dcc9cd5ddb94 Bluetooth: btmtkuart: fix recv_buf() return value
| * efcfcd5f2b5e Bluetooth: Fix bogus check for re-auth no supported with non-ssp
| * 598c902649ea netfilter: nf_tables: mark newset as dead on transaction abort
| * 8dbaaf71ffc2 wifi: rtlwifi: rtl8192se: using calculate_bit_shift()
| * 8fa54f7532c8 wifi: rtlwifi: rtl8192ee: using calculate_bit_shift()
| * 4838d1666660 wifi: rtlwifi: rtl8192de: using calculate_bit_shift()
| * e15fcb194542 rtlwifi: rtl8192de: make arrays static const, makes object smaller
| * ae1df4cc0adb wifi: rtlwifi: rtl8192ce: using calculate_bit_shift()
| * a3a25b5d019c wifi: rtlwifi: rtl8192cu: using calculate_bit_shift()
| * 6f84a338ed61 wifi: rtlwifi: rtl8192c: using calculate_bit_shift()
| * ee0a81cf7e7b wifi: rtlwifi: rtl8188ee: phy: using calculate_bit_shift()
| * 7cbcf5fe01d0 wifi: rtlwifi: add calculate_bit_shift()
| * 4985e507e0b9 dma-mapping: clear dev->dma_mem to NULL after freeing it
| * 48614d528b42 virtio/vsock: fix logic which reduces credit update messages
| * 332cd73a9298 selftests/net: fix grep checking for fib_nexthop_multiprefix
| * 12b91f36369b scsi: hisi_sas: Replace with standard error code return value
| * 14470da02dfc arm64: dts: qcom: sdm845-db845c: correct LED panic indicator
| * c23c4984ce0b scsi: fnic: Return error if vmalloc() failed
| * 16d21bfcb371 wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior
| * 4a20fa7322e2 rtlwifi: Use ffs in <foo>_phy_calculate_bit_shift
| * 0226926ba326 firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create()
| * ef75f3c56bf3 net/ncsi: Fix netlink major/minor version numbers
| * 7276fac0a668 ncsi: internal.h: Fix a spello
| * f6154d498365 ARM: dts: qcom: apq8064: correct XOADC register address
| * bd1bf5e8056a wifi: libertas: stop selecting wext
| * dc843ed97ddb bpf, lpm: Fix check prefixlen before walking trie
| * 93c71706a1f0 wifi: rtw88: fix RX filter in FIF_ALLMULTI flag
| * aebe7e47c201 NFSv4.1/pnfs: Ensure we handle the error NFS4ERR_RETURNCONFLICT
| * db55dbbba5e5 blocklayoutdriver: Fix reference leak of pnfs_device_node
| * e0e3f4a18784 crypto: scomp - fix req->dst buffer overflow
| * 77d2b1833631 crypto: sahara - do not resize req->src when doing hash operations
| * 53ba86f765d4 crypto: sahara - fix processing hash requests with req->nbytes < sg->length
| * ba1ef4276e10 crypto: sahara - improve error handling in sahara_sha_process()
| * 0274697075e1 crypto: sahara - fix wait_for_completion_timeout() error handling
| * b588ed190b9a crypto: sahara - fix ahash reqsize
| * aea92cca4375 crypto: virtio - Wait for tasklet to complete on device remove
| * efc8ef87ab91 gfs2: Fix kernel NULL pointer dereference in gfs2_rgrp_dump
| * d1fe1aede684 pstore: ram_core: fix possible overflow in persistent_ram_init_ecc()
| * 6e907574ef9b crypto: sahara - fix error handling in sahara_hw_descriptor_create()
| * e82d07d5c709 crypto: sahara - fix processing requests with cryptlen < sg->length
| * da43c26203d9 crypto: sahara - fix ahash selftest failure
| * beb815a0001e crypto: sahara - remove FLAGS_NEW_KEY logic
| * 4c10928e31c7 crypto: af_alg - Disallow multiple in-flight AIO requests
| * ca3484d5cadc crypto: ccp - fix memleak in ccp_init_dm_workarea
| * 9fffae6cc42b virtio_crypto: Introduce VIRTIO_CRYPTO_NOSPC
| * 01081d76cc3e crypto: virtio - don't use 'default m'
| * 830a4f073f7e crypto: virtio - Handle dataq logic with tasklet
| * 86a7c9ba839e selinux: Fix error priority for bind with AF_UNSPEC on PF_INET6 socket
| * 1bf4fe14e97c mtd: Fix gluebi NULL pointer dereference caused by ftl notifier
| * 6b84cb9e383d spi: sh-msiof: Enforce fixed DTDL for R-Car H3
| * 36e19f84634a calipso: fix memory leak in netlbl_calipso_add_pass()
| * 0396c1e211bb netlabel: remove unused parameter in netlbl_netlink_auditinfo()
| * 7b99eafea070 net: netlabel: Fix kerneldoc warnings
| * 6c38e791bde0 ACPI: LPIT: Avoid u32 multiplication overflow
| * 1e3a2b9b4039 ACPI: video: check for error while searching for backlight device parent
| * f5ea2cf3bbb1 mtd: rawnand: Increment IFC_TIMEOUT_MSECS for nand controller response
| * 1e80aa25d186 powerpc/imc-pmu: Add a null pointer check in update_events_in_group()
| * 9da4a56dd377 powerpc/powernv: Add a null pointer check in opal_powercap_init()
| * e93d7cf4c1dd powerpc/powernv: Add a null pointer check in opal_event_init()
| * f84c1446daa5 powerpc/powernv: Add a null pointer check to scom_debug_init_one()
| * b0200560b69e selftests/powerpc: Fix error handling in FPU/VMX preemption tests
| * 9b5f03500bc5 powerpc/pseries/memhp: Fix access beyond end of drmem array
| * 69c0b92f78a2 powerpc/pseries/memhotplug: Quieten some DLPAR operations
| * 5401b689ad44 powerpc/44x: select I2C for CURRITUCK
| * 245da9eebba0 powerpc: add crtsavres.o to always-y instead of extra-y
| * 5da3b6e7196f EDAC/thunderx: Fix possible out-of-bounds string access
| * 555a2f09a69d x86/lib: Fix overflow when counting digits
| * 6ee48d71021e coresight: etm4x: Fix width of CCITMIN field
| * b00d5f7152ab parport: parport_serial: Add Brainboxes device IDs and geometry
| * 760a5ab4d880 parport: parport_serial: Add Brainboxes BAR details
| * e93da893d52d uio: Fix use-after-free in uio_open
| * da488e1aad20 binder: fix comment on binder_alloc_new_buf() return value
| * a92b2797ca72 binder: fix trivial typo of binder_free_buf_locked()
| * 9774dabad707 binder: use EPOLLERR from eventpoll.h
| * 5e1eb0dfc95b ACPI: resource: Add another DMI match for the TongFang GMxXGxx
| * c5b051750011 drm/crtc: fix uninitialized variable use
| * cfc6afe930c6 ARM: sun9i: smp: fix return code check of of_property_match_string
| * ef7152f8705f ida: Fix crash in ida_free when the bitmap is empty
| * c97996451f94 Input: xpad - add Razer Wolverine V2 support
| * 510a7bc3682d ARC: fix spare error
| * 0fe6431622b7 s390/scm: fix virtual vs physical address confusion
| * 8fb5795bcf81 Input: i8042 - add nomux quirk for Acer P459-G2-M
| * 2c70bf99783b Input: atkbd - skip ATKBD_CMD_GETID in translated mode
| * 3d9a9c0881f4 reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning
| * 4f7512e779ae ring-buffer: Do not record in NMI if the arch does not support cmpxchg in NMI
| * e405c22ee576 tracing: Add size check when printing trace_marker output
| * f787481af4a8 tracing: Have large events show up as '[LINE TOO BIG]' instead of nothing
| * d4408ffeb848 neighbour: Don't let neigh_forced_gc() disable preemption for long
| * 9cc9683aec42 drm/crtc: Fix uninit-value bug in drm_mode_setcrtc
| * 2f601e869611 jbd2: correct the printing of write_flags in jbd2_write_superblock()
| * 1c187cb210c1 clk: rockchip: rk3128: Fix HCLK_OTG gate register
| * 3f50a73fd929 drm/exynos: fix a wrong error checking
| * 8bc21ac17da8 drm/exynos: fix a potential error pointer dereference
| * 6eb975932853 nvme: introduce helper function to get ctrl state
| * 971c0b10c94d ASoC: da7219: Support low DC impedance headset
| * ec76b9e057de net/tg3: fix race condition in tg3_reset_task()
| * ef9fefca3fec nouveau/tu102: flush all pdbs on vmm flush
| * b67005b284dd ASoC: rt5650: add mutex to avoid the jack detection failure
| * 4fece6617b57 ASoC: cs43130: Fix incorrect frame delay configuration
| * 1bf33a67a944 ASoC: cs43130: Fix the position of const qualifier
| * 61c1e46fb84e ASoC: Intel: Skylake: mem leak in skl register function
| * 81610106fd5b ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16
| * ad5a06e16365 ASoC: Intel: Skylake: Fix mem leak in few functions
| * 57a95d06da3e ALSA: hda - Fix speaker and headset mic pin config for CHUWI CoreBook XPro
| * ebc3c8e090a0 pinctrl: lochnagar: Don't build on MIPS
| * 12cf91e23b12 f2fs: explicitly null-terminate the xattr list
* | 6b3eb66c013c Revert "ipv6: make ip6_rt_gc_expire an atomic_t"
* | f3c39fc7668e Revert "ipv6: remove max_size check inline with ipv4"
* |   90e5089c2180 Merge "Merge 5.4.267 into android12-5.4-lts" into android12-5.4-lts
|\ \
| * | 65a471016cf3 Merge 5.4.267 into android12-5.4-lts
| |\|
| | * 9153fc966495 Linux 5.4.267
| | * 69ef165176a3 ASoC: meson: codec-glue: fix pcm format cast warning
| | * 584756c3d75a ipv6: remove max_size check inline with ipv4
| | * 66b3025202b4 ipv6: make ip6_rt_gc_expire an atomic_t
| | * ae424c848db6 net/dst: use a smaller percpu_counter batch for dst entries accounting
| | * 7b3a9c2bf315 PCI: Disable ATS for specific Intel IPU E2000 devices
| | * c6141c49bc80 PCI: Extract ATS disabling to a helper function
| | * 8711fa0c06d4 netfilter: nf_tables: Reject tables of unsupported family
| | * c67bf30baf26 net: tls, update curr on splice as well
| | * c2d9b438554e ath10k: Get rid of "per_ce_irq" hw param
| | * d15f869cb3b3 ath10k: Keep track of which interrupts fired, don't poll them
| | * 696b992edc7e ath10k: Add interrupt summary based CE processing
| | * 366df9ecbcb8 ath10k: Wait until copy complete is actually done before completing
| | * c4541e39808e mmc: sdhci-sprd: Fix eMMC init failure after hw reset
| | * a9c9ffcd217b mmc: core: Cancel delayed work before releasing host
| | * bfc3720ca8d0 mmc: rpmb: fixes pause retune on all RPMB partitions.
| | * 77359c497305 mm: fix unmap_mapping_range high bits shift bug
| | * 5af5e946c4dd i2c: core: Fix atomic xfer check for non-preempt config
| | * d8ec24d79db1 firewire: ohci: suppress unexpected system reboot in AMD Ryzen machines and ASM108x/VT630x PCIe cards
| | * 85015a96bc24 mm/memory-failure: check the mapcount of the precise page
| | * 3d8fab93ca98 net: Implement missing SO_TIMESTAMPING_NEW cmsg support
| | * f7084217d945 bnxt_en: Remove mis-applied code from bnxt_cfg_ntp_filters()
| | * acfeb9039b17 asix: Add check for usbnet_get_endpoints
| | * 6c00721ad7aa net/qla3xxx: fix potential memleak in ql_alloc_buffer_queues
| | * a4ea54c52828 net/qla3xxx: switch from 'pci_' to 'dma_' API
| | * 863ca421b4a7 i40e: Restore VF MSI-X state during PCI reset
| | * 01c2d73ae2dd ASoC: meson: g12a-tohdmitx: Fix event generation for S/PDIF mux
| | * bdc00b8c3afe ASoC: meson: g12a-tohdmitx: Validate written enum values
| | * fe2d1dda1db4 ASoC: meson: g12a: extract codec-to-codec utils
| | * 93d80aadc02e i40e: fix use-after-free in i40e_aqc_add_filters()
| | * b40828a2ab57 net: Save and restore msg_namelen in sock_sendmsg
| | * 68c8fdb9f9c8 net: bcmgenet: Fix FCS generation for fragmented skbuffs
| | * 4c0fa624a693 ARM: sun9i: smp: Fix array-index-out-of-bounds read in sunxi_mc_smp_init
| | * c1556217ff6f net-timestamp: extend SOF_TIMESTAMPING_OPT_ID to HW timestamps
| | * 2cdb65084824 can: raw: add support for SO_MARK
| | * 96a6d1bb28ed can: raw: add support for SO_TXTIME/SCM_TXTIME
| | * b1719cbb733e net: sched: em_text: fix possible memory leak in em_text_destroy()
| | * ef4fd7518c6e i40e: Fix filter input checks to prevent config with invalid values
| | * 65c6ef02ff26 nfc: llcp_core: Hold a ref to llcp_local->dev when holding a ref to llcp_local
* | | c1c7b583c0d8 ANDROID: db845c: Enable device tree overlay support
|/ /
* / 5857ea0c39a1 Merge 5.4.266 into android12-5.4-lts
|/
* 4410df70110f Linux 5.4.266
* 7d0f1fd80ad6 block: Don't invalidate pagecache for invalid falloc modes
* a0678f504758 ring-buffer: Fix wake ups when buffer_percent is set to 100
* 508e2fdd978e smb: client: fix OOB in smbCalcSize()
* 644b956c946a usb: fotg210-hcd: delete an incorrect bounds test
* a56a19e44b17 x86/alternatives: Sync core before enabling interrupts
* 4111986fb90e net: rfkill: gpio: set GPIO direction
* 5c375a83d1f9 net: 9p: avoid freeing uninit memory in p9pdu_vreadf
* 4e7f3899fb81 Bluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent
* a83debb52310 USB: serial: option: add Quectel RM500Q R13 firmware support
* c82ba4cb44d1 USB: serial: option: add Foxconn T99W265 with new baseline
* 1f87ba56c43d USB: serial: option: add Quectel EG912Y module support
* a59cb26bc188 USB: serial: ftdi_sio: update Actisense PIDs constant names
* a70b1933fa54 wifi: cfg80211: fix certs build to not depend on file order
* e8fb00205144 wifi: cfg80211: Add my certificate
* 8717fd6d0c30 iio: adc: ti_am335x_adc: Fix return value check of tiadc_request_dma()
* 45af72f149a8 iio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table
* 4257c16c149d scsi: bnx2fc: Fix skb double free in bnx2fc_rcv()
* e1b31edfe7d3 Input: ipaq-micro-keys - add error handling for devm_kmemdup
* a85d6aa2b555 iio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw
* 388c90c577d7 interconnect: Treat xlate() returning NULL node as an error
* 04c22233447d btrfs: do not allow non subvolume root targets for snapshot
* 3230a69e663b smb: client: fix NULL deref in asn1_ber_decoder()
* 0ccb39511a7f ALSA: hda/hdmi: add force-connect quirk for NUC5CPYB
* 6bcf819198d9 ALSA: hda/hdmi: Add quirk to force pin connectivity on NUC10
* 34e6c4c6a985 pinctrl: at91-pio4: use dedicated lock class for IRQ
* 624659563e26 i2c: aspeed: Handle the coalesced stop conditions with the start conditions.
* 47ae5242292d afs: Fix overwriting of result of DNS query
* c04b7b28c9f0 net: check dev->gso_max_size in gso_features_check()
* 761ee09e9f5d net: warn if gso_type isn't set for a GSO SKB
* eec7ef60d297 afs: Fix dynamic root lookup DNS check
* 82d64cbe487c afs: Fix the dynamic root's d_delete to always delete unused dentries
* 2b4600fb6967 net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev()
* b10265532df7 net/rose: fix races in rose_kill_by_device()
* ed4cb8a42ce9 ethernet: atheros: fix a memleak in atl1e_setup_ring_resources
* 3f82a6a6d7ee net: sched: ife: fix potential use-after-free
* f48e3337ab0b net/mlx5e: Correct snprintf truncation handling for fw_version buffer used by representors
* d07ef3a87064 net/mlx5: Fix fw tracer first block check
* a46bb28fdbdf net/mlx5: improve some comments
* 333fd1095584 Revert "net/mlx5e: fix double free of encap_header"
* 7bd305f5f262 wifi: mac80211: mesh_plink: fix matches_local logic
* 76366b399a02 s390/vx: fix save/restore of fpu kernel context
* f40d484e1614 reset: Fix crash when freeing non-existent optional resets
* 14d915ca5ae3 ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init
* 62ef5887dd45 ksmbd: fix wrong name of SMB2_CREATE_ALLOCATION_SIZE
* 35e12efde04d ALSA: hda/realtek: Enable headset on Lenovo M90 Gen5

Change-Id: I3a50281ba8e9f6851be1b6cee90f84166e696c2b
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
