tree 756d58185c67d86cc2fdebdb100fd639c1431790
parent 9485c5ac3825ca8aa648d4bcfdbb98ff62d1a15a
parent 452ea6a15ed2ac74789b7b3513777cc94ea3b751
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1630054998 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1630054999 -0700

merge-upstream/v5.10.61 from branch/tag: upstream/v5.10.61 into branch: cos-5.10

Changelog:
-------------------------------------------------------------

Adrian Larumbe (1):
      dmaengine: xilinx_dma: Fix read-after-free bug when terminating transfers

Alan Stern (2):
      USB: core: Avoid WARNings for 0-length descriptor requests
      USB: core: Fix incorrect pipe calculation in do_proc_control()

Andreas Persson (1):
      mtd: cfi_cmdset_0002: fix crash when erasing/writing AMD cards

Andy Shevchenko (1):
      ptp_pch: Restore dependency on PCI

Arkadiusz Kubalewski (1):
      i40e: Fix ATR queue selection

Bing Guo (1):
      drm/amd/display: Fix Dynamic bpp issue with 8K30 with Navi 1X

Bjorn Andersson (1):
      clk: qcom: gdsc: Ensure regulator init state matches GDSC state

Christophe Kerello (1):
      mmc: mmci: stm32: Check when the voltage switch procedure should be done

Dan Carpenter (1):
      media: zr364xx: fix memory leaks in probe()

Dave Gerlach (1):
      ARM: dts: am43x-epos-evm: Reduce i2c0 bus speed for tps65218

Dinghao Liu (1):
      net: qlcnic: add missed unlock in qlcnic_83xx_flash_read32

Dong Aisheng (1):
      clk: imx6q: fix uart earlycon unwork

Dongliang Mu (2):
      ipack: tpci200: fix many double free issues in tpci200_pci_probe
      ipack: tpci200: fix memory leak in the tpci200_register

Eli Cohen (1):
      vdpa/mlx5: Avoid destroying MR on empty iotlb

Evgeny Novikov (1):
      media: zr364xx: propagate errors from zr364xx_start_readpipe()

Frank Wunderlich (1):
      iommu: Check if group is NULL before remove device

Harshvardhan Jha (2):
      net: xfrm: Fix end of loop tests for list_for_each_entry
      scsi: megaraid_mm: Fix end of loop tests for list_for_each_entry()

Hayes Wang (1):
      r8152: fix writing USB_BP2_EN

Ido Schimmel (1):
      Revert "flow_offload: action should not be NULL when it is referenced"

Igor Pylypiv (1):
      scsi: pm80xx: Fix TMF task completion race condition

Ilya Leoshkevich (1):
      bpf: Clear zext_dst of dead insns

Ivan T. Ivanov (1):
      net: usb: lan78xx: don't modify phy_device state concurrently

Jakub Kicinski (4):
      bnxt: don't lock the tx queue from napi poll
      bnxt: disable napi before canceling DIM
      bnxt: make sure xmit_more + errors does not miss doorbells
      bnxt: count Tx drops

Jaroslav Kysela (1):
      ALSA: hda - fix the 'Capture Switch' value change notifications

Jason Wang (1):
      virtio-net: use NETIF_F_GRO_HW instead of NETIF_F_LRO

Jeff Layton (1):
      fs: warn about impending deprecation of mandatory locks

Jens Axboe (2):
      io_uring: fix xa_alloc_cycle() error return value check
      io_uring: only assign io_uring_enter() SQPOLL error in actual error case

Johannes Weiner (1):
      mm: memcontrol: fix occasional OOMs due to proportional memory.low reclaim

Jouni Malinen (5):
      ath: Use safer key clearing with key cache entries
      ath9k: Clear key cache explicitly on disabling hardware
      ath: Export ath_hw_keysetmac()
      ath: Modify ath_key_delete() to not need full key entry
      ath9k: Postpone key cache entry deletion for TXQ frames reference it

Kai-Heng Feng (1):
      ALSA: hda/realtek: Limit mic boost on HP ProBook 445 G8

Kristin Paget (1):
      ALSA: hda/realtek: Enable 4-speaker output for Dell XPS 15 9510 laptop

Lahav Schlesinger (1):
      vrf: Reset skb conntrack connection on VRF rcv

Liu Yi L (1):
      iommu/vt-d: Fix incomplete cache flush in intel_pasid_tear_down_entry()

Lu Baolu (1):
      iommu/vt-d: Consolidate duplicate cache invaliation code

Marcin Bachry (1):
      PCI: Increase D3 delay for AMD Renoir/Cezanne XHCI

Marek Behún (1):
      cpufreq: armada-37xx: forbid cpufreq for 1.2 GHz variant

Michael Chan (2):
      bnxt_en: Disable aRFS if running on 212 firmware
      bnxt_en: Add missing DMA memory barriers

NeilBrown (1):
      btrfs: prevent rename2 from exchanging a subvol with a directory from different parents

Nicolas Saenz Julienne (2):
      mmc: sdhci-iproc: Cap min clock frequency on BCM2711
      mmc: sdhci-iproc: Set SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN on BCM2711

Niklas Schnelle (1):
      s390/pci: fix use after free of zpci_dev

Ole Bjørn Midtbø (1):
      Bluetooth: hidp: use correct wait queue when removing ctrl_wait

Parav Pandit (1):
      virtio: Protect vqs list access

Pavel Skripkin (2):
      media: drivers/media/usb: fix memory leak in zr364xx_probe
      net: 6pack: fix slab-out-of-bounds in decode_data

Peter Ujfalusi (1):
      dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not yet available

Petko Manolov (1):
      net: usb: pegasus: Check the return value of get_geristers() and friends;

Petr Vorel (1):
      arm64: dts: qcom: msm8992-bullhead: Remove PSCI

Prabhakar Kushwaha (1):
      qede: fix crash in rmmod qede while automatic debug collection

Qingqing Zhuo (1):
      drm/amd/display: workaround for hard hang on HPD on native DP

Randy Dunlap (1):
      dccp: add do-while-0 stubs for dccp_pr_debug macros

Saravana Kannan (2):
      net: mdio-mux: Don't ignore memory allocation errors
      net: mdio-mux: Handle -EPROBE_DEFER correctly

Sasha Levin (1):
      Linux 5.10.61

Shaik Sajida Bhanu (1):
      mmc: sdhci-msm: Update the software timeout value for sdhc

Sreekanth Reddy (1):
      scsi: core: Avoid printing an error if target_alloc() returns -ENXIO

Srinivas Kandagatla (4):
      arm64: dts: qcom: c630: fix correct powerdown pin for WSA881x
      slimbus: messaging: start transaction ids from 1 instead of zero
      slimbus: messaging: check for valid transaction id
      slimbus: ngd: reset dma setup during runtime pm

Steven Rostedt (VMware) (1):
      tracing / histogram: Fix NULL pointer dereference on strcmp() on NULL event name

Sudeep Holla (1):
      ARM: dts: nomadik: Fix up interrupt controller node names

Sylwester Dziedziuch (1):
      iavf: Fix ping is lost after untrusted VF had tried to change MAC

Takashi Iwai (2):
      ALSA: hda/via: Apply runtime PM workaround for ASUS B23E
      ASoC: intel: atom: Fix breakage for PCM buffer address setup

Toke Høiland-Jørgensen (1):
      sch_cake: fix srchost/dsthost hashing mode

Tony Lindgren (1):
      bus: ti-sysc: Fix error handling for sysc_check_active_timer()

Uwe Kleine-König (1):
      spi: spi-mux: Add module info needed for autoloading

Vincent Whitchurch (1):
      mmc: dw_mmc: Fix hang on data CRC error

Wang Hai (1):
      ixgbe, xsk: clean up the resources in ixgbe_xsk_pool_enable error path

Wanpeng Li (1):
      KVM: X86: Fix warning caused by stale emulation context

Wei Huang (1):
      KVM: x86: Factor out x86 instruction emulation with decoding

Xie Yongji (2):
      vhost-vdpa: Fix integer overflow in vhost_vdpa_process_iotlb_update()
      vhost: Fix the calculation in vhost_overflow()

Xuan Zhuo (1):
      virtio-net: support XDP when not more queues

Ye Bin (1):
      scsi: scsi_dh_rdac: Avoid crash during rdac_bus_attach()

Yifan Zhang (1):
      drm/amdgpu: fix the doorbell missing when in CGPG issue for renoir.

Yongqiang Niu (2):
      soc / drm: mediatek: Move DDP component defines into mtk-mmsys.h
      drm/mediatek: Fix aal size config

Yu Kuai (1):
      dmaengine: usb-dmac: Fix PM reference leak in usb_dmac_probe()

jason-jh.lin (1):
      drm/mediatek: Add AAL output size configuration

kaixi.fan (1):
      ovs: clear skb->tstamp in forwarding path

lijinlin (1):
      scsi: core: Fix capacity set to zero after offlinining device

BUG=b/197933203
TEST=tryjob, validation and K8s e2e
RELEASE_NOTE=Updated the Linux kernel to v5.10.61.

Signed-off-by: COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com>
Change-Id: I8989f7ecc7347d11dd8e93148b8b116d4223b298
