tree bdad39ff9ee34ca7979069c22ab1b4107cd494e8
parent 351583c141b165bcafc67f630e65c19ae9a6e9ae
parent 5aa003b38148d584f20455ecac85c51187d0b71e
author COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1633856354 -0700
committer COS Kernel Merge Bot <cloud-image-merge-automation@prod.google.com> 1633856355 -0700

merge-upstream/v5.10.72 from branch/tag: upstream/v5.10.72 into branch: main-R93-cos-5.10

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

Anand K Mistry (1):
      perf/x86: Reset destroy callback on event init failure

Ansuel Smith (1):
      thermal/drivers/tsens: Fix wrong check for tzd in irq handlers

Changbin Du (1):
      tools/vm/page-types: remove dependency on opt_file for idle page tracking

Dai Ngo (1):
      nfsd: back channel stuck in SEQ4_STATUS_CB_PATH_DOWN

Dan Carpenter (1):
      ext2: fix sleeping in atomic bugs on error

Daniel Wagner (1):
      nvme-fc: update hardware queues before using them

Faizel K B (1):
      usb: testusb: Fix for showing the connection speed

Fares Mehanna (1):
      kvm: x86: Add AMD PMU MSRs to msrs_to_save_all[]

Filipe Manana (1):
      btrfs: fix mount failure due to past and transient device flush error

Greg Kroah-Hartman (1):
      Linux 5.10.72

Hans de Goede (2):
      platform/x86: touchscreen_dmi: Add info for the Chuwi HiBook (CWI514) tablet
      platform/x86: touchscreen_dmi: Update info for the Chuwi Hi10 Plus (CWI527) tablet

James Smart (1):
      nvme-fc: avoid race between time out and tear down

Jan Beulich (1):
      xen-netback: correct success/error reporting for the SKB-with-fraglist case

Kate Hsuan (1):
      libata: Add ATA_HORKAGE_NO_NCQ_ON_ATI for Samsung 860 and 870 SSD.

Li Zhijian (1):
      selftests: be sure to make khdr before other targets

Linus Torvalds (1):
      sparc64: fix pci_iounmap() when CONFIG_PCI is not set

Marc Zyngier (1):
      irqchip/gic: Work around broken Renesas integration

Maxim Levitsky (1):
      KVM: x86: nSVM: restore int_vector in svm_clear_vintr

Ming Lei (1):
      scsi: sd: Free scsi_disk device via put_device()

Oded Gabbay (1):
      habanalabs/gaudi: fix LBW RR configuration

Oliver Upton (1):
      selftests: KVM: Align SMCCC call with the spec in steal_time

Qu Wenruo (1):
      btrfs: replace BUG_ON() in btrfs_csum_one_bio() with proper error handling

Sergey Senozhatsky (1):
      KVM: do not shrink halt_poll_ns below grow_start

Shuah Khan (1):
      selftests:kvm: fix get_warnings_count() ignoring fscanf() return warn

Steve French (1):
      smb3: correct smb3 ACL security descriptor

Tobias Schramm (1):
      spi: rockchip: handle zero length transfers without timing out

Vladimir Oltean (1):
      net: mdio: introduce a shutdown method to mdio device drivers

Wen Xiong (1):
      scsi: ses: Retry failed Send/Receive Diagnostic commands

Yang Yingliang (1):
      usb: dwc2: check return value after calling platform_get_resource()

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

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