Commit Graph

165 Commits

Author SHA1 Message Date
Srinath Pandey
dceb8b6fb7 net: stmmac: enable/disable irq LPM
Free_irq on suspend and request_irq on resume.

Change-Id: I5340b16b21eeb11aa3d950d22d64c7681efc2293
Signed-off-by: Srinath Pandey <quic_srinpand@quicinc.com>
Signed-off-by: Vivek Yadav <quic_viveyada@quicinc.com>
2023-12-18 18:01:52 +05:30
Sivasri Kumar, Vanka
917265b059 Merge keystone/android13-5.15-keystone-qcom-release.119 (db7b082) into msm-5.15
* refs/heads/tmp-db7b082:
  ANDROID: GKI: Introduce new ABI symbol list
  ANDROID: Revert ABI breakage due to accidental CRC value changes
  BACKPORT: arm64: errata: add detection for AMEVCNTR01 incrementing incorrectly
  BACKPORT: arm64: errata: add detection for AMEVCNTR01 incrementing incorrectly
  FROMGIT: fs: drop_caches: draining pages before dropping caches
  ANDROID: fuse-bpf: Add partial flock support
  ANDROID: GKI: update tuxera symbol list
  FROMGIT: Multi-gen LRU: skip CMA pages when they are not eligible
  UPSTREAM: net/sched: sch_qfq: account for stab overhead in qfq_enqueue
  UPSTREAM: netfilter: nf_tables: skip bound chain on rule flush
  UPSTREAM: net/sched: sch_qfq: refactor parsing of netlink parameters
  ANDROID: ABI: Add to QCOM symbols list
  UPSTREAM: netfilter: nft_set_pipapo: fix improper element removal
  UPSTREAM: tty: n_gsm: fix UAF in gsm_cleanup_mux
  BACKPORT: mm: skip CMA pages when they are not available
  Revert "BACKPORT: FROMGIT: mm: skip CMA pages when they are not available"
  ANDROID: GKI: update xiaomi symbol list
  FROMGIT: fs: drop_caches: draining pages before dropping caches
  UPSTREAM: ASoC: DPCM: Don't pick up BE without substream
  ANDROID: GKI: Update symbols to symbol list
  ANDROID: vendor_hook: fix the error record position of mutex
  BACKPORT: FROMGIT: usb: common: usb-conn-gpio: Prevent bailing out if initial role is none
  ANDROID: GKI: Update GKI symbol list and ABI XML
  ANDROID: fuse-bpf: Use stored bpf for create_open
  ANDROID: fuse-bpf: Add bpf to negative fuse_dentry
  ANDROID: fuse-bpf: Check inode not null
  ANDROID: fuse-bpf: Fix flock test compile error
  ANDROID: fuse-bpf: Add partial ioctl support
  ANDROID: fuse-bpf: Add partial flock support
  ANDROID: ABI: update gki symbol list
  ANDROID: Add vendor hook for cma adjusting
  ANDROID: GKI: Update exynos_wear symbol list
  FROMGIT: BACKPORT: Multi-gen LRU: Fix can_swap in lru_gen_look_around()
  FROMGIT: BACKPORT: Multi-gen LRU: Avoid race in inc_min_seq()
  FROMGIT: BACKPORT: Multi-gen LRU: Fix per-zone reclaim
  ANDROID: ABI: Update oplus symbol list  ashmem: is_ashmem_file Export is_ashmem_file function which will be used by the minidump module to get ashmem info.
  ANDROID: GKI: Update symbol list
  ANDROID: vendor_hooks: Add hook for blk request
  BACKPORT: FROMGIT: irqchip/gic-v3: Workaround for GIC-700 erratum 2941627
  ANDROID: GKI: Update symbol list for Amlogic
  ANDROID: GKI: add symbol list file for moto
  ANDROID: ABI: Update oplus symbol list
  ANDROID: Inherit "user-aware property" across rtmutex.
  ANDROID: oplus: Update the ABI xml and symbol list
  ANDROID: vendor_hooks: Add hooks for lookaround
  ANDROID: GKI: Update symbol list for Amlogic
  UPSTREAM: net/sched: cls_fw: Fix improper refcount update leads to use-after-free
  UPSTREAM: fs/ntfs3: Check fields while reading
  ANDROID: set kmi_symbol_list_add_only for Kleaf builds.
  UPSTREAM: media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
  ANDROID: abi_gki_aarch64_qcom: update abi
  UPSTREAM: ASoC: soc-pcm: Fix DPCM lockdep warning due to nested stream locks
  UPSTREAM: ASoC: soc-pcm.c: call __soc_pcm_close() in soc_pcm_close()
  UPSTREAM: ASoC: soc-pcm: Move debugfs removal out of spinlock
  ANDROID: GKI: Update the ABI for ASoC fixes
  BACKPORT: ASoC: soc-pcm: fix BE handling of PAUSE_RELEASE
  BACKPORT: ASoC: soc-pcm: test refcount before triggering
  UPSTREAM: ASoC: soc-pcm: serialize BE triggers
  ANDROID: GKI: Update the ABI xml
  BACKPORT: ASoC: soc-pcm: Fix and cleanup DPCM locking
  ANDROID: ABI: Update pixel symbol list
  ANDROID: ABI: update gki symbol list
  ANDROID: Add vendor hook for cma adjusting
  UPSTREAM: squashfs: always build "file direct" version of page actor
  UPSTREAM: squashfs: fix cache race with migration
  BACKPORT: squashfs: cache partial compressed blocks
  UPSTREAM: squashfs: fix buffer release race condition in readahead code
  UPSTREAM: squashfs: fix extending readahead beyond end of file
  UPSTREAM: squashfs: fix read regression introduced in readahead code
  UPSTREAM: squashfs: don't call kmalloc in decompressors
  UPSTREAM: squashfs: don't use intermediate buffer if pages missing
  UPSTREAM: squashfs: extend "page actor" to handle missing pages
  UPSTREAM: squashfs: support reading fragments in readahead call
  UPSTREAM: squashfs: implement readahead
  FROMLIST: fuse: revalidate: don't invalidate if interrupted
  Revert "gpio: Allow per-parent interrupt data"
  Revert "gpiolib: Fix GPIO chip IRQ initialization restriction"
  Linux 5.15.119
  act_mirred: remove unneded merge conflict markers
  i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle
  x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys
  vhost_net: revert upend_idx only on retriable error
  drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl
  drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl
  drm/exynos: vidi: fix a wrong error return
  ARM: dts: Fix erroneous ADS touchscreen polarities
  s390/purgatory: disable branch profiling
  ASoC: nau8824: Add quirk to active-high jack-detect
  soundwire: dmi-quirks: add new mapping for HP Spectre x360
  ASoC: simple-card: Add missing of_node_put() in case of error
  spi: lpspi: disable lpspi module irq in DMA mode
  s390/cio: unregister device when the only path is gone
  Input: soc_button_array - add invalid acpi_index DMI quirk handling
  nvme: double KA polling frequency to avoid KATO with TBKAS on
  usb: gadget: udc: fix NULL dereference in remove()
  nfcsim.c: Fix error checking for debugfs_create_dir
  media: cec: core: don't set last_initiator if tx in progress
  arm64: Add missing Set/Way CMO encodings
  HID: wacom: Add error check to wacom_parse_and_register()
  scsi: target: iscsi: Prevent login threads from racing between each other
  gpio: sifive: add missing check for platform_get_irq
  gpiolib: Fix GPIO chip IRQ initialization restriction
  gpio: Allow per-parent interrupt data
  sch_netem: acquire qdisc lock in netem_change()
  selftests: forwarding: Fix race condition in mirror installation
  bpf/btf: Accept function names that contain dots
  Revert "net: phy: dp83867: perform soft reset and retain established link"
  netfilter: nfnetlink_osf: fix module autoload
  netfilter: nf_tables: disallow updates of anonymous sets
  netfilter: nf_tables: reject unbound chain set before commit phase
  netfilter: nf_tables: reject unbound anonymous set before commit phase
  netfilter: nf_tables: disallow element updates of bound anonymous sets
  netfilter: nft_set_pipapo: .walk does not deal with generations
  netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain
  netfilter: nf_tables: fix chain binding transaction logic
  be2net: Extend xmit workaround to BE3 chip
  net: dsa: mt7530: fix handling of BPDUs on MT7530 switch
  net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch
  ipvs: align inner_mac_header for encapsulation
  mmc: usdhi60rol0: fix deferred probing
  mmc: sh_mmcif: fix deferred probing
  mmc: sdhci-acpi: fix deferred probing
  mmc: owl: fix deferred probing
  mmc: omap_hsmmc: fix deferred probing
  mmc: omap: fix deferred probing
  mmc: mvsdio: fix deferred probing
  mmc: mtk-sd: fix deferred probing
  net: qca_spi: Avoid high load if QCA7000 is not available
  xfrm: Linearize the skb after offloading if needed.
  selftests: net: fcnal-test: check if FIPS mode is enabled
  xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets
  bpf: Fix verifier id tracking of scalars on spill
  bpf: track immediate values written to stack by BPF_ST instruction
  xfrm: Ensure policies always checked on XFRM-I input path
  xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c
  xfrm: Treat already-verified secpath entries as optional
  ieee802154: hwsim: Fix possible memory leaks
  mmc: meson-gx: fix deferred probing
  memfd: check for non-NULL file_seals in memfd_create() syscall
  x86/mm: Avoid using set_pgd() outside of real PGD pages
  nilfs2: prevent general protection fault in nilfs_clear_dirty_page()
  io_uring/net: disable partial retries for recvmsg with cmsg
  io_uring/net: clear msg_controllen on partial sendmsg retry
  io_uring/net: save msghdr->msg_control for retries
  writeback: fix dereferencing NULL mapping->host on writeback_page_template
  regmap: spi-avmm: Fix regmap_bus max_raw_write
  regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK
  ip_tunnels: allow VXLAN/GENEVE to inherit TOS/TTL from VLAN
  mmc: mmci: stm32: fix max busy timeout calculation
  mmc: meson-gx: remove redundant mmc_request_done() call from irq context
  mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916
  cgroup: Do not corrupt task iteration when rebinding subsystem
  PCI: hv: Add a per-bus mutex state_lock
  PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic
  PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev
  Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally"
  PCI: hv: Fix a race condition bug in hv_pci_query_relations()
  Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs
  Drivers: hv: vmbus: Call hv_synic_free() if hv_synic_alloc() fails
  KVM: Avoid illegal stage2 mapping on invalid memory slot
  ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep()
  nilfs2: fix buffer corruption due to concurrent device reads
  selftests: mptcp: join: skip check if MIB counter not supported
  selftests: mptcp: join: use 'iptables-legacy' if available
  selftests: mptcp: pm nl: remove hardcoded default limits
  selftests/mount_setattr: fix redefine struct mount_attr build error
  selftests: mptcp: lib: skip if not below kernel version
  selftests: mptcp: lib: skip if missing symbol
  tick/common: Align tick period during sched_timer setup
  drm/amd/display: Add wrapper to call planes and stream update
  drm/amd/display: Use dc_update_planes_and_stream
  drm/amd/display: Add minimal pipe split transition state
  tpm, tpm_tis: Claim locality in interrupt handler
  tracing: Add tracing_reset_all_online_cpus_unlocked() function
  drm/amd/display: fix the system hang while disable PSR
  Revert "net: Remove DECnet leftovers from flow.h."
  Revert "ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback returning void"
  Revert "neighbour: fix unaligned access to pneigh_entry"
  Revert "net/ipv6: fix bool/int mismatch for skip_notify_on_dev_down"
  Revert "tcp: deny tcp_disconnect() when threads are waiting"
  Revert "usb: gadget: Properly configure the device for remote wakeup"
  Revert "usb: dwc3: fix gadget mode suspend interrupt handler issue"
  Revert "ASoC: fsl_micfil: Fix error handler with pm_runtime_enable"
  ANDROID: GKI: preserve CRC generation for some bluetooth symbols
  Revert "tipc: add tipc_bearer_min_mtu to calculate min mtu"
  Revert "tipc: do not update mtu if msg_max is too small in mtu negotiation"
  Revert "tipc: check the bearer min mtu properly when setting it by netlink"
  Revert "firmware: arm_sdei: Fix sleep from invalid context BUG"
  ANDROID: GKI: fix up mhi.ko build location.
  Revert "ASoC: soc-pcm: Fix and cleanup DPCM locking"
  Revert "ASoC: soc-pcm: Move debugfs removal out of spinlock"
  Revert "ASoC: soc-pcm.c: call __soc_pcm_close() in soc_pcm_close()"
  Revert "ASoC: soc-pcm: serialize BE triggers"
  Revert "ASoC: soc-pcm: Fix DPCM lockdep warning due to nested stream locks"
  Revert "ASoC: soc-pcm: test refcount before triggering"
  Revert "ASoC: soc-pcm: fix BE handling of PAUSE_RELEASE"
  Revert "uapi/linux/const.h: prefer ISO-friendly __typeof__"
  Revert "sched: Make struct sched_statistics independent of fair sched class"
  Revert "sched: Fix DEBUG && !SCHEDSTATS warn"
  Revert "sched/fair: Fix inaccurate tally of ttwu_move_affine"
  Revert "platform: Provide a remove callback that returns no value"
  Revert "media: rcar_fdp1: Convert to platform remove callback returning void"
  Linux 5.15.118
  nilfs2: reject devices with insufficient block count
  mmc: block: ensure error propagation for non-blk
  of: overlay: add entry to of_overlay_action_name[]
  neighbour: delete neigh_lookup_nodev as not used
  net: Remove DECnet leftovers from flow.h.
  net: Remove unused inline function dst_hold_and_use()
  neighbour: Remove unused inline function neigh_key_eq16()
  rcu/kvfree: Avoid freeing new kfree_rcu() memory after old grace period
  cgroup: always put cset in cgroup_css_set_put_fork
  afs: Fix vlserver probe RTT handling
  selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
  net: tipc: resize nlattr array to correct size
  dm: don't lock fs when the map is NULL during suspend or resume
  net: lapbether: only support ethernet devices
  net/sched: cls_api: Fix lockup on flushing explicitly created chain
  ext4: drop the call to ext4_error() from ext4_get_group_info()
  cifs: fix lease break oops in xfstest generic/098
  drm/nouveau: add nv_encoder pointer check for NULL
  drm/nouveau/dp: check for NULL nv_connector->native_mode
  drm/nouveau: don't detect DSM for non-NVIDIA device
  igb: fix nvm.ops.read() error handling
  igc: Clean the TX buffer and TX descriptor ring
  sctp: fix an error code in sctp_sf_eat_auth()
  ipvlan: fix bound dev checking for IPv6 l3s mode
  net: ethtool: correct MAX attribute value for stats
  IB/isert: Fix incorrect release of isert connection
  IB/isert: Fix possible list corruption in CMA handler
  IB/isert: Fix dead lock in ib_isert
  IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
  RDMA/cma: Always set static rate to 0 for RoCE
  RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions
  octeontx2-af: fix lbk link credits on cn10k
  octeontx2-af: fixed resource availability check
  iavf: remove mask from iavf_irq_enable_queues()
  RDMA/rxe: Fix the use-before-initialization error of resp_pkts
  RDMA/rxe: Removed unused name from rxe_task struct
  RDMA/rxe: Remove the unused variable obj
  net/sched: cls_u32: Fix reference counter leak leading to overflow
  net/sched: act_pedit: Parse L3 Header for L4 offset
  net/sched: act_pedit: remove extra check for key type
  net/sched: simplify tcf_pedit_act
  ping6: Fix send to link-local addresses with VRF.
  net: enetc: correct the indexes of highest and 2nd highest TCs
  netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
  netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
  netfilter: nf_tables: integrate pipapo into commit protocol
  spi: fsl-dspi: avoid SCK glitches with continuous transfers
  RDMA/rxe: Fix packet length checks
  RDMA/rtrs: Fix rxe_dealloc_pd warning
  RDMA/rtrs: Fix the last iu->buf leak in err path
  usb: dwc3: gadget: Reset num TRBs before giving back the request
  serial: lantiq: add missing interrupt ack
  USB: serial: option: add Quectel EM061KGL series
  thunderbolt: Mask ring interrupt on Intel hardware as well
  thunderbolt: dma_test: Use correct value for absent rings when creating paths
  Remove DECnet support from kernel
  ALSA: hda/realtek: Add a quirk for Compaq N14JP6
  drm/amdgpu: add missing radeon secondary PCI ID
  drm/amd/display: edp do not add non-edid timings
  net: usb: qmi_wwan: add support for Compal RXM-G1
  RDMA/uverbs: Restrict usage of privileged QKEYs
  nouveau: fix client work fence deletion race
  dm thin metadata: check fail_io before using data_sm
  ALSA: usb-audio: Add quirk flag for HEM devices to enable native DSD playback
  powerpc/purgatory: remove PGO flags
  x86/purgatory: remove PGO flags
  kexec: support purgatories with .text.hot sections
  nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
  nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
  nios2: dts: Fix tse_mac "max-frame-size" property
  ocfs2: check new file size on fallocate call
  ocfs2: fix use-after-free when unmounting read-only filesystem
  epoll: ep_autoremove_wake_function should use list_del_init_careful
  wifi: cfg80211: fix double lock bug in reg_wdev_chan_valid()
  wifi: cfg80211: fix locking in regulatory disconnect
  io_uring: hold uring mutex around poll removal
  irqchip/gic: Correctly validate OF quirk descriptors
  NVMe: Add MAXIO 1602 to bogus nid list.
  drm:amd:amdgpu: Fix missing buffer object unlock in failure path
  xen/blkfront: Only check REQ_FUA for writes
  ASoC: dwc: move DMA init to snd_soc_dai_driver probe()
  mips: Move initrd_start check after initrd address sanitisation.
  MIPS: Alchemy: fix dbdma2
  MIPS: unhide PATA_PLATFORM
  parisc: Flush gatt writes and adjust gatt mask in parisc_agp_mask_memory()
  parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
  ASoC: soc-pcm: test if a BE can be prepared
  btrfs: handle memory allocation failure in btrfs_csum_one_bio
  btrfs: scrub: try harder to mark RAID56 block groups read-only
  power: supply: Fix logic checking if system is running from battery
  irqchip/gic-v3: Disable pseudo NMIs on Mediatek devices w/ firmware issues
  regulator: Fix error checking for debugfs_create_dir
  platform/x86: asus-wmi: Ignore WMI events with codes 0x7B, 0xC0
  power: supply: Ratelimit no data debug output
  tools: gpio: fix debounce_period_us output of lsgpio
  ARM: dts: vexpress: add missing cache properties
  power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
  power: supply: sc27xx: Fix external_power_changed race
  power: supply: ab8500: Fix external_power_changed race
  of: overlay: Fix missing of_node_put() in error case of init_overlay_changeset()
  of: overlay: rework overlay apply and remove kfree()s
  of: overlay: rename variables to be consistent
  drm/amdgpu: fix Null pointer dereference error in amdgpu_device_recover_vram
  ksmbd: fix slab-out-of-bounds read in smb2_handle_negotiate
  test_firmware: fix a memory leak with reqs buffer
  test_firmware: prevent race conditions by a correct implementation of locking
  test_firmware: Use kstrtobool() instead of strtobool()
  Revert "sched/fair: Detect capacity inversion"
  Revert "sched/fair: Consider capacity inversion in util_fits_cpu()"
  Revert "sched/uclamp: Fix a uninitialized variable warnings"
  Revert "sched/fair: Fixes for capacity inversion detection"
  ANDROID: GKI: fix db845c build problem with 5.15.170
  Revert "ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()"
  ANDROID: preserve CRC for xhci symbols
  Linux 5.15.117
  Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE"
  xfs: verify buffer contents when we skip log replay
  Revert "debugobject: Ensure pool refill (again)"
  ext4: only check dquot_initialize_needed() when debugging
  Revert "ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled"
  vhost_vdpa: support PACKED when setting-getting vring_base
  vhost: support PACKED when setting-getting vring_base
  vduse: avoid empty string for dev name
  riscv: fix kprobe __user string arg print fault issue
  eeprom: at24: also select REGMAP
  i2c: sprd: Delete i2c adapter in .remove's error path
  firmware: arm_ffa: Set handle field to zero in memory descriptor
  i2c: mv64xxx: Fix reading invalid status value in atomic mode
  arm64: dts: imx8mn-beacon: Fix SPI CS pinmux
  ASoC: mediatek: mt8195: fix use-after-free in driver remove path
  ASoC: mediatek: mt8195-afe-pcm: Convert to platform remove callback returning void
  arm64: dts: imx8-ss-dma: assign default clock rate for lpuarts
  arm64: dts: imx8qm-mek: correct GPIOs for USDHC2 CD and WP signals
  arm64: dts: qcom: sc7180-lite: Fix SDRAM freq for misidentified sc7180-lite boards
  ASoC: codecs: wsa881x: do not set can_multi_write flag
  ARM: dts: at91: sama7g5ek: fix debounce delay property for shdwc
  usb: usbfs: Use consistent mmap functions
  usb: usbfs: Enforce page requirements for mmap
  pinctrl: meson-axg: add missing GPIOA_18 gpio group
  rbd: get snapshot context after exclusive lock is ensured to be held
  rbd: move RBD_OBJ_FLAG_COPYUP_ENABLED flag setting
  tee: amdtee: Add return_origin to 'struct tee_cmd_load_ta'
  Bluetooth: hci_qca: fix debugfs registration
  Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk
  s390/dasd: Use correct lock while counting channel queue length
  ceph: fix use-after-free bug for inodes when flushing capsnaps
  can: j1939: avoid possible use-after-free when j1939_can_rx_register fails
  can: j1939: change j1939_netdev_lock type to mutex
  can: j1939: j1939_sk_send_loop_abort(): improved error queue handling in J1939 Socket
  drm/amd/pm: Fix power context allocation in SMU13
  drm/amdgpu: fix xclk freq on CHIP_STONEY
  drm/amd/pm: conditionally disable pcie lane switching for some sienna_cichlid SKUs
  drm/i915/gt: Use the correct error value when kernel_context() fails
  ALSA: hda/realtek: Add Lenovo P3 Tower platform
  ALSA: hda/realtek: Add a quirk for HP Slim Desktop S01
  ALSA: hda/realtek: Add quirk for Clevo NS50AU
  Input: fix open count when closing inhibited device
  Input: psmouse - fix OOB access in Elantech protocol
  Input: xpad - delete a Razer DeathAdder mouse VID/PID entry
  batman-adv: Broken sync while rescheduling delayed work
  bnxt_en: Implement .set_port / .unset_port UDP tunnel callbacks
  bnxt_en: Query default VLAN before VNIC setup on a VF
  bnxt_en: Don't issue AP reset during ethtool's reset operation
  lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release()
  bpf: Add extra path pointer check to d_path helper
  net: sched: fix possible refcount leak in tc_chain_tmplt_add()
  net: sched: act_police: fix sparse errors in tcf_police_dump()
  net: sched: move rtm_tca_policy declaration to include file
  drm/i915/selftests: Add some missing error propagation
  drm/i915/selftests: Stop using kthread_stop()
  drm/i915/selftests: Increase timeout for live_parallel_switch
  rfs: annotate lockless accesses to RFS sock flow table
  rfs: annotate lockless accesses to sk->sk_rxhash
  ipv6: rpl: Fix Route of Death.
  netfilter: ipset: Add schedule point in call_ad().
  netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper
  selftests/bpf: Fix sockopt_sk selftest
  selftests/bpf: Verify optval=NULL case
  wifi: cfg80211: fix locking in sched scan stop work
  qed/qede: Fix scheduling while atomic
  Bluetooth: L2CAP: Add missing checks for invalid DCID
  Bluetooth: Fix l2cap_disconnect_req deadlock
  drm/i915: Use 18 fast wake AUX sync len
  drm/i915: Explain the magic numbers for AUX SYNC/precharge length
  net/sched: fq_pie: ensure reasonable TCA_FQ_PIE_QUANTUM values
  net: enetc: correct the statistics of rx bytes
  net/smc: Avoid to access invalid RMBs' MRs in SMCRv1 ADD LINK CONT
  net/ipv6: fix bool/int mismatch for skip_notify_on_dev_down
  bpf: Fix UAF in task local storage
  net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods
  neighbour: fix unaligned access to pneigh_entry
  wifi: mt76: mt7615: fix possible race in mt7615_mac_sta_poll
  afs: Fix setting of mtime when creating a file/dir/symlink
  spi: qup: Request DMA before enabling clocks
  platform/surface: aggregator: Allow completion work-items to be executed in parallel
  blk-iocost: avoid 64-bit division in ioc_timer_fn
  f2fs: fix iostat lock protection
  bonding (gcc13): synchronize bond_{a,t}lb_xmit() types
  i40e: fix build warning in ice_fltr_add_mac_to_list()
  i40e: use int for i40e_status
  i40e: Remove string printing for i40e_status
  sfc (gcc13): synchronize ef100_enqueue_skb()'s return type
  remove the sx8 block driver
  gcc-plugins: Reorganize gimple includes for GCC 13
  ata: ahci: fix enum constants for gcc-13
  Linux 5.15.116
  RDMA/irdma: Do not generate SW completions for NOPs
  RDMA/irdma: Fix drain SQ hang with no completion
  ARM: defconfig: drop CONFIG_DRM_RCAR_LVDS
  ext4: enable the lazy init thread when remounting read/write
  selftests: mptcp: join: skip if MPTCP is not supported
  selftests: mptcp: simult flows: skip if MPTCP is not supported
  selftests: mptcp: diag: skip if MPTCP is not supported
  drm/amdgpu/gfx10: Disable gfxoff before disabling powergating.
  scsi: dpt_i2o: Do not process completions with invalid addresses
  scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD)
  drm/rcar: stop using 'imply' for dependencies
  tpm, tpm_tis: Request threaded interrupt handler
  regmap: Account for register length when chunking
  KEYS: asymmetric: Copy sig and digest in public_key_verify_signature()
  ksmbd: fix incorrect AllocationSize set in smb2_get_info
  ksmbd: fix credit count leakage
  KVM: x86: Account fastpath-only VM-Exits in vCPU stats
  test_firmware: fix the memory leak of the allocated firmware buffer
  serial: 8250_tegra: Fix an error handling path in tegra_uart_probe()
  fbcon: Fix null-ptr-deref in soft_cursor
  ext4: add lockdep annotations for i_data_sem for ea_inode's
  ext4: disallow ea_inodes with extended attributes
  ext4: set lockdep subclass for the ea_inode in ext4_xattr_inode_cache_find()
  ext4: add EA_INODE checking to ext4_iget()
  selftests: mptcp: sockopt: skip if MPTCP is not supported
  selftests: mptcp: pm nl: skip if MPTCP is not supported
  selftests: mptcp: connect: skip if MPTCP is not supported
  tracing/probe: trace_probe_primary_from_call(): checked list_first_entry
  selinux: don't use make's grouped targets feature yet
  block: fix revalidate performance regression
  usb: cdns3: fix NCM gadget RX speed 20x slow than expection at iMX8QM
  usb: cdns3: allocate TX FIFO size according to composite EP number
  iommu/amd: Fix domain flush size when syncing iotlb
  powerpc/iommu: Limit number of TCEs to 512 for H_STUFF_TCE hcall
  btrfs: fix csum_tree_block page iteration to avoid tripping on -Werror=array-bounds
  tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
  mmc: pwrseq: sd8787: Fix WILC CHIP_EN and RESETN toggling order
  mmc: vub300: fix invalid response handling
  block/blk-iocost (gcc13): keep large values in a new enum
  ath6kl: Use struct_group() to avoid size-mismatched casting
  x86/boot: Wrap literal addresses in absolute_pointer()
  drm/amd/pm: reverse mclk and fclk clocks levels for renoir
  drm/amd/pm: reverse mclk and fclk clocks levels for yellow carp
  drm/amd/pm: reverse mclk and fclk clocks levels for vangogh
  ata: libata-scsi: Use correct device no in ata_find_dev()
  scsi: stex: Fix gcc 13 warnings
  misc: fastrpc: reject new invocations during device removal
  misc: fastrpc: return -EPIPE to invocations on device removal
  md/raid5: fix miscalculation of 'end_sector' in raid5_read_one_chunk()
  usb: gadget: f_fs: Add unbind event before functionfs_unbind
  dt-bindings: usb: snps,dwc3: Fix "snps,hsphy_interface" type
  net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818
  iio: dac: build ad5758 driver when AD5758 is selected
  iio: adc: ad7192: Change "shorted" channels to differential
  iio: dac: mcp4725: Fix i2c_master_send() return value handling
  iio: adc: ad_sigma_delta: Fix IRQ issue by setting IRQ_DISABLE_UNLAZY flag
  iio: light: vcnl4035: fixed chip ID check
  dt-bindings: iio: adc: renesas,rcar-gyroadc: Fix adi,ad7476 compatible value
  iio: imu: inv_icm42600: fix timestamp reset
  HID: wacom: avoid integer overflow in wacom_intuos_inout()
  HID: google: add jewel USB id
  iio: adc: mxs-lradc: fix the order of two cleanup operations
  iio: accel: st_accel: Fix invalid mount_matrix on devices without ACPI _ONT method
  media: uvcvideo: Don't expose unsupported formats to userspace
  mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
  nvme-pci: Add quirk for Teamgroup MP33 SSD
  drm/amdgpu: skip disabling fence driver src_irqs when device is unplugged
  atm: hide unused procfs functions
  drm/msm: Be more shouty if per-process pgtables aren't working
  ALSA: oss: avoid missing-prototype warnings
  nvme-multipath: don't call blk_mark_disk_dead in nvme_mpath_remove_disk
  netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT
  wifi: b43: fix incorrect __packed annotation
  scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed
  wifi: mac80211: simplify chanctx allocation
  arm64: vdso: Pass (void *) to virt_to_page()
  arm64/mm: mark private VM_FAULT_X defines as vm_fault_t
  ARM: dts: stm32: add pin map for CAN controller on stm32f7
  wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value
  ACPI: resource: Add IRQ override quirk for LG UltraPC 17U70P
  s390/topology: honour nr_cpu_ids when adding CPUs
  s390/pkey: zeroize key blobs
  media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221
  media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
  media: dvb-core: Fix use-after-free due to race at dvb_register_device()
  media: dvb-core: Fix use-after-free due on race condition at dvb_net
  media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table
  media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
  media: dvb_ca_en50221: fix a size write bug
  media: netup_unidvb: fix irq init by register it at the end of probe
  media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
  media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer()
  media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer
  media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer()
  media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer()
  media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer()
  media: dvb_demux: fix a bug for the continuity counter
  ASoC: ssm2602: Add workaround for playback distortions
  ASoC: dt-bindings: Adjust #sound-dai-cells on TI's single-DAI codecs
  xfrm: Check if_id in inbound policy/secpath match
  um: harddog: fix modular build
  ASoC: dwc: limit the number of overrun messages
  nvme-pci: add quirk for missing secondary temperature thresholds
  nvme-pci: add NVME_QUIRK_BOGUS_NID for HS-SSD-FUTURE 2048G
  block/rnbd: replace REQ_OP_FLUSH with REQ_OP_WRITE
  nbd: Fix debugfs_create_dir error checking
  fbdev: stifb: Fix info entry in sti_struct on error path
  fbdev: modedb: Add 1920x1080 at 60 Hz video mode
  fbdev: imsttfb: Fix use after free bug in imsttfb_probe
  gfs2: Don't deref jdesc in evict
  platform/x86: intel_scu_pcidrv: Add back PCI ID for Medfield
  media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
  ARM: 9295/1: unwind:fix unwind abort for uleb128 case
  btrfs: abort transaction when sibling keys check fails for leaves
  drm/ast: Fix ARM compatibility
  mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
  drm/amdgpu: Use the default reset when loading or reloading the driver
  ALSA: hda: Glenfly: add HD Audio PCI IDs and HDMI Codec Vendor IDs.
  watchdog: menz069_wdt: fix watchdog initialisation
  drm/amdgpu: release gpu full access after "amdgpu_device_ip_late_init"
  rtnetlink: call validate_linkmsg in rtnl_create_link
  mtd: rawnand: marvell: don't set the NAND frequency select
  mtd: rawnand: marvell: ensure timing values are written
  net: dsa: mv88e6xxx: Increase wait after reset deactivation
  net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
  net/mlx5: Read embedded cpu after init bit cleared
  net/mlx5e: Fix error handling in mlx5e_refresh_tirs
  udp6: Fix race condition in udp6_sendmsg & connect
  net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report
  net: sched: fix NULL pointer dereference in mq_attach
  net/sched: Prohibit regrafting ingress or clsact Qdiscs
  net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs
  net/sched: sch_clsact: Only create under TC_H_CLSACT
  net/sched: sch_ingress: Only create under TC_H_INGRESS
  tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set
  tcp: deny tcp_disconnect() when threads are waiting
  af_packet: do not use READ_ONCE() in packet_bind()
  RDMA/irdma: Fix Local Invalidate fencing
  RDMA/irdma: Prevent QP use after free
  RDMA/irdma: Add SW mechanism to generate completions on error
  mtd: rawnand: ingenic: fix empty stub helper definitions
  amd-xgbe: fix the false linkup in xgbe_phy_status
  af_packet: Fix data-races of pkt_sk(sk)->num.
  netrom: fix info-leak in nr_write_internal()
  net: mellanox: mlxbf_gige: Fix skb_panic splat under memory pressure
  net/mlx5e: Don't attach netdev profile while handling internal error
  net/mlx5: fw_tracer, Fix event handling
  riscv: Fix unused variable warning when BUILTIN_DTB is set
  dmaengine: pl330: rename _start to prevent build error
  iommu/amd: Don't block updates to GATag if guest mode is on
  iommu/rockchip: Fix unwind goto issue
  RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx
  RDMA/bnxt_re: Fix a possible memory leak
  dmaengine: at_xdmac: fix potential Oops in at_xdmac_prep_interleaved()
  dmaengine: at_xdmac: Move the free desc to the tail of the desc list
  RDMA/hns: Modify the value of long message loopback slice
  RDMA/hns: Fix base address table allocation
  RDMA/efa: Fix unsupported page sizes in device
  RDMA/bnxt_re: Fix the page_size used during the MR creation
  Linux 5.15.115
  netfilter: ctnetlink: Support offloaded conntrack entry deletion
  ipv{4,6}/raw: fix output xfrm lookup wrt protocol
  binder: fix UAF of alloc->vma in race with munmap()
  binder: add lockless binder_alloc_(set|get)_vma()
  Revert "android: binder: stop saving a pointer to the VMA"
  Revert "binder_alloc: add missing mmap_lock calls when using the VMA"
  bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
  xdp: xdp_mem_allocator can be NULL in trace_mem_connect().
  irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable
  page_pool: fix inconsistency for page_pool_ring_[un]lock()
  net: page_pool: use in_softirq() instead
  xdp: Allow registering memory model without rxq reference
  net/mlx5e: Fix SQ wake logic in ptp napi_poll context
  irqchip/mips-gic: Use raw spinlock for gic_lock
  irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()
  binder: fix UAF caused by faulty buffer cleanup
  bonding: fix send_peer_notif overflow
  Bonding: add arp_missed_max option
  net: dsa: mt7530: fix network connectivity with multiple CPU ports
  net: dsa: mt7530: split-off common parts from mt7531_setup
  net: dsa: mt7530: rework mt753[01]_setup
  net: dsa: introduce helpers for iterating through ports using dp
  net: phy: mscc: enable VSC8501/2 RGMII RX clock
  platform/x86: ISST: Remove 8 socket limit
  platform/x86: ISST: PUNIT device mapping with Sub-NUMA clustering
  net/mlx5: Devcom, serialize devcom registration
  net/mlx5e: Fix deadlock in tc route query code
  net/mlx5: devcom only supports 2 ports
  bpf: fix a memory leak in the LRU and LRU_PERCPU hash maps
  power: supply: bq24190: Call power_supply_changed() after updating input current
  power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
  power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
  power: supply: bq27xxx: Ensure power_supply_changed() is called on current sign changes
  power: supply: bq27xxx: Move bq27xxx_battery_update() down
  power: supply: bq27xxx: expose battery data when CI=1
  Linux 5.15.114
  net: phy: mscc: add VSC8502 to MODULE_DEVICE_TABLE
  3c589_cs: Fix an error handling path in tc589_probe()
  regulator: mt6359: add read check for PMIC MT6359
  firmware: arm_ffa: Set reserved/MBZ fields to zero in the memory descriptors
  arm64: dts: imx8mn-var-som: fix PHY detection bug by adding deassert delay
  net/mlx5: Devcom, fix error flow in mlx5_devcom_register_device
  net/mlx5: Fix error message when failing to allocate device memory
  net/mlx5: DR, Check force-loopback RC QP capability independently from RoCE
  net/mlx5: DR, Fix crc32 calculation to work on big-endian (BE) CPUs
  net/mlx5e: do as little as possible in napi poll when budget is 0
  platform/mellanox: mlxbf-pmc: fix sscanf() error checking
  forcedeth: Fix an error handling path in nv_probe()
  sctp: fix an issue that plpmtu can never go to complete state
  ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg
  x86/show_trace_log_lvl: Ensure stack pointer is aligned, again
  xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
  coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet()
  regulator: pca9450: Fix BUCK2 enable_mask
  fs: fix undefined behavior in bit shift for SB_NOUSER
  firmware: arm_ffa: Fix FFA device names for logical partitions
  firmware: arm_ffa: Check if ffa_driver remove is present before executing
  power: supply: sbs-charger: Fix INHIBITED bit for Status reg
  power: supply: bq27xxx: Add cache parameter to bq27xxx_battery_current_and_status()
  power: supply: bq27xxx: Fix poll_interval handling and races on remove
  power: supply: bq27xxx: Fix I2C IRQ race on remove
  power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition
  power: supply: mt6360: add a check of devm_work_autocancel in mt6360_charger_probe
  power: supply: leds: Fix blink to LED on transition
  cifs: mapchars mount option ignored
  ipv6: Fix out-of-bounds access in ipv6_find_tlv()
  bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields
  octeontx2-pf: Fix TSOv6 offload
  selftests: fib_tests: mute cleanup error message
  net: fix skb leak in __skb_tstamp_tx()
  ASoC: lpass: Fix for KASAN use_after_free out of bounds
  media: radio-shark: Add endpoint checks
  USB: sisusbvga: Add endpoint checks
  USB: core: Add routines for endpoint checks in old drivers
  udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
  net: fix stack overflow when LRO is disabled for virtual interfaces
  fbdev: udlfb: Fix endpoint check
  debugobjects: Don't wake up kswapd from fill_pool()
  x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms
  perf/x86/uncore: Correct the number of CHAs on SPR
  parisc: Fix flush_dcache_page() for usage from irq context
  selftests/memfd: Fix unknown type name build failure
  x86/mm: Avoid incomplete Global INVLPG flushes
  dt-binding: cdns,usb3: Fix cdns,on-chip-buff-size type
  btrfs: use nofs when cleaning up aborted transactions
  gpio: mockup: Fix mode of debugfs files
  parisc: Allow to reboot machine after system halt
  parisc: Handle kgdb breakpoints only in kernel context
  m68k: Move signal frame following exception on 68020/030
  net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
  ASoC: rt5682: Disable jack detection interrupt during suspend
  mmc: sdhci-esdhc-imx: make "no-mmc-hs400" works
  ALSA: hda/realtek: Enable headset onLenovo M70/M90
  ALSA: hda: Fix unhandled register update during auto-suspend period
  ALSA: hda/ca0132: add quirk for EVGA X299 DARK
  arm64: Also reset KASAN tag if page is not PG_mte_tagged
  ocfs2: Switch to security_inode_init_security()
  spi: fsl-cpm: Use 16 bit mode for large transfers with even size
  spi: fsl-spi: Re-organise transfer bits_per_word adaptation
  ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15
  watchdog: sp5100_tco: Immediately trigger upon starting.
  dt-bindings: ata: ahci-ceva: Cover all 4 iommus entries
  dt-bindings: ata: ahci-ceva: convert to yaml
  usb: dwc3: fix gadget mode suspend interrupt handler issue
  usb: gadget: Properly configure the device for remote wakeup
  Linux 5.15.113
  HID: wacom: add three styli to wacom_intuos_get_tool_type
  HID: wacom: Add new Intuos Pro Small (PTH-460) device IDs
  HID: wacom: Force pen out of prox if no events have been received in a while
  s390/qdio: fix do_sqbs() inline assembly constraint
  nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
  powerpc/64s/radix: Fix soft dirty tracking
  tpm/tpm_tis: Disable interrupts for more Lenovo devices
  powerpc/iommu: Incorrect DDW Table is referenced for SR-IOV device
  ceph: force updating the msg pointer in non-split case
  vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF
  thunderbolt: Clear registers properly when auto clear isn't in use
  serial: qcom-geni: fix enabling deactivated interrupt
  serial: 8250_exar: Add support for USR298x PCI Modems
  serial: Add support for Advantech PCI-1611U card
  statfs: enforce statfs[64] structure initialization
  ksmbd: fix global-out-of-bounds in smb2_find_context_vals
  ksmbd: fix wrong UserName check in session_user
  ksmbd: allocate one more byte for implied bcc[0]
  ksmbd: smb2: Allow messages padded to 8byte boundary
  SMB3: drop reference to cfile before sending oplock break
  SMB3: Close all deferred handles of inode in case of handle lease break
  can: kvaser_pciefd: Disable interrupts in probe error path
  can: kvaser_pciefd: Do not send EFLUSH command on TFD interrupt
  can: kvaser_pciefd: Clear listen-only bit if not explicitly requested
  can: kvaser_pciefd: Empty SRB buffer in probe
  can: kvaser_pciefd: Call request_irq() before enabling interrupts
  can: kvaser_pciefd: Set CAN_STATE_STOPPED in kvaser_pciefd_stop()
  can: isotp: recvmsg(): allow MSG_CMSG_COMPAT flag
  can: j1939: recvmsg(): allow MSG_CMSG_COMPAT flag
  ALSA: hda/realtek: Add quirk for 2nd ASUS GU603
  ALSA: hda/realtek: Add a quirk for HP EliteDesk 805
  ALSA: hda/realtek: Add quirk for Clevo L140AU
  ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table
  ALSA: hda: Fix Oops by 9.1 surround channel names
  xhci: Fix incorrect tracking of free space on transfer rings
  xhci-pci: Only run d3cold avoidance quirk for s2idle
  usb: typec: altmodes/displayport: fix pin_assignment_show
  usb: gadget: u_ether: Fix host MAC address case
  usb: dwc3: debugfs: Resume dwc3 before accessing registers
  USB: UHCI: adjust zhaoxin UHCI controllers OverCurrent bit value
  usb-storage: fix deadlock when a scsi command timeouts more than once
  USB: usbtmc: Fix direction for 0-length ioctl control messages
  ALSA: usb-audio: Add a sample rate workaround for Line6 Pod Go
  bridge: always declare tunnel functions
  netfilter: nft_set_rbtree: fix null deref on element insertion
  netfilter: nf_tables: fix nft_trans type confusion
  vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit()
  igb: fix bit_shift to be in [1..8] range
  net: dsa: mv88e6xxx: Fix mv88e6393x EPC write command offset
  cassini: Fix a memory leak in the error handling path of cas_init_one()
  scsi: storvsc: Don't pass unused PFNs to Hyper-V host
  wifi: iwlwifi: mvm: don't trust firmware n_channels
  wifi: iwlwifi: mvm: fix cancel_delayed_work_sync() deadlock
  wifi: mac80211: fix min center freq offset tracing
  net: bcmgenet: Restore phy_stop() depending upon suspend/close
  net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
  s390/cio: include subchannels without devices also for evaluation
  tipc: check the bearer min mtu properly when setting it by netlink
  tipc: do not update mtu if msg_max is too small in mtu negotiation
  tipc: add tipc_bearer_min_mtu to calculate min mtu
  virtio_net: Fix error unwinding of XDP initialization
  virtio-net: Maintain reverse cleanup order
  net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment()
  drm/exynos: fix g2d_open/close helper function definitions
  SUNRPC: Fix trace_svc_register() call site
  SUNRPC: always free ctxt when freeing deferred request
  SUNRPC: Remove svc_rqst::rq_xprt_hlen
  SUNRPC: Remove dead code in svc_tcp_release_rqst()
  SUNRPC: Clean up svc_deferred_class trace events
  tracing: Introduce helpers to safely handle dynamic-sized sockaddrs
  SUNRPC: double free xprt_ctxt while still in use
  media: netup_unidvb: fix use-after-free at del_timer()
  net: hns3: fix reset delay time to avoid configuration timeout
  net: hns3: fix sending pfc frames after reset issue
  net: hns3: fix output information incomplete for dumping tx queue info with debugfs
  erspan: get the proto with the md version for collect_md
  serial: 8250_bcm7271: fix leak in `brcmuart_probe`
  serial: 8250_bcm7271: balance clk_enable calls
  serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
  tcp: fix possible sk_priority leak in tcp_v4_send_reset()
  vsock: avoid to close connected socket after the timeout
  ALSA: hda/realtek: Apply HP B&O top speaker profile to Pavilion 15
  ALSA: firewire-digi00x: prevent potential use after free
  net: phy: dp83867: add w/a for packet errors seen with short cables
  net: fec: Better handle pm_runtime_get() failing in .remove()
  selftets: seg6: disable rp_filter by default in srv6_end_dt4_l3vpn_test
  selftests: seg6: disable DAD on IPv6 router cfg for srv6_end_dt4_l3vpn_test
  af_key: Reject optional tunnel/BEET mode templates in outbound policies
  cpupower: Make TSC read per CPU for Mperf monitor
  ASoC: fsl_micfil: Fix error handler with pm_runtime_enable
  dt-bindings: display/msm: dsi-controller-main: Document qcom, master-dsi and qcom, sync-dual-dsi
  drm/msm/dpu: Remove duplicate register defines from INTF
  drm/msm/dpu: Move non-MDP_TOP INTF_INTR offsets out of hwio header
  drm/msm/dpu: Add INTF_5 interrupts
  drm/msm/dp: unregister audio driver during unbind
  Revert "Fix XFRM-I support for nested ESP tunnels"
  xfrm: don't check the default policy if the policy allows the packet
  platform/x86: hp-wmi: add micmute to hp_wmi_keymap struct
  platform/x86: Move existing HP drivers to a new hp subdir
  platform/x86: hp-wmi: Support touchpad on/off
  parisc: Replace regular spinlock with spin_trylock on panic path
  mfd: dln2: Fix memory leak in dln2_probe()
  soundwire: qcom: gracefully handle too many ports in DT
  phy: st: miphy28lp: use _poll_timeout functions for waits
  Input: xpad - add constants for GIP interface numbers
  iommu/sprd: Release dma buffer to avoid memory leak
  iommu/arm-smmu-v3: Acknowledge pri/event queue overflow if any
  clk: tegra20: fix gcc-7 constant overflow warning
  fs/ntfs3: Fix a possible null-pointer dereference in ni_clear()
  fs/ntfs3: Add length check in indx_get_root
  fs/ntfs3: Validate MFT flags before replaying logs
  fs/ntfs3: Fix NULL dereference in ni_write_inode
  fs/ntfs3: Enhance the attribute size check
  fs/ntfs3: Fix NULL pointer dereference in 'ni_write_inode'
  iommu/arm-smmu-qcom: Limit the SMR groups to 128
  RDMA/core: Fix multiple -Warray-bounds warnings
  recordmcount: Fix memory leaks in the uwrite function
  sched: Fix KCSAN noinstr violation
  mcb-pci: Reallocate memory region to avoid memory overlapping
  serial: 8250: Reinit port->pm on port specific driver unbind
  usb: typec: tcpm: fix multiple times discover svids error
  HID: wacom: generic: Set battery quirk only when we see battery data
  spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3
  HID: logitech-hidpp: Reconcile USB and Unifying serials
  HID: logitech-hidpp: Don't use the USB serial for USB devices
  staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE
  Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp
  Bluetooth: hci_bcm: Fall back to getting bdaddr from EFI if not set
  Bluetooth: btintel: Add LE States quirk support
  ipvs: Update width of source for ip_vs_sync_conn_options
  nbd: fix incomplete validation of ioctl arg
  wifi: ath11k: Fix SKB corruption in REO destination ring
  wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace
  null_blk: Always check queue mode setting from configfs
  wifi: iwlwifi: pcie: Fix integer overflow in iwl_write_to_user_buf
  wifi: iwlwifi: pcie: fix possible NULL pointer dereference
  bpf: Add preempt_count_{sub,add} into btf id deny list
  samples/bpf: Fix fout leak in hbm's run_bpf_prog
  f2fs: fix to check readonly condition correctly
  f2fs: fix to drop all dirty pages during umount() if cp_error is set
  ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()
  ext4: set goal start correctly in ext4_mb_normalize_request
  scsi: ufs: ufs-pci: Add support for Intel Lunar Lake
  gfs2: Fix inode height consistency check
  scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition
  lib: cpu_rmap: Avoid use after free on rmap->obj array entries
  scsi: target: iscsit: Free cmds before session free
  net: Catch invalid index in XPS mapping
  net: pasemi: Fix return type of pasemi_mac_start_tx()
  bnxt: avoid overflow in bnxt_get_nvram_directory()
  scsi: lpfc: Prevent lpfc_debugfs_lockstat_write() buffer overflow
  ext2: Check block size validity during mount
  wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex
  bpf: Annotate data races in bpf_local_storage
  wifi: ath: Silence memcpy run-time false positive warning
  media: Prefer designated initializers over memset for subdev pad ops
  drm/amd: Fix an out of bounds error in BIOS parser
  ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects
  ACPICA: Avoid undefined behavior: applying zero offset to null pointer
  drm/msm/dp: Clean up handling of DP AUX interrupts
  drm/tegra: Avoid potential 32-bit integer overflow
  remoteproc: stm32_rproc: Add mutex protection for workqueue
  ACPI: EC: Fix oops when removing custom query handlers
  firmware: arm_sdei: Fix sleep from invalid context BUG
  memstick: r592: Fix UAF bug in r592_remove due to race condition
  media: pci: tw68: Fix null-ptr-deref bug in buf prepare and finish
  media: cx23885: Fix a null-ptr-deref bug in buffer_prepare() and buffer_finish()
  arm64: dts: qcom: msm8996: Add missing DWC3 quirks
  regmap: cache: Return error in cache sync operations for REGCACHE_NONE
  drm/amd/display: Use DC_LOG_DC in the trasform pixel function
  drm/displayid: add displayid_get_header() and check bounds better
  fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
  rcu: Protect rcu_print_task_exp_stall() ->exp_tasks access
  refscale: Move shutdown from wait_event() to wait_event_idle()
  ext4: allow ext4_get_group_info() to fail
  ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is set
  ext4: fix lockdep warning when enabling MMP
  ext4: don't clear SB_RDONLY when remounting r/w until quota is re-enabled
  ext4: reflect error codes from ext4_multi_mount_protect() to its callers
  ext4: remove an unused variable warning with CONFIG_QUOTA=n
  fbdev: arcfb: Fix error handling in arcfb_probe()
  drm/i915/dp: prevent potential div-by-zero
  af_unix: Fix data races around sk->sk_shutdown.
  af_unix: Fix a data race of sk->sk_receive_queue->qlen.
  net: datagram: fix data-races in datagram_poll()
  ipvlan:Fix out-of-bounds caused by unclear skb->cb
  gve: Remove the code of clearing PBA bit
  tcp: add annotations around sk->sk_shutdown accesses
  net: add vlan_get_protocol_and_depth() helper
  net: deal with most data-races in sk_wait_event()
  net: annotate sk->sk_err write from do_recvmmsg()
  netlink: annotate accesses to nlk->cb_running
  netfilter: conntrack: fix possible bug_on with enable_hooks=1
  netfilter: nf_tables: always release netdev hooks from notifier
  net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs().
  net: stmmac: Initialize MAC_ONEUS_TIC_COUNTER register
  net: stmmac: switch to use interrupt for hw crosstimestamping
  linux/dim: Do nothing if no time delta between samples
  tick/broadcast: Make broadcast device replacement work correctly
  scsi: ufs: core: Fix I/O hang that occurs when BKOPS fails in W-LUN suspend
  net: mdio: mvusb: Fix an error handling path in mvusb_mdio_probe()
  ARM: 9296/1: HP Jornada 7XX: fix kernel-doc warnings
  drm/mipi-dsi: Set the fwnode for mipi_dsi_device
  Linux 5.15.112
  drm/amd/display: Fix hang when skipping modeset
  RISC-V: Fix up a cherry-pick warning in setup_vm_final()
  drbd: correctly submit flush bio on barrier
  serial: 8250: Fix serial8250_tx_empty() race with DMA Tx
  drm/msm/adreno: adreno_gpu: Use suspend() instead of idle() on load error
  ext4: fix invalid free tracking in ext4_xattr_move_to_block()
  ext4: remove a BUG_ON in ext4_mb_release_group_pa()
  ext4: bail out of ext4_xattr_ibody_get() fails for any reason
  ext4: add bounds checking in get_max_inline_xattr_value_size()
  ext4: fix deadlock when converting an inline directory in nojournal mode
  ext4: improve error handling from ext4_dirhash()
  ext4: improve error recovery code paths in __ext4_remount()
  ext4: check iomap type only if ext4_iomap_begin() does not fail
  ext4: fix data races when using cached status extents
  ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
  ext4: fix WARNING in mb_find_extent
  locking/rwsem: Add __always_inline annotation to __down_read_common() and inlined callers
  ksmbd: not allow guest user on multichannel
  ksmbd: fix deadlock in ksmbd_find_crypto_ctx()
  ksmbd: fix racy issue while destroying session on multichannel
  ksmbd: fix kernel oops from idr_remove()
  ksmbd: add channel rwlock
  ksmbd: replace sessions list in connection with xarray
  ksmbd: fix multi session connection failure
  ksmbd: set RSS capable in FSCTL_QUERY_NETWORK_INTERFACE_INFO
  wifi: rtw88: rtw8821c: Fix rfe_option field width
  drm/amd/display: Add NULL plane_state check for cursor disable logic
  drm/amd/display: Refine condition of cursor visibility for pipe-split
  drm/msm/adreno: fix runtime PM imbalance at gpu load
  drm/msm: Remove struct_mutex usage
  drm/i915/dg2: Add HDMI pixel clock frequencies 267.30 and 319.89 MHz
  drm/i915/dg2: Add additional HDMI pixel clock frequencies
  drm/i915/dg2: Support 4k@30 on HDMI
  ASoC: soc-pcm.c: call __soc_pcm_close() in soc_pcm_close()
  ASoC: DPCM: Don't pick up BE without substream
  ASoC: soc-pcm: Move debugfs removal out of spinlock
  ASoC: soc-compress: Inherit atomicity from DAI link for Compress FE
  ASoC: soc-pcm: Fix DPCM lockdep warning due to nested stream locks
  fs/ntfs3: Refactoring of various minor issues
  HID: wacom: insert timestamp to packed Bluetooth (BT) events
  HID: wacom: Set a default resolution for older tablets
  drm/amdgpu: disable sdma ecc irq only when sdma RAS is enabled in suspend
  drm/amdgpu: Fix vram recover doesn't work after whole GPU reset (v2)
  drm/amdgpu/gfx: disable gfx9 cp_ecc_error_irq only when enabling legacy gfx ras
  drm/amdgpu: fix an amdgpu_irq_put() issue in gmc_v9_0_hw_fini()
  drm/amd/display: fix flickering caused by S/G mode
  drm/panel: otm8009a: Set backlight parent to panel device
  f2fs: fix potential corruption when moving a directory
  drm/msm: fix NULL-deref on irq uninstall
  drm/msm: fix NULL-deref on snapshot tear down
  drm/bridge: lt8912b: Fix DSI Video Mode
  ARM: dts: s5pv210: correct MIPI CSIS clock name
  ARM: dts: exynos: fix WM8960 clock name in Itop Elite
  remoteproc: imx_rproc: Call of_node_put() on iteration error
  remoteproc: st: Call of_node_put() on iteration error
  remoteproc: stm32: Call of_node_put() on iteration error
  sh: nmi_debug: fix return value of __setup handler
  sh: init: use OF_EARLY_FLATTREE for early init
  sh: mcount.S: fix build error when PRINTK is not enabled
  sh: math-emu: fix macro redefined warning
  SMB3: force unmount was failing to close deferred close files
  smb3: fix problem remounting a share after shutdown
  inotify: Avoid reporting event with invalid wd
  platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i
  platform/x86: touchscreen_dmi: Add upside-down quirk for GDIX1002 ts on the Juno Tablet
  cifs: release leases for deferred close handles when freezing
  cifs: fix pcchunk length type in smb2_copychunk_range
  btrfs: fix space cache inconsistency after error loading it from disk
  btrfs: print-tree: parent bytenr must be aligned to sector size
  btrfs: zero the buffer before marking it dirty in btrfs_redirty_list_add
  btrfs: don't free qgroup space unless specified
  btrfs: fix encoded write i_size corruption with no-holes
  btrfs: zoned: fix wrong use of bitops API in btrfs_ensure_empty_zones
  btrfs: fix btrfs_prev_leaf() to not return the same key twice
  perf stat: Separate bperf from bpf_profiler
  perf evlist: Refactor evlist__for_each_cpu()
  perf symbols: Fix return incorrect build_id size in elf_read_build_id()
  crypto: engine - fix crypto_queue backlog handling
  crypto: engine - Use crypto_request_complete
  crypto: api - Add scaffolding to change completion function signature
  crypto: engine - check if BH is disabled during completion
  crypto: sun8i-ss - Fix a test in sun8i_ss_setup_ivs()
  perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp()
  perf pmu: zfree() expects a pointer to a pointer to zero it after freeing its contents
  perf vendor events power9: Remove UTF-8 characters from JSON files
  perf scripts intel-pt-events.py: Fix IPC output for Python 2
  net: enetc: check the index of the SFI rather than the handle
  virtio_net: suppress cpu stall when free_unused_bufs
  virtio_net: split free_unused_bufs()
  net: dsa: mt7530: fix corrupt frames using trgmii on 40 MHz XTAL MT7621
  ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init`
  drm/amdgpu: add a missing lock for AMDGPU_SCHED
  af_packet: Don't send zero-byte data in packet_sendmsg_spkt().
  ionic: catch failure from devlink_alloc
  ethtool: Fix uninitialized number of lanes
  ionic: remove noise from ethtool rxnfc error msg
  octeontx2-vf: Detach LF resources on probe cleanup
  octeontx2-pf: Disable packet I/O for graceful exit
  octeontx2-af: Skip PFs if not enabled
  octeontx2-af: Secure APR table update with the lock
  rxrpc: Fix hard call timeout units
  sfc: Fix module EEPROM reporting for QSFP modules
  r8152: move setting r8153b_rx_agg_chg_indicate()
  r8152: fix the poor throughput for 2.5G devices
  r8152: fix flow control issue of RTL8156A
  net/sched: act_mirred: Add carrier check
  RISC-V: mm: Enable huge page support to kernel_page_present() function
  watchdog: dw_wdt: Fix the error handling path of dw_wdt_drv_probe()
  writeback: fix call of incorrect macro
  net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu
  selftests: srv6: make srv6_end_dt46_l3vpn_test more robust
  sit: update dev->needed_headroom in ipip6_tunnel_bind_dev()
  net/sched: cls_api: remove block_cb from driver_list before freeing
  net/ncsi: clear Tx enable mode when handling a Config required AEN
  scsi: qedi: Fix use after free bug in qedi_remove()
  drm/hyperv: Don't overwrite dirt_needed value set by host
  fs/ntfs3: Fix null-ptr-deref on inode->i_op in ntfs_lookup()
  ASoC: soc-pcm: fix BE handling of PAUSE_RELEASE
  ASoC: soc-pcm: test refcount before triggering
  ASoC: soc-pcm: serialize BE triggers
  ASoC: soc-pcm: Fix and cleanup DPCM locking
  ASoC: soc-pcm: align BE 'atomicity' with that of the FE
  ASoC: soc-pcm: use GFP_ATOMIC for dpcm structure
  mailbox: zynqmp: Fix counts of child nodes
  mailbox: zynq: Switch to flexible array to simplify code
  bus: mhi: host: Range check CHDBOFF and ERDBOFF
  bus: mhi: host: Use mhi_tryset_pm_state() for setting fw error state
  bus: mhi: host: Remove duplicate ee check for syserr
  bus: mhi: Move host MHI code to "host" directory
  ubifs: Fix memory leak in do_rename
  ubifs: Fix AA deadlock when setting xattr for encrypted file
  crypto: ccp - Clear PSP interrupt status register before calling handler
  ring-buffer: Ensure proper resetting of atomic variables in ring_buffer_reset_online_cpus
  Linux 5.15.111
  sched: Fix DEBUG && !SCHEDSTATS warn
  netfilter: nf_tables: deactivate anonymous set from preparation phase
  arm64: dts: qcom: sdm845: correct dynamic power coefficients - again
  sound/oss/dmasound: fix 'dmasound_setup' defined but not used
  debugobject: Ensure pool refill (again)
  perf intel-pt: Fix CYC timestamps after standalone CBR
  perf auxtrace: Fix address filter entire kernel size
  dm: don't lock fs when the map is NULL in process of resume
  dm ioctl: fix nested locking in table_clear() to remove deadlock concern
  dm flakey: fix a crash with invalid table line
  dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path
  dm clone: call kmem_cache_destroy() in dm_clone_init() error path
  dm verity: fix error handling for check_at_most_once on FEC
  ia64: fix an addr to taddr in huge_pte_offset()
  s390/dasd: fix hanging blockdevice after request requeue
  btrfs: scrub: reject unsupported scrub flags
  scripts/gdb: fix lx-timerlist for Python3
  clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent
  wifi: rtl8xxxu: RTL8192EU always needs full init
  mailbox: zynqmp: Fix typo in IPI documentation
  mailbox: zynqmp: Fix IPI isr handling
  mtd: core: fix error path for nvmem provider
  mtd: core: fix nvmem error reporting
  mtd: core: provide unique name for nvmem device, take two
  md/raid10: fix null-ptr-deref in raid10_sync_request
  nilfs2: fix infinite loop in nilfs_mdt_get_block()
  nilfs2: do not write dirty data after degenerating to read-only
  ALSA: usb-audio: Add quirk for Pioneer DDJ-800
  parisc: Fix argument pointer in real64_call_asm()
  afs: Fix updating of i_size with dv jump from server
  mfd: tqmx86: Correct board names for TQMxE39x
  mfd: tqmx86: Specify IO port register range more precisely
  mfd: tqmx86: Do not access I2C_DETECT register through io_base
  thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe
  dmaengine: at_xdmac: do not enable all cyclic channels
  dmaengine: at_xdmac: Fix race for the tx desc callback
  dmaengine: at_xdmac: Fix concurrency over chan's completed_cookie
  dmaengine: dw-edma: Fix to enable to issue dma request on DMA processing
  dmaengine: dw-edma: Fix to change for continuous transfer
  dma: gpi: remove spurious unlock in gpi_ch_init
  phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port
  pwm: mtk-disp: Configure double buffering before reading in .get_state()
  pwm: mtk-disp: Disable shadow registers before setting backlight values
  leds: tca6507: Fix error handling of using fwnode_property_read_string
  dmaengine: mv_xor_v2: Fix an error code.
  leds: TI_LMU_COMMON: select REGMAP instead of depending on it
  pinctrl: renesas: r8a779a0: Remove incorrect AVB[01] pinmux configuration
  ext4: fix use-after-free read in ext4_find_extent for bigalloc + inline
  ext4: fix i_disksize exceeding i_size problem in paritally written case
  SMB3: Close deferred file handles in case of handle lease break
  SMB3: Add missing locks to protect deferred close file list
  timekeeping: Fix references to nonexistent ktime_get_fast_ns()
  openrisc: Properly store r31 to pt_regs on unhandled exceptions
  clocksource/drivers/davinci: Fix memory leak in davinci_timer_register when init fails
  RDMA/mlx5: Use correct device num_ports when modify DC
  SUNRPC: remove the maximum number of retries in call_bind_status
  RDMA/mlx5: Fix flow counter query via DEVX
  Input: raspberrypi-ts - fix refcount leak in rpi_ts_probe
  clk: qcom: gcc-sm8350: fix PCIe PIPE clocks handling
  clk: qcom: regmap: add PHY clock source implementation
  NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease
  IB/hfi1: Fix bugs with non-PAGE_SIZE-end multi-iovec user SDMA requests
  IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order
  RDMA/srpt: Add a check for valid 'mad_agent' pointer
  RDMA/cm: Trace icm_send_rej event before the cm state is reset
  clk: qcom: gcc-sm6115: Mark RCGs shared where applicable
  RDMA/siw: Remove namespace check from siw_netdev_event()
  clk: add missing of_node_put() in "assigned-clocks" property parsing
  power: supply: generic-adc-battery: fix unit scaling
  fs/ntfs3: Fix slab-out-of-bounds read in hdr_delete_de()
  fs/ntfs3: Fix OOB read in indx_insert_into_buffer
  fs/ntfs3: Add check for kmemdup
  fs/ntfs3: Fix memory leak if ntfs_read_mft failed
  rtc: meson-vrtc: Use ktime_get_real_ts64() to get the current time
  RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()
  rtc: omap: include header for omap_rtc_power_off_program prototype
  workqueue: Fix hung time report of worker pools
  workqueue: Introduce show_one_worker_pool and show_one_workqueue.
  RDMA/rdmavt: Delete unnecessary NULL check
  RDMA/siw: Fix potential page_array out of range access
  clk: at91: clk-sam9x60-pll: fix return value check
  sched/rt: Fix bad task migration for rt tasks
  Revert "objtool: Support addition to set CFA base"
  perf/core: Fix hardlockup failure caused by perf throttle
  sched/fair: Fix inaccurate tally of ttwu_move_affine
  sched: Make struct sched_statistics independent of fair sched class
  sched/fair: Use __schedstat_set() in set_next_entity()
  powerpc/rtas: use memmove for potentially overlapping buffer copy
  macintosh: via-pmu-led: requires ATA to be set
  powerpc/sysdev/tsi108: fix resource printk format warnings
  powerpc/wii: fix resource printk format warnings
  powerpc/mpc512x: fix resource printk format warning
  macintosh/windfarm_smu_sat: Add missing of_node_put()
  virtio_ring: don't update event idx on get_buf
  spmi: Add a check for remove callback when removing a SPMI driver
  staging: rtl8192e: Fix W_DISABLE# does not work after stop/start
  serial: 8250: Add missing wakeup event reporting
  tty: serial: fsl_lpuart: adjust buffer length to the intended size
  firmware: stratix10-svc: Fix an NULL vs IS_ERR() bug in probe
  usb: mtu3: fix kernel panic at qmu transfer done irq handler
  usb: chipidea: fix missing goto in `ci_hdrc_probe`
  usb: gadget: tegra-xudc: Fix crash in vbus_draw
  sh: sq: Fix incorrect element size for allocating bitmap buffer
  uapi/linux/const.h: prefer ISO-friendly __typeof__
  scripts/gdb: raise error with reduced debugging information
  i2c: cadence: cdns_i2c_master_xfer(): Fix runtime PM leak on error path
  spi: cadence-quadspi: fix suspend-resume implementations
  ASoC: fsl_mqs: move of_node_put() to the correct location
  coresight: etm_pmu: Set the module field
  HID: amd_sfh: Add support for shutdown operation
  scripts/gdb: bail early if there are no generic PD
  scripts/gdb: bail early if there are no clocks
  ia64: salinfo: placate defined-but-not-used warning
  ia64: mm/contig: fix section mismatch warning/error
  PCI/EDR: Clear Device Status after EDR error recovery
  of: Fix modalias string generation
  vmci_host: fix a race condition in vmci_host_poll() causing GPF
  spi: fsl-spi: Fix CPM/QE mode Litte Endian
  spi: qup: Don't skip cleanup in remove's error path
  linux/vt_buffer.h: allow either builtin or modular for macros
  ASoC: es8316: Handle optional IRQ assignment
  PCI: imx6: Install the fault handler only on compatible match
  usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition
  spi: imx: Don't skip cleanup in remove's error path
  spi: spi-imx: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
  serial: 8250_bcm7271: Fix arbitration handling
  iio: light: max44009: add missing OF device matching
  fpga: bridge: fix kernel-doc parameter description
  serial: stm32: Re-assert RTS/DE GPIO in RS485 mode only if more data are transmitted
  serial: stm32: re-introduce an irq flag condition in usart_receive_chars
  usb: dwc3: gadget: Change condition for processing suspend event
  usb: host: xhci-rcar: remove leftover quirk handling
  pstore: Revert pmsg_lock back to a normal mutex
  drivers: staging: rtl8723bs: Fix locking in rtw_scan_timeout_handler()
  drivers: staging: rtl8723bs: Fix locking in _rtw_join_timeout_handler()
  ipmi: ASPEED_BT_IPMI_BMC: select REGMAP_MMIO instead of depending on it
  tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp.
  net: amd: Fix link leak when verifying config failed
  netlink: Use copy_to_user() for optval in netlink_getsockopt().
  Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work"
  ipv4: Fix potential uninit variable access bug in __ip_make_skb()
  net/sched: sch_fq: fix integer overflow of "credit"
  netfilter: nf_tables: don't write table validation state without mutex
  bpf: Don't EFAULT for getsockopt with optval=NULL
  net: stmmac:fix system hang when setting up tag_8021q VLAN for DSA ports
  net/mlx5: E-switch, Don't destroy indirect table in split rule
  ixgbe: Enable setting RSS table to default values
  ixgbe: Allow flow hash to be set via ethtool
  wifi: iwlwifi: fw: fix memory leak in debugfs
  wifi: iwlwifi: mvm: check firmware response size
  wifi: mt76: mt7921e: improve reliability of dma reset
  wifi: mt76: fix 6GHz high channel not be scanned
  wifi: mt76: mt7921e: fix probe timeout after reboot
  wifi: mt76: add flexible polling wait-interval support
  wifi: mt76: handle failure of vzalloc in mt7615_coredump_work
  wifi: iwlwifi: make the loop for card preparation effective
  jdb2: Don't refuse invalidation of already invalidated buffers
  wifi: iwlwifi: fw: move memset before early return
  wifi: iwlwifi: mvm: initialize seq variable
  wifi: iwlwifi: yoyo: Fix possible division by zero
  wifi: iwlwifi: yoyo: skip dump correctly on hw error
  md/raid10: don't call bio_start_io_acct twice for bio which experienced read error
  md/raid10: fix memleak of md thread
  md/raid10: fix memleak for 'conf->bio_split'
  md/raid10: fix leak of 'r10bio->remaining' for recovery
  md/raid10: fix task hung in raid10d
  md/raid10: factor out code from wait_barrier() to stop_waiting_barrier()
  md: raid10 add nowait support
  md: drop queue limitation for RAID1 and RAID10
  bpf, sockmap: Revert buggy deadlock fix in the sockhash and sockmap
  selftests/bpf: Fix leaked bpf_link in get_stackid_cannot_attach
  nvme-fcloop: fix "inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage"
  nvme: fix async event trace event
  nvme: handle the persistent internal error AER
  nvmet: fix I/O Command Set specific Identify Controller
  nvmet: fix Identify Active Namespace ID list handling
  nvmet: fix Identify Controller handling
  nvmet: fix Identify Namespace handling
  nvmet: fix error handling in nvmet_execute_identify_cns_cs_ns()
  nvmet: move the call to nvmet_ns_changed out of nvmet_ns_revalidate
  nvmet: use i_size_read() to set size for file-ns
  bpf, sockmap: fix deadlocks in the sockhash and sockmap
  net: ethernet: stmmac: dwmac-rk: fix optional phy regulator handling
  scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup()
  f2fs: fix to avoid use-after-free for cached IPU bio
  xsk: Fix unaligned descriptor validation
  crypto: drbg - Only fail when jent is unavailable in FIPS mode
  crypto: drbg - make drbg_prepare_hrng() handle jent instantiation errors
  bpftool: Fix bug for long instructions in program CFG dumps
  selftests/bpf: Wait for receive in cg_storage_multi test
  selftests: xsk: Disable IPv6 on VETH1
  net: qrtr: correct types of trace event parameters
  wifi: rt2x00: Fix memory leak when handling surveys
  wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg()
  wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg()
  crypto: sa2ul - Select CRYPTO_DES
  crypto: caam - Clear some memory in instantiate_rng
  f2fs: compress: fix to call f2fs_wait_on_page_writeback() in f2fs_write_raw_pages()
  f2fs: apply zone capacity to all zone type
  f2fs: enforce single zone capacity
  f2fs: handle dqget error in f2fs_transfer_project_quota()
  scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS
  scsi: target: iscsit: Fix TAS handling during conn cleanup
  scsi: target: Fix multiple LUN_RESET handling
  net/packet: convert po->auxdata to an atomic flag
  net/packet: convert po->origdev to an atomic flag
  net/packet: annotate accesses to po->xmit
  vlan: partially enable SIOCSHWTSTAMP in container
  net: pcs: xpcs: remove double-read of link state when using AN
  bpf: Remove misleading spec_v1 check on var-offset stack read
  selftests/bpf: Fix a fd leak in an error path in network_helpers.c
  scm: fix MSG_CTRUNC setting condition for SO_PASSSEC
  bpf: fix precision propagation verbose logging
  bpf: take into account liveness when propagating precision
  wifi: rtw88: mac: Return the original error from rtw_mac_power_switch()
  wifi: rtw88: mac: Return the original error from rtw_pwr_seq_parser()
  tools: bpftool: Remove invalid \' json escape
  wifi: ath6kl: reduce WARN to dev_dbg() in callback
  wifi: brcmfmac: support CQM RSSI notification with older firmware
  wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list()
  wifi: ath9k: hif_usb: fix memory leak of remain_skbs
  wifi: ath6kl: minor fix for allocation size
  hwmon: (pmbus/fsp-3y) Fix functionality bitmask in FSP-3Y YM-2151E
  cpufreq: use correct unit when verify cur freq
  tick/common: Align tick period with the HZ tick.
  drm/i915: Make intel_get_crtc_new_encoder() less oopsy
  debugobject: Prevent init race with static objects
  arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step
  x86/ioapic: Don't return 0 from arch_dynirq_lower_bound()
  regulator: stm32-pwr: fix of_iomap leak
  media: venus: dec: Fix handling of the start cmd
  media: rc: gpio-ir-recv: Fix support for wake-up
  drm/amd/display: Fix potential null dereference
  media: rcar_fdp1: Fix refcount leak in probe and remove function
  media: rcar_fdp1: Convert to platform remove callback returning void
  platform: Provide a remove callback that returns no value
  media: rcar_fdp1: Fix the correct variable assignments
  media: rcar_fdp1: Make use of the helper function devm_platform_ioremap_resource()
  media: saa7134: fix use after free bug in saa7134_finidev due to race condition
  media: dm1105: Fix use after free bug in dm1105_remove due to race condition
  media: rkvdec: fix use after free bug in rkvdec_remove
  x86/apic: Fix atomic update of offset in reserve_eilvt_offset()
  regulator: core: Avoid lockdep reports when resolving supplies
  regulator: core: Consistently set mutex_owner when using ww_mutex_lock_slow()
  drm/ttm/pool: Fix ttm_pool_alloc error path
  drm/ttm: optimize pool allocations a bit v2
  arm64: dts: qcom: msm8994-msft-lumia-octagon: drop unit address from PMI8994 regulator
  arm64: dts: qcom: msm8994-kitakami: drop unit address from PMI8994 regulator
  arm64: dts: qcom: sc7180-trogdor-lazor: correct trackpad supply
  mailbox: mpfs: switch to txdone_poll
  drm/lima/lima_drv: Add missing unwind goto in lima_pdev_probe()
  ACPI: VIOT: Initialize the correct IOMMU fwspec
  firmware: arm_scmi: Fix xfers allocation on Rx channel
  ARM: dts: gta04: fix excess dma channel usage
  drm: rcar-du: Fix a NULL vs IS_ERR() bug
  mmc: sdhci-of-esdhc: fix quirk to ignore command inhibit for data
  ACPI: processor: Fix evaluating _PDC method when running as Xen dom0
  drm/amd/display/dc/dce60/Makefile: Fix previous attempt to silence known override-init warnings
  drm: msm: adreno: Disable preemption on Adreno 510
  drm/msm/adreno: drop bogus pm_runtime_set_active()
  drm/msm/adreno: Defer enabling runpm until hw_init()
  media: max9286: Free control handler
  drm/bridge: adv7533: Fix adv7533_mode_valid for adv7533 and adv7535
  firmware: qcom_scm: Clear download bit during reboot
  media: av7110: prevent underflow in write_ts_to_decoder()
  media: bdisp: Add missing check for create_workqueue
  x86/MCE/AMD: Use an u64 for bank_map
  ARM: dts: qcom: ipq8064: Fix the PCI I/O port range
  ARM: dts: qcom: ipq8064: reduce pci IO size to 64K
  ARM: dts: qcom: ipq4019: Fix the PCI I/O port range
  arm64: dts: qcom: sm8250: Fix the PCI I/O port range
  arm64: dts: qcom: msm8996: Fix the PCI I/O port range
  arm64: dts: qcom: ipq6018: Fix the PCI I/O port range
  arm64: dts: qcom: ipq8074: Fix the PCI I/O port range
  arm64: dts: qcom: msm8998: Fix the PCI I/O port range
  arm64: dts: qcom: sdm845: Fix the PCI I/O port range
  arm64: dts: qcom: sdm845: correct dynamic power coefficients
  arm64: dts: qcom: msm8998: Fix stm-stimulus-base reg name
  arm64: dts: broadcom: bcmbca: bcm4908: fix procmon nodename
  arm64: dts: broadcom: bcmbca: bcm4908: fix NAND interrupt name
  arm64: dts: Move BCM4908 dts to bcmbca folder
  arm64: dts: Add base DTS file for bcmbca device Asus GT-AX6000
  ARM64: dts: Add DTS files for bcmbca SoC BCM6858
  arm64: dts: Add DTS files for bcmbca SoC BCM4912
  arm64: dts: Add DTS files for bcmbca SoC BCM63158
  arm64: dts: broadcom: bcm4908: add DT for Netgear RAXE500
  arm64: dts: ti: k3-j721e-main: Remove ti,strobe-sel property
  regulator: core: Shorten off-on-delay-us for always-on/boot-on by time since booted
  EDAC/skx: Fix overflows on the DRAM row address mapping arrays
  drm/msm/disp/dpu: check for crtc enable rather than crtc active to release shared resources
  arm64: dts: renesas: r8a774c0: Remove bogus voltages from OPP table
  arm64: dts: renesas: r8a77990: Remove bogus voltages from OPP table
  soc: ti: pm33xx: Fix refcount leak in am33xx_pm_probe
  tools/x86/kcpuid: Fix avx512bw and avx512lvl fields in Fn00000007
  drm/probe-helper: Cancel previous job before starting new one
  drm/vgem: add missing mutex_destroy
  drm/rockchip: Drop unbalanced obj unref
  erofs: fix potential overflow calculating xattr_isize
  erofs: stop parsing non-compact HEAD index if clusterofs is invalid
  tpm, tpm_tis: Claim locality when interrupts are reenabled on resume
  tpm, tpm: Implement usage counter for locality
  tpm, tpm_tis: Claim locality before writing interrupt registers
  tpm, tpm_tis: Disable interrupts if tpm_tis_probe_irq() failed
  tpm, tpm_tis: Claim locality before writing TPM_INT_ENABLE register
  tpm, tpm_tis: Do not skip reset of original interrupt vector
  selinux: ensure av_permissions.h is built when needed
  selinux: fix Makefile dependencies of flask.h
  selftests/resctrl: Check for return value after write_schemata()
  selftests/resctrl: Allow ->setup() to return errors
  selftests/resctrl: Move ->setup() call outside of test specific branches
  selftests/resctrl: Extend CPU vendor detection
  selftests/resctrl: Return NULL if malloc_and_init_memory() did not alloc mem
  rcu: Fix missing TICK_DEP_MASK_RCU_EXP dependency check
  sound/oss/dmasound: fix build when drivers are mixed =y/=m
  xfs: don't consider future format versions valid
  ubifs: Free memory for tmpfile name
  ubi: Fix return value overwrite issue in try_write_vid_and_data()
  ubifs: Fix memleak when insert_old_idx() failed
  Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path"
  iommu/amd: Fix "Guest Virtual APIC Table Root Pointer" configuration in IRTE
  tracing: Fix permissions for the buffer_percent file
  riscv: mm: remove redundant parameter of create_fdt_early_page_table
  i2c: omap: Fix standard mode false ACK readings
  ksmbd: fix memleak in session setup
  ksmbd: fix NULL pointer dereference in smb2_get_info_filesystem()
  ksmbd: call rcu_barrier() in ksmbd_server_exit()
  writeback, cgroup: fix null-ptr-deref write in bdi_split_work_to_wbs
  relayfs: fix out-of-bounds access in relay_file_read
  KVM: nVMX: Emulate NOPs in L2, and PAUSE if it's not intercepted
  reiserfs: Add security prefix to xattr name in reiserfs_security_write()
  rcu: Avoid stack overflow due to __rcu_irq_enter_check_tick() being kprobe-ed
  crypto: safexcel - Cleanup ring IRQ workqueues on load failure
  crypto: api - Demote BUG_ON() in crypto_unregister_alg() to a WARN_ON()
  ring-buffer: Sync IRQ works before buffer destruction
  pinctrl: qcom: lpass-lpi: set output value before enabling output
  soundwire: qcom: correct setting ignore bit on v1.5.1
  pwm: meson: Fix g12a ao clk81 name
  pwm: meson: Fix axg ao mux parents
  wifi: mt76: add missing locking to protect against concurrent rx/status calls
  kheaders: Use array declaration instead of char
  ipmi: fix SSIF not responding under certain cond.
  ipmi:ssif: Add send_retries increment
  MIPS: fw: Allow firmware to pass a empty env
  tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem
  xhci: fix debugfs register accesses while suspended
  tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH
  staging: iio: resolver: ads1210: fix config mode
  ext4: use ext4_journal_start/stop for fast commit transactions
  blk-crypto: make blk_crypto_evict_key() more robust
  blk-crypto: make blk_crypto_evict_key() return void
  blk-mq: release crypto keyslot before reporting I/O complete
  posix-cpu-timers: Implement the missing timer_wait_running callback
  hwmon: (adt7475) Use device_property APIs when configuring polarity
  hwmon: (k10temp) Check range scale when CUR_TEMP register is read-write
  USB: dwc3: fix runtime pm imbalance on unbind
  USB: dwc3: fix runtime pm imbalance on probe errors
  IMA: allow/fix UML builds
  PCI: qcom: Fix the incorrect register usage in v2.7.0 config
  PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock
  arm64: Stash shadow stack pointer in the task struct on interrupt
  arm64: Always load shadow stack pointer directly from the task struct
  wifi: mt76: mt7921e: Set memory space enable in PCI_COMMAND if unset
  wireguard: timers: cast enum limits members to int in prints
  x86/cpu: Add model number for Intel Arrow Lake processor
  asm-generic/io.h: suppress endianness warnings for readq() and writeq()
  selftests mount: Fix mount_setattr_test builds failed
  ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750
  iio: adc: palmas_gpadc: fix NULL dereference on rmmod
  x86/hyperv: Block root partition functionality in a Confidential VM
  ASoC: soc-pcm: fix hw->formats cleared by soc_pcm_hw_init() for dpcm
  ASOC: Intel: sof_sdw: add quirk for Intel 'Rooks County' NUC M15
  Linux 5.15.110
  riscv: No need to relocate the dtb as it lies in the fixmap region
  riscv: Do not set initial_boot_params to the linear address of the dtb
  riscv: Move early dtb mapping into the fixmap region
  selftests: mptcp: join: fix "invalid address, ADD_ADDR timeout"
  driver core: Don't require dynamic_debug for initcall_debug probe timing
  USB: serial: option: add UNISOC vendor and TOZED LT70C product
  bluetooth: Perform careful capability checks in hci_sock_ioctl()
  drm/fb-helper: set x/yres_virtual in drm_fb_helper_check_var
  wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()
  KVM: arm64: Fix buffer overflow in kvm_arm_set_fw_reg()
  KVM: arm64: Retry fault if vma_lookup() results become invalid
  selftests/kselftest/runner/run_one(): allow running non-executable files
  PCI/ASPM: Remove pcie_aspm_pm_state_change()
  Revert "net: mdio: fix owner field for mdio buses registered using device-tree"
  Linux 5.15.109
  soc: sifive: l2_cache: fix missing of_node_put() in sifive_l2_init()
  soc: sifive: l2_cache: fix missing free_irq() in error path in sifive_l2_init()
  soc: sifive: l2_cache: fix missing iounmap() in error path in sifive_l2_init()
  ASN.1: Fix check for strdup() success
  ASoC: fsl_asrc_dma: fix potential null-ptr-deref
  mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock
  iio: adc: at91-sama5d2_adc: fix an error code in at91_adc_allocate_trigger()
  counter: 104-quad-8: Fix race condition between FLAG and CNTR reads
  pwm: hibvt: Explicitly set .polarity in .get_state()
  pwm: iqs620a: Explicitly set .polarity in .get_state()
  pwm: meson: Explicitly set .polarity in .get_state()
  sctp: Call inet6_destroy_sock() via sk->sk_destruct().
  dccp: Call inet6_destroy_sock() via sk->sk_destruct().
  inet6: Remove inet6_destroy_sock() in sk->sk_prot->destroy().
  tcp/udp: Call inet6_destroy_sock() in IPv6 sk->sk_destruct().
  udp: Call inet6_destroy_sock() in setsockopt(IPV6_ADDRFORM).
  fuse: fix deadlock between atomic O_TRUNC and page invalidation
  fuse: always revalidate rename target dentry
  fuse: fix attr version comparison in fuse_read_update_size()
  purgatory: fix disabling debug info
  docs: futex: Fix kernel-doc references after code split-up preparation
  MIPS: Define RUNTIME_DISCARD_EXIT in LD script
  sched/fair: Fixes for capacity inversion detection
  sched/uclamp: Fix a uninitialized variable warnings
  sched/fair: Consider capacity inversion in util_fits_cpu()
  sched/fair: Detect capacity inversion
  sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early exit condition
  sched/uclamp: Make cpu_overutilized() use util_fits_cpu()
  sched/uclamp: Fix fits_capacity() check in feec()
  mm: page_alloc: skip regions with hugetlbfs pages when allocating 1G pages
  mm/khugepaged: check again on anon uffd-wp during isolation
  drm/i915: Fix fast wake AUX sync len
  mmc: sdhci_am654: Set HIGH_SPEED_ENA for SDR12 and SDR25
  kernel/sys.c: fix and improve control flow in __sys_setres[ug]id()
  memstick: fix memory leak if card device is never registered
  nilfs2: initialize unused bytes in segment summary blocks
  iio: light: tsl2772: fix reading proximity-diodes from device tree
  rtmutex: Add acquire semantics for rtmutex lock acquisition slow path
  platform/x86: gigabyte-wmi: add support for X570S AORUS ELITE
  xen/netback: use same error messages for same errors
  nvme-tcp: fix a possible UAF when failing to allocate an io queue
  s390/ptrace: fix PTRACE_GET_LAST_BREAK error handling
  net: dsa: b53: mmap: add phy ops
  scsi: core: Improve scsi_vpd_inquiry() checks
  scsi: megaraid_sas: Fix fw_crash_buffer_show()
  selftests: sigaltstack: fix -Wuninitialized
  platform/x86 (gigabyte-wmi): Add support for A320M-S2H V2
  Input: i8042 - add quirk for Fujitsu Lifebook A574/H
  f2fs: Fix f2fs_truncate_partial_nodes ftrace event
  e1000e: Disable TSO on i219-LM card to increase speed
  bpf: Fix incorrect verifier pruning due to missing register precision taints
  spi: spi-rockchip: Fix missing unwind goto in rockchip_sfc_probe()
  mlxsw: pci: Fix possible crash during initialization
  net: rpl: fix rpl header size calculation
  bonding: Fix memory leak when changing bond type to Ethernet
  mlxfw: fix null-ptr-deref in mlxfw_mfa2_tlv_next()
  bnxt_en: Do not initialize PTP on older P3/P4 chips
  netfilter: nf_tables: tighten netlink attribute requirements for catch-all elements
  netfilter: nf_tables: validate catch-all set elements
  i40e: fix i40e_setup_misc_vector() error handling
  i40e: fix accessing vsi->active_filters without holding lock
  netfilter: nf_tables: fix ifdef to also consider nf_tables=m
  sfc: Fix use-after-free due to selftest_work
  sfc: Split STATE_READY in to STATE_NET_DOWN and STATE_NET_UP.
  virtio_net: bugfix overflow inside xdp_linearize_page()
  net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg
  regulator: fan53555: Fix wrong TCS_SLEW_MASK
  regulator: fan53555: Explicitly include bits header
  netfilter: br_netfilter: fix recent physdev match breakage
  arm64: dts: imx8mm-evk: correct pmic clock source
  arm64: dts: meson-g12-common: specify full DMC range
  arm64: dts: qcom: ipq8074-hk01: enable QMP device, not the PHY node
  ARM: dts: rockchip: fix a typo error for rk3288 spdif node
  Linux 5.15.108
  nvme-pci: avoid the deepest sleep state on ZHITAI TiPro5000 SSDs
  counter: Add the necessary colons and indents to the comments of counter_compi
  counter: fix docum. build problems after filename change
  panic, kexec: make __crash_kexec() NMI safe
  kexec: turn all kexec_mutex acquisitions into trylocks
  nvme-pci: add NVME_QUIRK_BOGUS_NID for T-FORCE Z330 SSD
  nvme-pci: mark Lexar NM760 as IGNORE_DEV_SUBNQN
  nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM760
  nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM610
  nvme-pci: Crucial P2 has bogus namespace ids
  nvme-pci: avoid the deepest sleep state on ZHITAI TiPro7000 SSDs
  nvme-pci: add NVME_QUIRK_BOGUS_NID for ADATA XPG GAMMIX S50
  i2c: ocores: generate stop condition after timeout in polling mode
  x86/rtc: Remove __init for runtime functions
  sched/fair: Fix imbalance overflow
  sched/fair: Move calculate of avg_load to a better location
  powerpc/papr_scm: Update the NUMA distance table for the target node
  ubi: Fix deadlock caused by recursively holding work_sem
  ubi: Fix failure attaching when vid_hdr offset equals to (sub)page size
  mptcp: stricter state check in mptcp_worker
  mptcp: use mptcp_schedule_work instead of open-coding it
  cgroup/cpuset: Wake up cpuset_attach_wq tasks in cpuset_cancel_attach()
  x86/PCI: Add quirk for AMD XHCI controller that loses MSI-X state in D3hot
  scsi: ses: Handle enclosure with just a primary component gracefully
  net: phy: nxp-c45-tja11xx: fix unsigned long multiplication overflow
  net: phy: nxp-c45-tja11xx: add remove callback
  net: sfp: initialize sfp->i2c_block_size at sfp allocation
  riscv: add icache flush for nommu sigreturn trampoline
  drm/i915: fix race condition UAF in i915_perf_add_config_ioctl
  i915/perf: Replace DRM_DEBUG with driver specific drm_dbg call
  tracing: Have tracing_snapshot_instance_cond() write errors to the appropriate instance
  tracing: Add trace_array_puts() to write into instance
  counter: 104-quad-8: Fix Synapse action reported for Index signals
  counter: Internalize sysfs interface code
  counter: stm32-timer-cnt: Provide defines for slave mode selection
  counter: stm32-lptimer-cnt: Provide defines for clock polarities
  ACPI: resource: Add Medion S17413 to IRQ override quirk
  wifi: iwlwifi: mvm: fix mvmtxq->stopped handling
  asymmetric_keys: log on fatal failures in PE/pkcs7
  verify_pefile: relax wrapper length check
  drm: panel-orientation-quirks: Add quirk for Lenovo Yoga Book X90F
  efi: sysfb_efi: Add quirk for Lenovo Yoga Book X91F/L
  i2c: hisi: Avoid redundant interrupts
  i2c: imx-lpi2c: clean rx/tx buffers upon new message
  wifi: mwifiex: mark OF related data as maybe unused
  power: supply: cros_usbpd: reclassify "default case!" as debug
  ARM: 9290/1: uaccess: Fix KASAN false-positives
  libbpf: Fix single-line struct definition output in btf_dump
  skbuff: Fix a race between coalescing and releasing SKBs
  net: macb: fix a memory corruption in extended buffer descriptor mode
  udp6: fix potential access to stale information
  RDMA/core: Fix GID entry ref leak when create_ah fails
  sctp: fix a potential overflow in sctp_ifwdtsn_skip
  net: qrtr: Fix an uninit variable access bug in qrtr_tx_resume()
  qlcnic: check pci_reset_function result
  drm/armada: Fix a potential double free in an error handling path
  tcp: restrict net.ipv4.tcp_app_win
  niu: Fix missing unwind goto in niu_alloc_channels()
  9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
  bpf: tcp: Use sock_gen_put instead of sock_put in bpf_iter_tcp
  RDMA/cma: Allow UD qp_type to join multicast only
  IB/mlx5: Add support for 400G_8X lane speed
  RDMA/irdma: Add ipv4 check to irdma_find_listener()
  RDMA/irdma: Increase iWARP CM default rexmit count
  RDMA/irdma: Fix memory leak of PBLE objects
  clk: sprd: set max_register according to mapping range
  drm/i915/dsi: fix DSS CTL register offsets for TGL+
  KVM: arm64: PMU: Restore the guest's EL0 event counting after migration
  mtd: rawnand: stm32_fmc2: use timings.mode instead of checking tRC_min
  mtd: rawnand: stm32_fmc2: remove unsupported EDO mode
  mtd: rawnand: meson: fix bitmask for length in command word
  mtdblock: tolerate corrected bit-flips
  fbmem: Reject FB_ACTIVATE_KD_TEXT from userspace
  btrfs: fix fast csum implementation detection
  btrfs: print checksum type and implementation at mount time
  Bluetooth: Fix race condition in hidp_session_thread
  Bluetooth: L2CAP: Fix use-after-free in l2cap_disconnect_{req,rsp}
  ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards
  ALSA: emu10k1: don't create old pass-through playback device on Audigy
  ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex()
  ALSA: i2c/cs8427: fix iec958 mixer control deactivation
  ALSA: hda/sigmatel: add pin overrides for Intel DP45SG motherboard
  ALSA: emu10k1: fix capture interrupt handler unlinking
  Revert "pinctrl: amd: Disable and mask interrupts on resume"
  Linux 5.15.107
  bpftool: Print newline before '}' for struct with padding only fields
  ocfs2: fix freeing uninitialized resource on ocfs2_dlm_shutdown
  kbuild: fix single directory build
  mm: take a page reference when removing device exclusive entries
  drm/bridge: lt9611: Fix PLL being unable to lock
  mm/swap: fix swap_info_struct race between swapoff and get_swap_pages()
  ring-buffer: Fix race while reader and writer are on the same page
  drm/nouveau/disp: Support more modes by checking with lower bpc
  drm/panfrost: Fix the panfrost_mmu_map_fault_addr() error path
  mm: vmalloc: avoid warn_alloc noise caused by fatal signal
  ASoC: hdac_hdmi: use set_stream() instead of set_tdm_slots()
  tracing: Free error logs of tracing instances
  can: isotp: isotp_ops: fix poll() to not report false EPOLLOUT events
  can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access
  fs: drop peer group ids under namespace lock
  ftrace: Fix issue that 'direct->addr' not restored in modify_ftrace_direct()
  ftrace: Mark get_lock_parent_ip() __always_inline
  perf/core: Fix the same task check in perf_event_set_output
  cifs: sanitize paths in cifs_update_super_prepath.
  smb3: lower default deferred close timeout to address perf regression
  smb3: allow deferred close timeout to be configurable
  scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param()
  scsi: qla2xxx: Fix memory leak in qla2x00_probe_one()
  iio: adc: ad7791: fix IRQ flags
  coresight-etm4: Fix for() loop drvdata->nr_addr_cmp range bug
  coresight: etm4x: Do not access TRCIDR1 for identification
  ALSA: hda/realtek: Add quirk for Clevo X370SNW
  ksmbd: do not call kvmalloc() with __GFP_NORETRY | __GFP_NO_WARN
  dt-bindings: serial: renesas,scif: Fix 4th IRQ for 4-IRQ SCIFs
  nilfs2: fix sysfs interface lifetime
  nilfs2: fix potential UAF of struct nilfs_sc_info in nilfs_segctor_thread()
  tty: serial: fsl_lpuart: avoid checking for transfer complete when UARTCTRL_SBK is asserted in lpuart32_tx_empty
  tty: serial: sh-sci: Fix Rx on RZ/G2L SCI
  tty: serial: sh-sci: Fix transmit end interrupt handler
  iio: light: cm32181: Unregister second I2C client if present
  iio: dac: cio-dac: Fix max DAC write value check for 12-bit
  iio: adc: ti-ads7950: Set `can_sleep` flag for GPIO chip
  iio: adis16480: select CONFIG_CRC32
  USB: serial: option: add Quectel RM500U-CN modem
  USB: serial: option: add Telit FE990 compositions
  usb: typec: altmodes/displayport: Fix configure initial pin assignment
  USB: serial: cp210x: add Silicon Labs IFS-USB-DATACABLE IDs
  usb: dwc3: pci: add support for the Intel Meteor Lake-S
  usb: cdnsp: Fixes error: uninitialized symbol 'len'
  xhci: also avoid the XHCI_ZERO_64B_REGS quirk with a passthrough iommu
  usb: xhci: tegra: fix sleep in atomic call
  kbuild: refactor single builds of *.ko
  gve: Secure enough bytes in the first TX desc for all TCP pkts
  ethtool: reset #lanes when lanes is omitted
  ice: Reset FDIR counter in FDIR init stage
  ice: fix wrong fallback logic for FDIR
  NFSD: callback request does not use correct credential for AUTH_SYS
  sunrpc: only free unix grouplist after RCU settles
  net: stmmac: fix up RX flow hash indirection table when setting channels
  net: ethernet: ti: am65-cpsw: Fix mdio cleanup in probe
  gpio: davinci: Add irq chip flag to skip set wake
  platform/x86: think-lmi: Clean up display of current_value on Thinkstation
  platform/x86: think-lmi: Fix memory leaks when parsing ThinkStation WMI strings
  platform/x86: think-lmi: Fix memory leak when showing current settings
  ipv6: Fix an uninit variable access bug in __ip6_make_skb()
  net: qrtr: Do not do DEL_SERVER broadcast after DEL_CLIENT
  sctp: check send stream number after wait_for_sndbuf
  net: dsa: mv88e6xxx: Reset mv88e6393x force WD event bit
  net: don't let netpoll invoke NAPI if in xmit context
  icmp: guard against too small mtu
  NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL
  net: qrtr: Fix a refcount bug in qrtr_recvmsg()
  net: qrtr: combine nameservice into main module
  wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta
  KVM: s390: pv: fix external interruption loop not always detected
  pwm: sprd: Explicitly set .polarity in .get_state()
  pwm: cros-ec: Explicitly set .polarity in .get_state()
  Drivers: vmbus: Check for channel allocation before looking up relids
  gpio: GPIO_REGMAP: select REGMAP instead of depending on it
  bpf: hash map, avoid deadlock with suitable hash mask
  serial: exar: Add support for Sealevel 7xxxC serial cards
  serial: 8250_exar: derive nr_ports from PCI ID for Acces I/O cards
  iavf/iavf_main: actually log ->src mask when talking about it
  iavf: return errno code instead of status code
  platform/x86: int3472/discrete: Ensure the clk/power enable pins are in output mode
  platform/x86: int3472: Split into 2 drivers
  RDMA/irdma: Do not request 2-level PBLEs for CQ alloc
  NFSD: pass range end to vfs_fsync_range() instead of count
  NFSD: Fix sparse warning
  ocfs2: fix memory leak in ocfs2_mount_volume()
  ocfs2: rewrite error handling of ocfs2_fill_super
  ocfs2: ocfs2_mount_volume does cleanup job before return error
  Linux 5.15.106
  x86/PVH: avoid 32-bit build warning when obtaining VGA console info
  hsr: ratelimit only when errors are printed
  libbpf: Fix btf_dump's packed struct determination
  selftests/bpf: Add few corner cases to test padding handling of btf_dump
  libbpf: Fix BTF-to-C converter's padding logic
  selftests/bpf: Test btf dump for struct with padding only fields
  zonefs: Fix error message in zonefs_file_dio_append()
  KVM: x86: Purge "highest ISR" cache when updating APICv state
  KVM: x86: Inject #GP on x2APIC WRMSR that sets reserved bits 63:32
  KVM: VMX: Move preemption timer <=> hrtimer dance to common x86
  s390/uaccess: add missing earlyclobber annotations to __clear_user()
  KVM: arm64: Disable interrupts while walking userspace PTs
  drm/amd/display: Add DSC Support for Synaptics Cascaded MST Hub
  drm/etnaviv: fix reference leak when mmaping imported buffer
  rcu: Fix rcu_torture_read ftrace event
  xtensa: fix KASAN report for show_stack
  ALSA: hda/realtek: Add quirk for Lenovo ZhaoYang CF4620Z
  ALSA: hda/realtek: Add quirks for some Clevo laptops
  ALSA: usb-audio: Fix regression on detection of Roland VS-100
  ALSA: hda/conexant: Partial revert of a quirk for Lenovo
  NFSv4: Fix hangs when recovering open state after a server reboot
  powerpc: Don't try to copy PPR for task with NULL pt_regs
  pinctrl: at91-pio4: fix domain name assignment
  pinctrl: amd: Disable and mask interrupts on resume
  net: phy: dp83869: fix default value for tx-/rx-internal-delay
  xen/netback: don't do grant copy across page boundary
  can: j1939: prevent deadlock by moving j1939_sk_errqueue()
  zonefs: Always invalidate last cached page on append write
  btrfs: scan device in non-exclusive mode
  btrfs: fix race between quota disable and quota assign ioctls
  Input: goodix - add Lenovo Yoga Book X90F to nine_bytes_report DMI table
  cifs: fix DFS traversal oops without CONFIG_CIFS_DFS_UPCALL
  cifs: prevent infinite recursion in CIFSGetDFSRefer()
  Input: focaltech - use explicitly signed char type
  Input: alps - fix compatibility with -funsigned-char
  iommu/vt-d: Allow zero SAGAW if second-stage not supported
  pinctrl: ocelot: Fix alt mode for ocelot
  net: ethernet: mtk_eth_soc: fix flow block refcounting logic
  net: dsa: mv88e6xxx: Enable IGMP snooping on user ports only
  bnxt_en: Add missing 200G link speed reporting
  bnxt_en: Fix typo in PCI id to device description string mapping
  bnxt_en: Fix reporting of test result in ethtool selftest
  i40e: fix registers dump after run ethtool adapter self test
  net: ipa: compute DMA pool size properly
  ALSA: ymfpci: Fix BUG_ON in probe function
  ALSA: ymfpci: Create card with device-managed snd_devm_card_new()
  ice: fix invalid check for empty list in ice_sched_assoc_vsi_to_agg()
  ice: add profile conflict check for AVF FDIR
  smsc911x: avoid PHY being resumed when interface is not up
  net: mvpp2: parser fix PPPoE
  net: mvpp2: parser fix QinQ
  net: mvpp2: classifier flow fix fragmentation flags
  loop: LOOP_CONFIGURE: send uevents for partitions
  loop: suppress uevents while reconfiguring the device
  s390/vfio-ap: fix memory leak in vfio_ap device driver
  can: bcm: bcm_tx_setup(): fix KMSAN uninit-value in vfs_write
  platform/x86/intel/pmc: Alder Lake PCH slp_s0_residency fix
  drm/i915/tc: Fix the ICL PHY ownership check in TC-cold state
  net: stmmac: don't reject VLANs when IFF_PROMISC is set
  net/net_failover: fix txq exceeding warning
  regulator: Handle deferred clk
  r8169: fix RTL8168H and RTL8107E rx crc error
  net: dsa: microchip: ksz8863_smi: fix bulk access
  ptp_qoriq: fix memory leak in probe()
  scsi: mpt3sas: Don't print sense pool info twice
  scsi: megaraid_sas: Fix crash after a double completion
  sfc: ef10: don't overwrite offload features at NIC reset
  SUNRPC: fix shutdown of NFS TCP client socket
  mtd: rawnand: meson: invalidate cache on polling ECC bit
  platform/x86: think-lmi: Add possible_values for ThinkStation
  platform/x86: think-lmi: only display possible_values if available
  platform/x86: think-lmi: use correct possible_values delimiters
  platform/x86: think-lmi: add missing type attribute
  ALSA: usb-audio: Fix recursive locking at XRUN during syncing
  mips: bmips: BCM6358: disable RAC flush for TP1
  ca8210: Fix unsigned mac_len comparison with zero in ca8210_skb_tx()
  tracing: Fix wrong return in kprobe_event_gen_test.c
  tools/power turbostat: fix decoding of HWP_STATUS
  tools/power turbostat: Fix /dev/cpu_dma_latency warnings
  fbdev: au1200fb: Fix potential divide by zero
  fbdev: lxfb: Fix potential divide by zero
  fbdev: intelfb: Fix potential divide by zero
  fbdev: nvidia: Fix potential divide by zero
  sched_getaffinity: don't assume 'cpumask_size()' is fully initialized
  fbdev: tgafb: Fix potential divide by zero
  ALSA: hda/ca0132: fixup buffer overrun at tuning_ctl_set()
  ALSA: asihpi: check pao in control_message()
  net: hsr: Don't log netdev_err message on unknown prp dst node
  x86/PVH: obtain VGA console info in Dom0
  md: avoid signed overflow in slot_store()
  ASoC: codecs: tx-macro: Fix for KASAN: slab-out-of-bounds
  xfrm: Zero padding when dumping algos and encap
  bus: imx-weim: fix branch condition evaluates to a garbage value
  ksmbd: don't terminate inactive sessions after a few seconds
  kcsan: avoid passing -g for test
  kernel: kcsan: kcsan_test: build without structleak plugin
  usb: dwc3: gadget: Add 1ms delay after end transfer command without IOC
  usb: dwc3: gadget: move cmd_endtransfer to extra function
  fsverity: don't drop pagecache at end of FS_IOC_ENABLE_VERITY
  Linux 5.15.105
  NFSD: fix use-after-free in __nfs42_ssc_open()
  ocfs2: fix data corruption after failed write
  mm: kfence: fix using kfence_metadata without initialization in show_object()
  sched/fair: Sanitize vruntime of entity being migrated
  sched/fair: sanitize vruntime of entity being placed
  dm crypt: avoid accessing uninitialized tasklet
  dm crypt: add cond_resched() to dmcrypt_write()
  dm stats: check for and propagate alloc_percpu failure
  i2c: xgene-slimpro: Fix out-of-bounds bug in xgene_slimpro_i2c_xfer()
  firmware: arm_scmi: Fix device node validation for mailbox transport
  tee: amdtee: fix race condition in amdtee_open_session
  riscv: Handle zicsr/zifencei issues between clang and binutils
  riscv: mm: Fix incorrect ASID argument when flushing TLB
  drm/i915: Preserve crtc_state->inherited during state clearing
  drm/i915/active: Fix missing debug object activation
  drm/amdgpu/nv: Apply ASPM quirk on Intel ADL + AMD Navi
  drm/meson: fix missing component unbind on bind errors
  drm/bridge: lt8912b: return EPROBE_DEFER if bridge is not found
  nilfs2: fix kernel-infoleak in nilfs_ioctl_wrap_copy()
  wifi: mac80211: fix qos on mesh interfaces
  ksmbd: return unsupported error on smb1 mount
  ksmbd: return STATUS_NOT_SUPPORTED on unsupported smb2.0 dialect
  ksmbd: set FILE_NAMED_STREAMS attribute in FS_ATTRIBUTE_INFORMATION
  KVM: x86: hyper-v: Avoid calling kvm_make_vcpus_request_mask() with vcpu_mask==NULL
  kfence: avoid passing -g for test
  usb: ucsi: Fix NULL pointer deref in ucsi_connector_change()
  usb: chipidea: core: fix possible concurrent when switch role
  usb: chipdea: core: fix return -EINVAL if request role is the same with current role
  usb: cdnsp: changes PCI Device ID to fix conflict with CNDS3 driver
  usb: cdnsp: Fixes issue with redundant Status Stage
  usb: cdns3: Fix issue with using incorrect PCI device function
  usb: typec: tcpm: fix warning when handle discover_identity message
  dm thin: fix deadlock when swapping to thin device
  igb: revert rtnl_lock() that causes deadlock
  arm64: dts: imx8mm-nitrogen-r2: fix WM8960 clock name
  lockd: set file_lock start and end when decoding nlm4 testargs
  fsverity: Remove WQ_UNBOUND from fsverity read workqueue
  fscrypt: destroy keyring after security_sb_delete()
  mm/slab: Fix undefined init_cache_node_node() for NUMA and !SMP
  efi: sysfb_efi: Fix DMI quirks not working for simpledrm
  usb: gadget: u_audio: don't let userspace block driver unbind
  usb: dwc2: fix a devres leak in hw_enable upon suspend resume
  scsi: core: Add BLIST_SKIP_VPD_PAGES for SKhynix H28U74301AMR
  cifs: print session id while listing open files
  cifs: empty interface list when server doesn't support query interfaces
  act_mirred: use the backlog for nested calls to mirred ingress
  net/sched: act_mirred: better wording on protection against excessive stack growth
  sh: sanitize the flags on sigreturn
  net: usb: qmi_wwan: add Telit 0x1080 composition
  net: usb: cdc_mbim: avoid altsetting toggling for Telit FE990
  scsi: storvsc: Handle BlockSize change in Hyper-V VHD/VHDX file
  scsi: lpfc: Avoid usage of list iterator variable after loop
  scsi: lpfc: Check kzalloc() in lpfc_sli4_cgn_params_read()
  scsi: ufs: core: Add soft dependency on governor_simpleondemand
  scsi: hisi_sas: Check devm_add_action() return value
  scsi: target: iscsi: Fix an error message in iscsi_check_key()
  selftests/bpf: check that modifier resolves after pointer
  m68k: Only force 030 bus error if PC not in exception table
  HID: intel-ish-hid: ipc: Fix potential use-after-free in work function
  ca8210: fix mac_len negative array access
  HID: cp2112: Fix driver not registering GPIO IRQ chip as threaded
  drm/cirrus: NULL-check pipe->plane.state->fb in cirrus_pipe_update()
  riscv: Bump COMMAND_LINE_SIZE value to 1024
  ACPI: x86: utils: Add Cezanne to the list for forcing StorageD3Enable
  thunderbolt: Rename shadowed variables bit to interrupt_bit and auto_clear_bit
  thunderbolt: Use const qualifier for `ring_interrupt_index`
  thunderbolt: Add missing UNSET_INBOUND_SBTX for retimer access
  thunderbolt: Disable interrupt auto clear for rings
  thunderbolt: Call tb_check_quirks() after initializing adapters
  thunderbolt: Use scale field when allocating USB3 bandwidth
  uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS583Gen 2
  scsi: qla2xxx: Perform lockless command completion in abort path
  scsi: qla2xxx: Synchronize the IOCB count to be in order
  hwmon (it87): Fix voltage scaling for chips with 10.9mV ADCs
  hwmon: fix potential sensor registration fail if of_node is missing
  entry/rcu: Check TIF_RESCHED _after_ delayed RCU wake-up
  entry: Snapshot thread flags
  thread_info: Add helpers to snapshot thread flags
  platform/chrome: cros_ec_chardev: fix kernel data leak from ioctl
  Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work
  Bluetooth: L2CAP: Fix responding with wrong PDU type
  Bluetooth: btqcomsmd: Fix command timeout after setting BD address
  net: mdio: thunder: Add missing fwnode_handle_put()
  net: dsa: mt7530: move setting ssc_delta to PHY_INTERFACE_MODE_TRGMII case
  net: dsa: mt7530: move lowering TRGMII driving to mt7530_setup()
  net: dsa: mt7530: move enabling disabling core clock to mt7530_pll_setup()
  gve: Cache link_speed value from device
  ksmbd: fix possible refcount leak in smb2_open()
  ksmbd: add low bound validation to FSCTL_QUERY_ALLOCATED_RANGES
  ksmbd: add low bound validation to FSCTL_SET_ZERO_DATA
  hvc/xen: prevent concurrent accesses to the shared ring
  nvme-tcp: fix nvme_tcp_term_pdu to match spec
  net/sonic: use dma_mapping_error() for error check
  erspan: do not use skb_mac_header() in ndo_start_xmit()
  atm: idt77252: fix kmemleak when rmmod idt77252
  net: dsa: tag_brcm: legacy: fix daisy-chained switches
  net/mlx5: E-Switch, Fix an Oops in error handling code
  net/mlx5: Read the TC mapping of all priorities on ETS query
  net/mlx5: Fix steering rules cleanup
  net/mlx5e: Set uplink rep as NETNS_LOCAL
  bpf: Adjust insufficient default bpf_jit_limit
  i40e: fix flow director packet filter programming
  iavf: fix hang on reboot with ice
  keys: Do not cache key in task struct if key is requested from kernel thread
  bootconfig: Fix testcase to increase max node
  octeontx2-vf: Add missing free for alloc_percpu
  net/ps3_gelic_net: Use dma_mapping_error
  net/ps3_gelic_net: Fix RX sk_buff length
  net: qcom/emac: Fix use after free bug in emac_remove due to race condition
  drm/i915/gt: perform uc late init after probe error injection
  net: mdio: fix owner field for mdio buses registered using ACPI
  net: mdio: fix owner field for mdio buses registered using device-tree
  net: phy: Ensure state transitions are processed from phy_stop()
  xirc2ps_cs: Fix use after free bug in xirc2ps_detach
  qed/qed_sriov: guard against NULL derefs from qed_iov_get_vf_info
  net: usb: smsc95xx: Limit packet length to skb->len
  net: dsa: b53: mmap: fix device tree support
  scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate()
  i2c: hisi: Only use the completion interrupt to finish the transfer
  i2c: imx-lpi2c: check only for enabled interrupt flags
  igc: fix the validation logic for taprio's gate list
  igbvf: Regard vf reset nack as success
  intel/igbvf: free irq on the error path in igbvf_request_msix()
  iavf: fix non-tunneled IPv6 UDP packet type and hashing
  iavf: fix inverted Rx hash condition leading to disabled hash
  xsk: Add missing overflow check in xdp_umem_reg
  arm64: dts: imx8mn: specify #sound-dai-cells for SAI nodes
  ARM: dts: imx6sl: tolino-shine2hd: fix usbotg1 pinctrl
  ARM: dts: imx6sll: e60k02: fix usbotg1 pinctrl
  power: supply: da9150: Fix use after free bug in da9150_charger_remove due to race condition
  power: supply: bq24190: Fix use after free bug in bq24190_remove due to race condition
  power: supply: bq24190_charger: using pm_runtime_resume_and_get instead of pm_runtime_get_sync
  net: tls: fix possible race condition between do_tls_getsockopt_conf() and do_tls_setsockopt_conf()
  trace/hwlat: Do not start per-cpu thread if it is already running
  trace/hwlat: make use of the helper function kthread_run_on_cpu()
  kthread: add the helper function kthread_run_on_cpu()
  serial: 8250: ASPEED_VUART: select REGMAP instead of depending on it
  serial: 8250: SERIAL_8250_ASPEED_VUART should depend on ARCH_ASPEED
  tty: serial: fsl_lpuart: fix race on RX DMA shutdown
  tty: serial: fsl_lpuart: switch to new dmaengine_terminate_* API
  serial: fsl_lpuart: Fix comment typo
  tracing/hwlat: Replace sched_setaffinity with set_cpus_allowed_ptr
  perf: fix perf_event_context->time
  perf/core: Fix perf_output_begin parameter is incorrectly invoked in perf_event_bpf_output
  interconnect: qcom: osm-l3: fix icc_onecell_data allocation

 Conflicts:
	Documentation/devicetree/bindings
	Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
	Documentation/devicetree/bindings/iio/adc/renesas,rcar-gyroadc.yaml
	Documentation/devicetree/bindings/serial/renesas,scif.yaml
	Documentation/devicetree/bindings/sound/tas2562.yaml
	Documentation/devicetree/bindings/sound/tas2764.yaml
	Documentation/devicetree/bindings/sound/tas2770.yaml
	Documentation/devicetree/bindings/usb/cdns,usb3.yaml
	Documentation/devicetree/bindings/usb/snps,dwc3.yaml
	drivers/bus/mhi/Kconfig
	drivers/bus/mhi/Makefile
	drivers/bus/mhi/host/boot.c
	drivers/firmware/qcom_scm.c
	net/qrtr/af_qrtr.c
	net/qrtr/ns.c

Change-Id: Idae42c8814d1af23046d221a5703d8a73cbb97d0
Signed-off-by: Sivasri Kumar, Vanka <quic_svanka@quicinc.com>
2023-10-05 14:32:56 +05:30
Wong Vee Khee
b0a513ba5b net: stmmac: switch to use interrupt for hw crosstimestamping
[ Upstream commit 76c16d3e19446deea98b7883f261758b96b8781a ]

Using current implementation of polling mode, there is high chances we
will hit into timeout error when running phc2sys. Hence, update the
implementation of hardware crosstimestamping to use the MAC interrupt
service routine instead of polling for TSIS bit in the MAC Timestamp
Interrupt Status register to be set.

Cc: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: Wong Vee Khee <vee.khee.wong@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: 8efbdbfa9938 ("net: stmmac: Initialize MAC_ONEUS_TIC_COUNTER register")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-05-24 17:36:41 +01:00
Suraj Jaiswal
c403212c5f net: stmmac: Loopback & phy off support
Add support for all Ethernet level loopback like
IO macro, MAc, PHY and also Provide debugfs node for
phy off/on at suspend resume.

Change-Id: I0c095791a29120929ff52ffd77a56b1151ab9c40
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2022-11-29 15:14:02 -08:00
Suraj Jaiswal
262ee56035 net: stmmac: Enable WOL on boot up
Based on dtsi property enable wol on
boot up.

Change-Id: I60484a634f530802b3ac662a026af329df0ce456
Signed-off-by: Suraj Jaiswal <quic_jsuraj@quicinc.com>
2022-09-19 04:16:01 -07:00
qctecmdr
09a278b59d Merge "net : stmmac : S2D change" 2022-09-16 11:31:54 -07:00
Suraj Jaiswal
6d554a850b net : stmmac : S2D change
Update EMAC driver to support hibernation mode support.
Bring down interface on hibernation mode and up on exit.

Change-Id: I8f8c5aac865768f61ce49e27fa99afee8bff2a45
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2022-09-01 16:46:44 +05:30
Sagar Cheluvegowda
17e17a515e net: stmmac: Update FRP in stmmac driver
1. Fix frp core function to support single FRP entry.
2. Fix FRP structure to match the FRP instruction table.

Change-Id: I468078ff72ffe6f6a457814d353e40ed26e23fd4
Signed-off-by: Sagar Cheluvegowda <quic_scheluve@quicinc.com>
2022-08-16 11:00:29 -07:00
Nagarjuna Chaganti
d9fd920b02 net: stmmac: Add support for Mac2Mac
This commit adds support for mac2mac connectivity. This
functionality needs to be enabled via a dts entry.

Change-Id: If462d97bc1804b2c5d357edc36787d6999625599
Signed-off-by: Nagarjuna Chaganti <nchagant@codeaurora.org>
2022-04-18 12:38:55 -07:00
Suraj Jaiswal
fb73c36e79 net: stmmac: compilation fix
Fix compilation issue & missing fixes.

Change-Id: I5b40b3cfee0aaa7f0633ea08b4c9dfb4ea5dc331
Signed-off-by: Suraj Jaiswal <quic_jsuraj@quicinc.com>
2022-03-28 22:54:21 -07:00
Suraj Jaiswal
e2eb5af549 net: stmmac: Support eth type based TX intr moderation
Support eth type based TX intr moderation

Change-Id: Ib1cb5364914092d0fdddef1cd5cfa7d4007bd7df
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2022-03-28 13:54:30 +05:30
qctecmdr
3efdc52642 Merge "Merge keystone/android13-5.15-keystone-qcom-release.27+ (255442a) into msm-5.15" 2022-03-23 12:09:46 -07:00
Blagovest Kolenichev
196a22c9d8 Merge keystone/android13-5.15-keystone-qcom-release.27+ (255442a) into msm-5.15
* refs/heads/tmp-255442a:
  UPSTREAM: sched: Fix yet more sched_fork() races
  UPSTREAM: sched/fair: Fix fault in reweight_entity
  ANDROID: implement wrapper for reverse migration
  ANDROID: Add ieee80211_tx_prepare_skb symbol to android/abi_gki_aarch64_virtual_device
  Revert "ethtool: Fix link extended state for big endian"
  Revert "bpf: Use u64_stats_t in struct bpf_prog_stats"
  Revert "bpf: Fix possible race in inc_misses_counter"
  ANDROID: thermal: Add vendor hooks for thermal
  Revert "net-timestamp: convert sk->sk_tskey to atomic_t"
  Revert "nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property"
  Revert "mtd: core: Fix a conflict between MTD and NVMEM on wp-gpios property"
  ANDROID: fix up rndis ABI breakage
  ANDROID: Add vendor hook to the deadline scheduler
  ANDROID: ABI: add fips140 symbol list
  ANDROID: fips140: add fips140_lab_util program
  ANDROID: fips140: add kernel crypto module
  ANDROID: arm64: module.lds.h: support built-in initcalls
  ANDROID: arm64: simd: omit capability check in may_use_simd()
  ANDROID: arm64: disable LSE when building the FIPS140 module
  ANDROID: arm64: only permit certain alternatives in the FIPS140 module
  ANDROID: jump_label: disable jump labels in fips140.ko
  ANDROID: crypto: define fips_enabled to 1 in fips140.ko
  ANDROID: crypto: lib/aes - add vendor hooks for AES library routines
  ANDROID: crypto: lib/sha256 - add vendor hook for sha256() routine
  ANDROID: kbuild: lto: permit the use of .a archives in LTO modules
  ANDROID: kbuild: support fips140 integrity check in module linker script
  UPSTREAM: crypto: arm64/aes-ce - stop using SIMD helper for skciphers
  UPSTREAM: crypto: arm64/aes-neonbs - stop using SIMD helper for skciphers
  FROMGIT: arm64/mte: Remove asymmetric mode from the prctl() interface
  FROMGIT: arm64/mte: Document ABI for asymmetric mode
  Revert "FROMLIST: arm64/mte: Document ABI for asymmetric mode"
  ANDROID: mm/slub: Fix Kasan issue with for_each_object_track
  ANDROID: update ABI representation
  ANDROID: Add pkvm_iommu_* symbols to aarch64 ABI
  ANDROID: KVM: arm64: Remove unused IOMMU hooks, kvm_iommu_ops
  ANDROID: KVM: arm64: s2mpu: Implement host stage2 idmap callbacks
  ANDROID: KVM: arm64: s2mpu: Move mpt_update_flags into FMPT
  ANDROID: KVM: arm64: s2mpu: Replace DABT handler with callback
  ANDROID: KVM: arm64: s2mpu: Replace SMC handler with PM callbacks
  ANDROID: KVM: arm64: s2mpu: Add driver initializer
  ANDROID: KVM: arm64: s2mpu: Remove host_stage2_adjust_mmio_range
  ANDROID: KVM: arm64: s2mpu: Replace struct s2mpu with pkvm_iommu
  ANDROID: KVM: arm64: s2mpu: Remove all EL1 code
  ANDROID: KVM: arm64: s2mpu: Move SFR init to EL2
  ANDROID: KVM: arm64: iommu: Snapshot host stage-2 at driver init
  ANDROID: KVM: arm64: iommu: Host stage-2 idmap callbacks
  ANDROID: KVM: arm64: iommu: DABT handler callback
  ANDROID: KVM: arm64: iommu: Suspend/resume callbacks
  ANDROID: KVM: arm64: iommu: Register device hypcall
  ANDROID: KVM: arm64: iommu: Avoid mapping devices in host stage-2
  ANDROID: KVM: arm64: iommu: Driver initialization hypcall
  ANDROID: KVM: arm64: Add .hyp.data section
  ANDROID: KVM: arm64: pkvm: Don't zero shared pages
  ANDROID: KVM: arm64: Push shadow table locking up to callers
  ANDROID: KVM: arm64: Avoid exposing shadow table internals outside of pkvm.c
  ANDROID: arm64: add vendor hooks for unusal abort cases
  ANDROID: arm64: add vendor hooks for kernel fault cases
  ANDROID: power: add vendor hooks for try_to_freeze fail
  ANDROID: softlockup: add vendor hook for a softlockup task
  ANDROID: bug: add vendor hook for bug trap
  Linux 5.15.27
  hamradio: fix macro redefine warning
  KVM: x86/mmu: Passing up the error state of mmu_alloc_shadow_roots()
  proc: fix documentation and description of pagemap
  Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6"
  btrfs: do not start relocation until in progress drops are done
  btrfs: add missing run of delayed items after unlink during log replay
  btrfs: qgroup: fix deadlock between rescan worker and remove qgroup
  btrfs: do not WARN_ON() if we have PageError set
  btrfs: fix relocation crash due to premature return from btrfs_commit_transaction()
  btrfs: fix lost prealloc extents beyond eof after full fsync
  tracing: Fix return value of __setup handlers
  tracing/histogram: Fix sorting on old "cpu" value
  HID: add mapping for KEY_ALL_APPLICATIONS
  HID: add mapping for KEY_DICTATE
  Input: samsung-keypad - properly state IOMEM dependency
  Input: elan_i2c - fix regulator enable count imbalance after suspend/resume
  Input: elan_i2c - move regulator_[en|dis]able() out of elan_[en|dis]able_power()
  MAINTAINERS: adjust file entry for of_net.c after movement
  iavf: missing unlocks in iavf_watchdog_task()
  iavf: do not override the adapter state in the watchdog task (again)
  net: stmmac: perserve TX and RX coalesce value during XDP setup
  selftests: mlxsw: resource_scale: Fix return value
  net: dcb: disable softirqs in dcbnl_flush_dev()
  drm/amdgpu: fix suspend/resume hang regression
  nl80211: Handle nla_memdup failures in handle_nan_filter
  MIPS: ralink: mt7621: use bitwise NOT instead of logical
  e1000e: Fix possible HW unit hang after an s0ix exit
  drm/bridge: ti-sn65dsi86: Properly undo autosuspend
  drm/i915/guc/slpc: Correct the param count for unset param
  iavf: Fix __IAVF_RESETTING state usage
  iavf: Fix race in init state
  iavf: Fix locking for VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS
  iavf: Fix init state closure on remove
  iavf: Add waiting so the port is initialized in remove
  iavf: Fix kernel BUG in free_msi_irqs
  iavf: Add helper function to go from pci_dev to adapter
  iavf: Rework mutexes for better synchronisation
  iavf: Add trace while removing device
  iavf: Combine init and watchdog state machines
  iavf: Add __IAVF_INIT_FAILED state
  iavf: Refactor iavf state machine tracking
  net: sparx5: Fix add vlan when invalid operation
  net: chelsio: cxgb3: check the return value of pci_find_capability()
  ibmvnic: complete init_done on transport events
  ibmvnic: define flush_reset_queue helper
  ibmvnic: initialize rc before completing wait
  net: stmmac: only enable DMA interrupts when ready
  net: stmmac: enhance XDP ZC driver level switching performance
  can: etas_es58x: change opened_channel_cnt's type from atomic_t to u8
  ARM: tegra: Move panels to AUX bus
  netfilter: nf_tables: prefer kfree_rcu(ptr, rcu) variant
  soc: fsl: qe: Check of ioremap return value
  soc: fsl: guts: Add a missing memory allocation failure check
  soc: fsl: guts: Revert commit 3c0d64e867
  ARM: dts: Use 32KiHz oscillator on devkit8000
  ARM: dts: switch timer config to common devkit8000 devicetree
  MIPS: ralink: mt7621: do memory detection on KSEG1
  iommu/amd: Fix I/O page table memory leak
  arm64: dts: juno: Remove GICv2m dma-range
  sched: Fix yet more sched_fork() races
  s390/extable: fix exception table sorting
  memfd: fix F_SEAL_WRITE after shmem huge page allocated
  ibmvnic: free reset-work-item when flushing
  igc: igc_write_phy_reg_gpy: drop premature return
  pinctrl: sunxi: Use unique lockdep classes for IRQs
  selftests: mlxsw: tc_police_scale: Make test more robust
  mptcp: Correctly set DATA_FIN timeout when number of retransmits is large
  ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions
  mips: setup: fix setnocoherentio() boolean setting
  ARM: Fix kgdb breakpoint for Thumb2
  igc: igc_read_phy_reg_gpy: drop premature return
  arm64: dts: rockchip: Switch RK3399-Gru DP to SPDIF output
  iommu/tegra-smmu: Fix missing put_device() call in tegra_smmu_find
  can: gs_usb: change active_channels's type from atomic_t to u8
  auxdisplay: lcd2s: Use proper API to free the instance of charlcd object
  auxdisplay: lcd2s: Fix memory leak in ->remove()
  ASoC: cs4265: Fix the duplicated control name
  firmware: arm_scmi: Remove space in MODULE_ALIAS name
  auxdisplay: lcd2s: Fix lcd2s_redefine_char() feature
  efivars: Respect "block" flag in efivar_entry_set_safe()
  iavf: Fix deadlock in iavf_reset_task
  ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc()
  net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe()
  ibmvnic: register netdev after init of adapter
  net: sxgbe: fix return value of __setup handler
  iavf: Fix missing check for running netdev
  mac80211: treat some SAE auth steps as final
  net: stmmac: fix return value of __setup handler
  mac80211: fix forwarded mesh frames AC & queue selection
  btrfs: fix ENOSPC failure when attempting direct IO write into NOCOW range
  net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server
  net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error generated by client
  net/smc: fix connection leak
  net: ipa: add an interconnect dependency
  net: dcb: flush lingering app table entries for unregistered devices
  net: ipv6: ensure we call ipv6_mc_down() at most once
  batman-adv: Don't expect inter-netns unique iflink indices
  batman-adv: Request iflink once in batadv_get_real_netdevice
  batman-adv: Request iflink once in batadv-on-batadv check
  netfilter: nf_queue: handle socket prefetch
  netfilter: nf_queue: fix possible use-after-free
  netfilter: nf_queue: don't assume sk is full socket
  net: fix up skbs delta_truesize in UDP GRO frag_list
  e1000e: Correct NVM checksum verification flow
  xfrm: enforce validity of offload input flags
  xfrm: fix the if_id check in changelink
  bpf, sockmap: Do not ignore orig_len parameter
  netfilter: fix use-after-free in __nf_register_net_hook()
  xfrm: fix MTU regression
  mm: Consider __GFP_NOWARN flag for oversized kvmalloc() calls
  ntb: intel: fix port config status offset for SPR
  blktrace: fix use after free for struct blk_trace
  mac80211: fix EAPoL rekey fail in 802.3 rx path
  thermal: core: Fix TZ_GET_TRIP NULL pointer dereference
  xen/netfront: destroy queues before real_num_tx_queues is zeroed
  drm/amd/display: Reduce dmesg error to a debug print
  drm/i915: s/JSP2/ICP2/ PCH
  iommu/amd: Recover from event log overflow
  iommu/vt-d: Fix double list_add when enabling VMD in scalable mode
  ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min
  iwlwifi: mvm: check debugfs_dir ptr before use
  riscv: Fix config KASAN && DEBUG_VIRTUAL
  riscv: Fix config KASAN && SPARSEMEM && !SPARSE_VMEMMAP
  riscv/efi_stub: Fix get_boot_hartid_from_fdt() return value
  ucounts: Fix systemd LimitNPROC with private users regression
  ALSA: intel_hdmi: Fix reference to PCM buffer address
  net: of: fix stub of_net helpers for CONFIG_NET=n
  PCI: mvebu: Fix device enumeration regression
  drm/amd/display: For vblank_disable_immediate, check PSR is really used
  bnxt_en: Fix occasional ethtool -t loopback test failures
  drm/amd/display: Fix stream->link_enc unassigned during stream removal
  cifs: fix confusing unneeded warning message on smb2.1 and earlier
  cifs: protect session channel fields with chan_lock
  drm/mediatek: mtk_dsi: Reset the dsi0 hardware
  net: ethernet: litex: Add the dependency on HAS_IOMEM
  of: net: move of_net under net/
  ibmvnic: don't release napi in __ibmvnic_open()
  net: dsa: seville: register the mdiobus under devres
  net: dsa: ocelot: seville: utilize of_mdiobus_register
  gve: Recording rx queue before sending to napi
  drm/i915: Disable DRRS on IVB/HSW port != A
  drm/i915/display: Move DRRS code its own file
  drm/i915/display: split out dpt out of intel_display.c
  riscv/mm: Add XIP_FIXUP for phys_ram_base
  drm: mxsfb: Fix NULL pointer dereference
  drm: mxsfb: Set fallback bus format when the bridge doesn't provide one
  drm/amd/display: Update watermark values for DCN301
  bpf: Fix possible race in inc_misses_counter
  bpf: Use u64_stats_t in struct bpf_prog_stats
  net/mlx5e: IPsec: Fix crypto offload for non TCP/UDP encapsulated traffic
  net/mlx5e: IPsec: Refactor checksum code in tx data path
  octeontx2-af: Add KPU changes to parse NGIO as separate layer
  octeontx2-af: Adjust LA pointer for cpt parse header
  octeontx2-af: cn10k: Use appropriate register for LMAC enable
  octeontx2-af: cn10k: RPM hardware timestamp configuration
  octeontx2-af: Reset PTP config in FLR handler
  octeontx2-af: Optimize KPU1 processing for variable-length headers
  ethtool: Fix link extended state for big endian
  drm/amd/display: move FPU associated DSC code to DML folder
  drm/amd/display: Use adjusted DCN301 watermarks
  drm/amdgpu: filter out radeon secondary ids as well
  drm/amdgpu: filter out radeon PCI device IDs
  drm/amdgpu/display: Only set vblank_disable_immediate when PSR is not enabled
  hugetlbfs: fix off-by-one error in hugetlb_vmdelete_list()
  selftests/vm: make charge_reserved_hugetlb.sh work with existing cgroup setting
  kasan: fix quarantine conflicting with init_on_free
  mm: defer kmemleak object creation of module_alloc()
  tracing/probes: check the return value of kstrndup() for pbuf
  tracing/uprobes: Check the return value of kstrdup() for tu->filename
  dma-buf: cma_heap: Fix mutex locking section
  i3c: master: dw: check return of dw_i3c_master_get_free_pos()
  drm/amdgpu: use spin_lock_irqsave to avoid deadlock by local interrupt
  drm/amdkfd: Check for null pointer after calling kmemdup
  ntb_hw_switchtec: Fix bug with more than 32 partitions
  ntb_hw_switchtec: Fix pff ioread to read into mmio_part_cfg_all
  drm/atomic: Check new_crtc_state->active to determine if CRTC needs disable in self refresh mode
  drm/sun4i: dw-hdmi: Fix missing put_device() call in sun8i_hdmi_phy_get
  SUNRPC: Fix sockaddr handling in svcsock_accept_class trace points
  SUNRPC: Fix sockaddr handling in the svc_xprt_create_error trace point
  drm/i915: don't call free_mmap_offset when purging
  x86/hyperv: Properly deal with empty cpumasks in hyperv_flush_tlb_multi()
  nfsd: fix crash on COPY_NOTIFY with special stateid
  Revert "nfsd: skip some unnecessary stats in the v4 case"
  NFSD: Fix verifier returned in stable WRITEs
  PCI: mvebu: Fix support for DEVCAP2, DEVCTL2 and LNKCTL2 registers on emulated bridge
  PCI: mvebu: Fix support for PCI_EXP_RTSTA on emulated bridge
  PCI: mvebu: Fix support for PCI_EXP_DEVCTL on emulated bridge
  PCI: mvebu: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge
  PCI: mvebu: Setup PCIe controller to Root Complex mode
  PCI: mvebu: Fix configuring secondary bus of PCIe Root Port via emulated bridge
  PCI: mvebu: Fix support for bus mastering and PCI_COMMAND on emulated bridge
  PCI: mvebu: Do not modify PCI IO type bits in conf_write
  PCI: mvebu: Check for errors from pci_bridge_emul_init() call
  Input: ti_am335x_tsc - fix STEPCONFIG setup for Z2
  Input: ti_am335x_tsc - set ADCREFM for X configuration
  tracing: Do not let synth_events block other dyn_event systems during create
  i3c/master/mipi-i3c-hci: Fix a potentially infinite loop in 'hci_dat_v1_get_index()'
  i3c: fix incorrect address slot lookup on 64-bit
  KVM: x86: Exit to userspace if emulation prepared a completion callback
  KVM: x86: Handle 32-bit wrap of EIP for EMULTYPE_SKIP with flat code seg
  KVM: X86: Ensure that dirty PDPTRs are loaded
  KVM: VMX: Read Posted Interrupt "control" exactly once per loop iteration
  KVM: s390: Ensure kvm_arch_no_poll() is read once when blocking vCPU
  KVM: VMX: Don't unblock vCPU w/ Posted IRQ if IRQs are disabled in guest
  PCI: aardvark: Fix checking for MEM resource type
  PCI: dwc: Do not remap invalid res
  PCI: rcar: Check if device is runtime suspended instead of __clk_is_enabled()
  PCI: mediatek-gen3: Disable DVFSRC voltage request
  signal: In get_signal test for signal_group_exit every time through the loop
  MIPS: fix local_{add,sub}_return on MIPS64
  mtd: spi-nor: Fix mtd size for s3an flashes
  tools/resolve_btf_ids: Close ELF file on error
  io_uring: fix no lock protection for ctx->cq_extra
  NFSD: Fix zero-length NFSv3 WRITEs
  NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment()
  ipv6: fix skb drops in igmp6_event_query() and igmp6_event_report()
  tracing: Add ustring operation to filtering string pointers
  drm/amdgpu: check vm ready by amdgpu_vm->evicting flag
  ata: pata_hpt37x: fix PCI clock detection
  sched/fair: Fix fault in reweight_entity
  ext4: fast commit may miss file actions
  ext4: fast commit may not fallback for ineligible commit
  ext4: simplify updating of fast commit stats
  ext4: drop ineligible txn start stop APIs
  serial: stm32: prevent TDR register overwrite when sending x_char
  arm64: Mark start_backtrace() notrace and NOKPROBE_SYMBOL
  tracing: Add test for user space strings when filtering on string pointers
  exfat: fix i_blocks for files truncated over 4 GiB
  exfat: reuse exfat_inode_info variable instead of calling EXFAT_I()
  usb: gadget: clear related members when goto fail
  usb: gadget: don't release an existing dev->buf
  block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern
  net: usb: cdc_mbim: avoid altsetting toggling for Telit FN990
  i2c: qup: allow COMPILE_TEST
  i2c: imx: allow COMPILE_TEST
  i2c: cadence: allow COMPILE_TEST
  dmaengine: shdma: Fix runtime PM imbalance on error
  selftests/ftrace: Do not trace do_softirq because of PREEMPT_RT
  drm/amd/pm: correct UMD pstate clocks for Dimgrey Cavefish and Beige Goby
  selftests/seccomp: Fix seccomp failure by adding missing headers
  cifs: modefromsids must add an ACE for authenticated users
  HID: amd_sfh: Add interrupt handler to process interrupts
  HID: amd_sfh: Add functionality to clear interrupts
  HID: amd_sfh: Handle amd_sfh work buffer in PM ops
  cifs: fix double free race when mount fails in cifs_get_root()
  cifs: do not use uninitialized data in the owner/group sid
  tipc: fix a bit overflow in tipc_crypto_key_rcv()
  block: loop:use kstatfs.f_bsize of backing file to set discard granularity
  KVM: arm64: vgic: Read HW interrupt pending state from the HW
  btrfs: get rid of warning on transaction commit when using flushoncommit
  Input: clear BTN_RIGHT/MIDDLE on buttonpads
  regulator: core: fix false positive in regulator_late_cleanup()
  ASoC: rt5682: do not block workqueue if card is unbound
  ASoC: rt5668: do not block workqueue if card is unbound
  i2c: bcm2835: Avoid clock stretching timeouts
  mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work
  mac80211_hwsim: report NOACK frames in tx_status
  Linux 5.15.26
  ice: fix concurrent reset and removal of VFs
  ice: Fix race conditions between virtchnl handling and VF ndo ops
  memblock: use kfree() to release kmalloced memblock regions
  gpio: tegra186: Fix chip_data type confusion
  pinctrl: k210: Fix bias-pull-up
  pinctrl: fix loop in k210_pinconf_get_drive()
  tty: n_gsm: fix deadlock in gsmtty_open()
  tty: n_gsm: fix wrong modem processing in convergence layer type 2
  tty: n_gsm: fix wrong tty control line for flow control
  tty: n_gsm: fix NULL pointer access due to DLCI release
  tty: n_gsm: fix proper link termination after failed open
  tty: n_gsm: fix encoding of control signal octet bit DV
  riscv: fix oops caused by irqsoff latency tracer
  riscv: fix nommu_k210_sdcard_defconfig
  IB/qib: Fix duplicate sysfs directory name
  tps6598x: clear int mask on probe failure
  staging: fbtft: fb_st7789v: reset display before initialization
  thermal: int340x: fix memory leak in int3400_notify()
  RDMA/cma: Do not change route.addr.src_addr outside state checks
  btrfs: prevent copying too big compressed lzo segment
  driver core: Free DMA range map when device is released
  mtd: core: Fix a conflict between MTD and NVMEM on wp-gpios property
  nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property
  xhci: Prevent futile URB re-submissions due to incorrect return value.
  xhci: re-initialize the HC during resume if HCE was set
  usb: dwc3: gadget: Let the interrupt handler disable bottom halves.
  usb: dwc3: pci: Fix Bay Trail phy GPIO mappings
  usb: dwc3: pci: Add "snps,dis_u2_susphy_quirk" for Intel Bay Trail
  usb: dwc2: drd: fix soft connect when gadget is unconfigured
  USB: serial: option: add Telit LE910R1 compositions
  USB: serial: option: add support for DW5829e
  tracefs: Set the group ownership in apply_options() not parse_options()
  USB: gadget: validate endpoint index for xilinx udc
  usb: gadget: rndis: add spinlock for rndis response list
  Revert "USB: serial: ch341: add new Product ID for CH341A"
  ata: pata_hpt37x: disable primary channel on HPT371
  sc16is7xx: Fix for incorrect data being transmitted
  iio: Fix error handling for PM
  iio: imu: st_lsm6dsx: wait for settling time in st_lsm6dsx_read_oneshot
  iio: accel: fxls8962af: add padding to regmap for SPI
  iio: adc: ad7124: fix mask used for setting AIN_BUFP & AIN_BUFM bits
  iio: adc: tsc2046: fix memory corruption by preventing array overflow
  iio: adc: men_z188_adc: Fix a resource leak in an error handling path
  iio:imu:adis16480: fix buffering for devices with no burst mode
  tracing: Have traceon and traceoff trigger honor the instance
  tracing: Dump stacktrace trigger to the corresponding instance
  RDMA/ib_srp: Fix a deadlock
  configfs: fix a race in configfs_{,un}register_subsystem()
  bnxt_en: Increase firmware message response DMA wait time
  RDMA/rtrs-clt: Move free_permit from free_clt to rtrs_clt_close
  RDMA/rtrs-clt: Fix possible double free in error case
  net-timestamp: convert sk->sk_tskey to atomic_t
  regmap-irq: Update interrupt clear register for proper reset
  gpio: rockchip: Reset int_bothedge when changing trigger
  spi: spi-zynq-qspi: Fix a NULL pointer dereference in zynq_qspi_exec_mem_op()
  net/mlx5: Update log_max_qp value to be 17 at most
  net/mlx5e: kTLS, Use CHECKSUM_UNNECESSARY for device-offloaded packets
  net/mlx5e: MPLSoUDP decap, fix check for unsupported matches
  net/mlx5: DR, Fix the threshold that defines when pool sync is initiated
  net/mlx5: Fix wrong limitation of metadata match on ecpf
  net/mlx5: Fix possible deadlock on rule deletion
  net/mlx5: DR, Don't allow match on IP w/o matching on full ethertype/ip_version
  ibmvnic: schedule failover only if vioctl fails
  net/mlx5: DR, Cache STE shadow memory
  udp_tunnel: Fix end of loop test in udp_tunnel_nic_unregister()
  surface: surface3_power: Fix battery readings on batteries without a serial number
  net/smc: Use a mutex for locking "struct smc_pnettable"
  netfilter: nf_tables: fix memory leak during stateful obj update
  net: mdio-ipq4019: add delay after clock enable
  nfp: flower: Fix a potential leak in nfp_tunnel_add_shared_mac()
  netfilter: nf_tables: unregister flowtable hooks on netns exit
  net: Force inlining of checksum functions in net/checksum.h
  net: ll_temac: check the return value of devm_kmalloc()
  net/sched: act_ct: Fix flow table lookup after ct clear or switching zones
  drm/i915/dg2: Print PHY name properly on calibration error
  drm/vc4: crtc: Fix runtime_pm reference counting
  net/mlx5e: Fix wrong return value on ioctl EEPROM query failure
  drm/edid: Always set RGB444
  openvswitch: Fix setting ipv6 fields causing hw csum failure
  net: mv643xx_eth: process retval from of_get_mac_address
  gso: do not skip outer ip header in case of ipip and net_failover
  tipc: Fix end of loop tests for list_for_each_entry()
  nvme: also mark passthrough-only namespaces ready in nvme_update_ns_info
  net: __pskb_pull_tail() & pskb_carve_frag_list() drop_monitor friends
  io_uring: add a schedule point in io_add_buffers()
  bpf: Add schedule points in batch ops
  bpf: Fix a bpf_timer initialization issue
  selftests: bpf: Check bpf_msg_push_data return value
  bpf: Do not try bpf_msg_push_data with len 0
  bpf: Fix crash due to incorrect copy_map_value
  net/mlx5: Update the list of the PCI supported devices
  ice: initialize local variable 'tlv'
  ice: check the return of ice_ptp_gettimex64
  net/mlx5: Fix tc max supported prio for nic mode
  hwmon: Handle failure to register sensor with thermal zone correctly
  bnxt_en: Fix incorrect multicast rx mask setting when not requested
  bnxt_en: Fix offline ethtool selftest with RDMA enabled
  bnxt_en: Fix active FEC reporting to ethtool
  bnx2x: fix driver load from initrd
  selftests: mptcp: be more conservative with cookie MPJ limits
  selftests: mptcp: fix diag instability
  mptcp: add mibs counter for ignored incoming options
  mptcp: fix race in incoming ADD_ADDR option processing
  perf data: Fix double free in perf_session__delete()
  perf evlist: Fix failed to use cpu list for uncore events
  gpu: host1x: Always return syncpoint value when waiting
  Revert "i40e: Fix reset bw limit when DCB enabled with 1 TC"
  ping: remove pr_err from ping_lookup
  optee: use driver internal tee_context for some rpc
  tee: export teedev_open() and teedev_close_context()
  netfilter: nf_tables_offload: incorrect flow offload action array size
  netfilter: xt_socket: missing ifdef CONFIG_IP6_NF_IPTABLES dependency
  netfilter: xt_socket: fix a typo in socket_mt_destroy()
  CDC-NCM: avoid overflow in sanity checking
  USB: zaurus: support another broken Zaurus
  sr9700: sanity check for packet length
  drm/i915: Fix bw atomic check when switching between SAGV vs. no SAGV
  drm/i915: Correctly populate use_sagv_wm for all pipes
  drm/i915: Widen the QGV point mask
  drm/amdgpu: do not enable asic reset for raven2
  drm/amdgpu: disable MMHUB PG for Picasso
  drm/amd: Check if ASPM is enabled from PCIe subsystem
  drm/amd/pm: fix some OEM SKU specific stability issues
  drm/amd/display: Protect update_bw_bounding_box FPU code.
  KVM: x86/mmu: make apf token non-zero to fix bug
  parisc/unaligned: Fix ldw() and stw() unalignment handlers
  parisc/unaligned: Fix fldd and fstd unaligned handlers on 32-bit kernel
  vhost/vsock: don't check owner in vhost_vsock_stop() while releasing
  selinux: fix misuse of mutex_is_locked()
  io_uring: disallow modification of rsrc_data during quiesce
  io_uring: don't convert to jiffies for waiting on timeouts
  clk: jz4725b: fix mmc0 clock gating
  btrfs: tree-checker: check item_size for dev_item
  btrfs: tree-checker: check item_size for inode_item
  x86/ptrace: Fix xfpregs_set()'s incorrect xmm clearing
  cgroup-v1: Correct privileges check in release_agent writes
  cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug
  mm/filemap: Fix handling of THPs in generic_file_buffered_read()

Conflicts:
	android/abi_gki_aarch64.xml

Upstream-Build: ks_qcom-android13-5.15-keystone-qcom-release@8330128 TKQ2.220321.001
Change-Id: I907fd61426de627fb04a4ba627f94ff9bba856ff
Signed-off-by: Blagovest Kolenichev <quic_c_bkolen@quicinc.com>
2022-03-21 14:26:27 -07:00
Suraj Jaiswal
69c7c0305d net: stmmac: Fixed ethool speed issue
Don't modify emac supported capabilities during
early ethernet boot up. Only update advertise values
otherwise speed can't be changed using ethtool.

Change-Id: Id25ddd17a81fefd4d17116f0ff7237272f2607c0
Acked-by: Nagarjuna Chaganti <nchagant@qti.qualcomm.com>
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2022-03-16 18:10:14 -07:00
Suraj Jaiswal
b4f41b3d21 net: stmmac: boot up KPI changes
Read early ethernet dtsi flag to enable this feature.
Disable autoneg and configure MAC and PHY with 100 Mbps
link speed.
Read MAC addr, IPv4 and IPv6 addresses from kernel cmd
line parameters in order to assign these to ethernet
interface.

Change-Id: Ibeeebb73b4cbbd0950a1bff065297c4e58be671d
Acked-by: Nagarjuna Chaganti <nchagant@qti.qualcomm.com>
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2022-03-16 17:44:12 -07:00
Ong Boon Leong
e753b63936 net: stmmac: enhance XDP ZC driver level switching performance
[ Upstream commit ac746c8520d9d056b6963ecca8ff1da9929d02f1 ]

The previous stmmac_xdp_set_prog() implementation uses stmmac_release()
and stmmac_open() which tear down the PHY device and causes undesirable
autonegotiation which causes a delay whenever AFXDP ZC is setup.

This patch introduces two new functions that just sufficiently tear
down DMA descriptors, buffer, NAPI process, and IRQs and reestablish
them accordingly in both stmmac_xdp_release() and stammac_xdp_open().

As the results of this enhancement, we get rid of transient state
introduced by the link auto-negotiation:

$ ./xdpsock -i eth0 -t -z

 sock0@eth0:0 txonly xdp-drv
                   pps            pkts           1.00
rx                 0              0
tx                 634444         634560

 sock0@eth0:0 txonly xdp-drv
                   pps            pkts           1.00
rx                 0              0
tx                 632330         1267072

 sock0@eth0:0 txonly xdp-drv
                   pps            pkts           1.00
rx                 0              0
tx                 632438         1899584

 sock0@eth0:0 txonly xdp-drv
                   pps            pkts           1.00
rx                 0              0
tx                 632502         2532160

Reported-by: Kurt Kanzenbach <kurt@linutronix.de>
Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Tested-by: Kurt Kanzenbach <kurt@linutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-03-08 19:12:50 +01:00
Suraj Jaiswal
f055b04980 net: stmmac: Add suspend resume support
Add support for low power features like suspend,
resume and wake on lan.

Change-Id: I161b1d6a00e2254cf6b855e81fab7ebd9be244d7
Acked-by: Nagarjuna Chaganti <nchagant@qti.qualcomm.com>
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2022-03-07 14:55:46 -08:00
Suraj Jaiswal
02671e7586 net: stmmac: Enable PPS0 on bootup
Enable PPS0 for 19.2 MHz frequency on initializing PTP.

Change-Id: I15d5fc2d15dd38926970ac7a61f9362604a860a8
Acked-by: Nagarjuna Chaganti <nchagant@qti.qualcomm.com>
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2022-03-02 15:37:10 -08:00
Suraj Jaiswal
93f00709f0 net: stmmac: SDx55: add pps signal and interrupts support
Add ioctl support to handle and generate pps siganal &
interrupt.Add device nodes for pps interrupts to interact
with user space.

Change-Id: I401326443e69bfd0fb37986004bdc47f41dc57b7
Acked-by: Nagarjuna Chaganti <nchagant@qti.qualcomm.com>
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2022-03-02 15:36:41 -08:00
Suraj Jaiswal
c1a7b23b19 net: stmmac: Make code changes to support dlkm compilation
Replace ethqos function calls with function pointer in stmmac.
Makefile changes to compile all ethqos files as single ko.

Change-Id: Iae8fb981b59cf14e33d31530a8798cc56c0e9926
Signed-off-by: Suraj Jaiswal <quic_jsuraj@quicinc.com>
2022-02-28 17:08:15 +05:30
Suraj Jaiswal
50aeb8ab8d net: stmmac: Add support for Micrel PHY interrupt
Add support for Micrel PHY interrupt.
This is required to support Micrel PHY on stmmac driver.

Change-Id: Ic49924199a0e1d2dd95ae3335c079e3d230bc201
Acked-by: Nagarjuna Chaganti <nchagant@qti.qualcomm.com>
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2022-02-15 17:52:55 +05:30
Suraj Jaiswal
ae424e0a03 net: stmmac: Add support for smmu enablement
Add smmu enablement and smmu mapping for ethernet.

Change-Id: I4cc2a1834cdeb9adf25a735bf41197be70a29a3b
Acked-by: Nagarjuna Chaganti <nchagant@qti.qualcomm.com>
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2022-02-15 17:52:13 +05:30
Suraj Jaiswal
9bd98fa592 net: stmmac: Add support for PHY interrupts
Driver only supported polling mode. Add PHY interrupt support.

Change-Id: Icfd4986c5e71ccbc6e10b76553a08c86cbdee05d
Acked-by: Nagarjuna Chaganti <nchagant@qti.qualcomm.com>
Signed-off-by: Suraj Jaiswal <jsuraj@codeaurora.org>
2022-02-08 21:01:41 -08:00
Ong Boon Leong
97cb5c82aa net: stmmac: fix tc flower deletion for VLAN priority Rx steering
[ Upstream commit aeb7c75cb77478fdbf821628e9c95c4baa9adc63 ]

To replicate the issue:-

1) Add 1 flower filter for VLAN Priority based frame steering:-
$ IFDEVNAME=eth0
$ tc qdisc add dev $IFDEVNAME ingress
$ tc qdisc add dev $IFDEVNAME root mqprio num_tc 8 \
   map 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0 \
   queues 1@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 hw 0
$ tc filter add dev $IFDEVNAME parent ffff: protocol 802.1Q \
   flower vlan_prio 0 hw_tc 0

2) Get the 'pref' id
$ tc filter show dev $IFDEVNAME ingress

3) Delete a specific tc flower record (say pref 49151)
$ tc filter del dev $IFDEVNAME parent ffff: pref 49151

From dmesg, we will observe kernel NULL pointer ooops

[  197.170464] BUG: kernel NULL pointer dereference, address: 0000000000000000
[  197.171367] #PF: supervisor read access in kernel mode
[  197.171367] #PF: error_code(0x0000) - not-present page
[  197.171367] PGD 0 P4D 0
[  197.171367] Oops: 0000 [#1] PREEMPT SMP NOPTI

<snip>

[  197.171367] RIP: 0010:tc_setup_cls+0x20b/0x4a0 [stmmac]

<snip>

[  197.171367] Call Trace:
[  197.171367]  <TASK>
[  197.171367]  ? __stmmac_disable_all_queues+0xa8/0xe0 [stmmac]
[  197.171367]  stmmac_setup_tc_block_cb+0x70/0x110 [stmmac]
[  197.171367]  tc_setup_cb_destroy+0xb3/0x180
[  197.171367]  fl_hw_destroy_filter+0x94/0xc0 [cls_flower]

The above issue is due to previous incorrect implementation of
tc_del_vlan_flow(), shown below, that uses flow_cls_offload_flow_rule()
to get struct flow_rule *rule which is no longer valid for tc filter
delete operation.

  struct flow_rule *rule = flow_cls_offload_flow_rule(cls);
  struct flow_dissector *dissector = rule->match.dissector;

So, to ensure tc_del_vlan_flow() deletes the right VLAN cls record for
earlier configured RX queue (configured by hw_tc) in tc_add_vlan_flow(),
this patch introduces stmmac_rfs_entry as driver-side flow_cls_offload
record for 'RX frame steering' tc flower, currently used for VLAN
priority. The implementation has taken consideration for future extension
to include other type RX frame steering such as EtherType based.

v2:
 - Clean up overly extensive backtrace and rewrite git message to better
   explain the kernel NULL pointer issue.

Fixes: 0e039f5cf8 ("net: stmmac: add RX frame steering based on VLAN priority in tc flower")
Tested-by: Kurt Kanzenbach <kurt@linutronix.de>
Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-12-22 09:32:42 +01:00
Holger Assmann
8d196fa5a9 net: stmmac: retain PTP clock time during SIOCSHWTSTAMP ioctls
[ Upstream commit a6da2bbb0005e6b4909472962c9d0af29e75dd06 ]

Currently, when user space emits SIOCSHWTSTAMP ioctl calls such as
enabling/disabling timestamping or changing filter settings, the driver
reads the current CLOCK_REALTIME value and programming this into the
NIC's hardware clock. This might be necessary during system
initialization, but at runtime, when the PTP clock has already been
synchronized to a grandmaster, a reset of the timestamp settings might
result in a clock jump. Furthermore, if the clock is also controlled by
phc2sys in automatic mode (where the UTC offset is queried from ptp4l),
that UTC-to-TAI offset (currently 37 seconds in 2021) would be
temporarily reset to 0, and it would take a long time for phc2sys to
readjust so that CLOCK_REALTIME and the PHC are apart by 37 seconds
again.

To address the issue, we introduce a new function called
stmmac_init_tstamp_counter(), which gets called during ndo_open().
It contains the code snippet moved from stmmac_hwtstamp_set() that
manages the time synchronization. Besides, the sub second increment
configuration is also moved here since the related values are hardware
dependent and runtime invariant.

Furthermore, the hardware clock must be kept running even when no time
stamping mode is selected in order to retain the synchronized time base.
That way, timestamping can be enabled again at any time only with the
need to compensate the clock's natural drifting.

As a side effect, this patch fixes the issue that ptp_clock_info::enable
can be called before SIOCSHWTSTAMP and the driver (which looks at
priv->systime_flags) was not prepared to handle that ordering.

Fixes: 92ba688851 ("stmmac: add the support for PTP hw clock driver")
Reported-by: Michael Olbrich <m.olbrich@pengutronix.de>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Holger Assmann <h.assmann@pengutronix.de>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-12-01 09:04:49 +01:00
Marc Zyngier
12d125b457 stmmac: Revert "stmmac: align RX buffers"
This reverts commit a955318fe6 ("stmmac: align RX buffers"),
which breaks at least one platform (Nvidia Jetson-X1), causing
packet corruption. This is 100% reproducible, and reverting
the patch results in a working system again.

Given that it is "only" a performance optimisation, let's
return to a known working configuration until we can have a
good understanding of what is happening here.

Fixes: a955318fe6 ("stmmac: align RX buffers")
Cc: Matteo Croce <mcroce@linux.microsoft.com>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Link: https://lore.kernel.org/netdev/871r71azjw.wl-maz@kernel.org
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210820183002.457226-1-maz@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-08-20 14:44:49 -07:00
Xiaoliang Yang
81c52c42af net: stmmac: separate the tas basetime calculation function
Separate the TAS basetime calculation function so that it can be
called by other functions.

Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-07-05 10:16:17 -07:00
Matteo Croce
a955318fe6 stmmac: align RX buffers
On RX an SKB is allocated and the received buffer is copied into it.
But on some architectures, the memcpy() needs the source and destination
buffers to have the same alignment to be efficient.

This is not our case, because SKB data pointer is misaligned by two bytes
to compensate the ethernet header.

Align the RX buffer the same way as the SKB one, so the copy is faster.
An iperf3 RX test gives a decent improvement on a RISC-V machine:

before:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   733 MBytes   615 Mbits/sec   88             sender
[  5]   0.00-10.01  sec   730 MBytes   612 Mbits/sec                  receiver

after:
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.09 GBytes   940 Mbits/sec                  receiver

And the memcpy() overhead during the RX drops dramatically.

before:
Overhead  Shared O  Symbol
  43.35%  [kernel]  [k] memcpy
  33.77%  [kernel]  [k] __asm_copy_to_user
   3.64%  [kernel]  [k] sifive_l2_flush64_range

after:
Overhead  Shared O  Symbol
  45.40%  [kernel]  [k] __asm_copy_to_user
  28.09%  [kernel]  [k] memcpy
   4.27%  [kernel]  [k] sifive_l2_flush64_range

Signed-off-by: Matteo Croce <mcroce@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-06-15 10:25:18 -07:00
Wong Vee Khee
52e597d3e2 net: stmmac: Fix potential integer overflow
The commit d96febedfd ("net: stmmac: arrange Tx tail pointer update
to stmmac_flush_tx_descriptors") introduced the following coverity
warning:-

  1. Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)
     overflow_before_widen: Potentially overflowing expression
     'tx_q->cur_tx * desc_size' with type 'unsigned int' (32 bits,
     unsigned) is evaluated using 32-bit arithmetic, and then used in a
     context that expects an expression of type dma_addr_t (64 bits,
     unsigned).

Fixed this by assigning tx_tail_addr to dma_addr_t type, as dma_addr_t
datatype is decided by CONFIG_ARCH_DMA_ADDR_T_64_BIT.

Fixes: d96febedfd ("net: stmmac: arrange Tx tail pointer update to stmmac_flush_tx_descriptors")
Signed-off-by: Wong Vee Khee <vee.khee.wong@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-06-11 13:11:54 -07:00
Voon Weifeng
597a68ce32 net: stmmac: split xPCS setup from mdio register
This patch is a preparation patch for the enabling of Intel mGbE 2.5Gbps
link speed. The Intel mGbR link speed configuration (1G/2.5G) is depends on
a mdio ADHOC register which can be configured in the bios menu.
As PHY interface might be different for 1G and 2.5G, the mdio bus need be
ready to check the link speed and select the PHY interface before probing
the xPCS.

Signed-off-by: Voon Weifeng <weifeng.voon@intel.com>
Signed-off-by: Michael Sit Wei Hong <michael.wei.hong.sit@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-06-08 14:31:43 -07:00
Tan Tee Min
f4da56529d net: stmmac: Add support for external trigger timestamping
The Synopsis MAC controller supports auxiliary snapshot feature that
allows user to store a snapshot of the system time based on an external
event.

This patch add supports to the above mentioned feature. Users will be
able to triggered capturing the time snapshot from user-space using
application such as testptp or any other applications that uses the
PTP_EXTTS_REQUEST ioctl request.

Cc: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: Tan Tee Min <tee.min.tan@intel.com>
Co-developed-by: Wong Vee Khee <vee.khee.wong@linux.intel.com>
Signed-off-by: Wong Vee Khee <vee.khee.wong@linux.intel.com>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-14 12:57:45 -07:00
Ong Boon Leong
132c32ee5b net: stmmac: Add TX via XDP zero-copy socket
We add the support of XDP ZC TX submission and cleaning into
stmmac_tx_clean(). The function is made to clean as many TX complete
frames as possible, i.e. limit by priv->dma_tx_size instead of NAPI
budget. For TX ring that is associated with XSK pool, the function
stmmac_xdp_xmit_zc() is introduced to TX frame buffers from XSK pool by
using xsk_tx_peek_desc(). To make stmmac_tx_clean() support the cleaning
of XSK TX frames, STMMAC_TXBUF_T_XSK_TX TX buffer type is introduced.

As stmmac_tx_clean() uses the return value to cue whether NAPI function
should continue to poll, we augment the caller of stmmac_tx_clean() to
pass NAPI budget instead of priv->dma_tx_size through 'budget' input and
made stmmac_tx_clean() to always clean up-to the TX ring size instead.
This allows us to use the return boolean status of stmmac_xdp_xmit_zc()
to decide if XSK TX work is done or not: If true, set 'xmits' to return
'budget - 1' so that NAPI poll may exit. Else, set 'xmits' to return
'budget' to make NAPI poll continue to poll since XSK TX work is not
done. Finally, at the end of stmmac_tx_clean(), the function now take
a maximum value between 'count' and 'xmits' so that status from both
TX cleaning and XSK TX (only for XDP ZC) is considered.

This patch adds a new NAPI poll called stmmac_napi_poll_rxtx() that is
meant to be enabled/disabled for RX and TX ring that are bound to XSK
pool. This NAPI poll function starts with cleaning TX ring, then submits
XSK TX frames to TX ring before proceed to perform RX operations, i.e.
, receiving RX frames and replenishing RX ring with RX free buffers
obtained from XSK pool. Therefore, during XSK RX and TX setup, the driver
enables stmmac_napi_poll_rxtx() for RX and TX operations, then during
XSK RX and TX pool tear-down, the driver reenables the exisiting
independent NAPI poll functions accordingly: stmmac_napi_poll_rx() and
stmmac_napi_poll_tx().

Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-13 15:06:51 -07:00
Ong Boon Leong
bba2556efa net: stmmac: Enable RX via AF_XDP zero-copy
This patch adds the support for receiving packet via AF_XDP zero-copy
mechanism.

XDP ZC uses 1:1 mapping of XDP buffer to receive packet, therefore the
use of split header is not used currently. The 'xdp_buff' is declared as
union together with a struct that contains 'page', 'addr' and
'page_offset' that are associated with primary buffer.

RX buffers are now allocated either via page_pool or xsk pool. For RX
buffers from xsk_pool they are allocated and deallocated using below
functions:

 * stmmac_alloc_rx_buffers_zc(struct stmmac_priv *priv, u32 queue)
 * dma_free_rx_xskbufs(struct stmmac_priv *priv, u32 queue)

With above functions now available, we then extend the following driver
functions to support XDP ZC:
 * stmmac_reinit_rx_buffers()
 * __init_dma_rx_desc_rings()
 * init_dma_rx_desc_rings()
 * __free_dma_rx_desc_resources()

Note: stmmac_alloc_rx_buffers_zc() may return -ENOMEM due to RX XDP
buffer pool is not allocated (e.g. samples/bpf/xdpsock TX-only). But,
it is still ok to let TX XDP ZC to continue, therefore, the -ENOMEM
is silently ignored to let the driver succcessfully transition to XDP
ZC mode for the said RX and TX queue.

As XDP ZC buffer size is different, the DMA buffer size is required
to be reprogrammed accordingly for RX DMA/Queue that is populated with
XDP buffer from XSK pool.

Next, to add or remove per-queue XSK pool, stmmac_xdp_setup_pool()
will call stmmac_xdp_enable_pool() or stmmac_xdp_disable_pool()
that in-turn coordinates the tearing down and setting up RX ring via
RX buffers and descriptors removal and reallocation through
stmmac_disable_rx_queue() and stmmac_enable_rx_queue(). In addition,
stmmac_xsk_wakeup() is added to initiate XDP RX buffer replenishing
by signalling user application to add available XDP frames back to
FILL queue.

For RX processing using XDP zero-copy buffer, stmmac_rx_zc() is
introduced which is implemented with the assumption that RX split
header is disabled. For XDP verdict is XDP_PASS, the XDP buffer is
copied into a sk_buff allocated through stmmac_construct_skb_zc()
and sent to Linux network GRO inside stmmac_dispatch_skb_zc(). Free RX
buffers are then replenished using stmmac_rx_refill_zc()

v2: introduce __stmmac_disable_all_queues() to contain the original code
    that does napi_disable() and then make stmmac_setup_tc_block_cb()
    to use it. Move synchronize_rcu() into stmmac_disable_all_queues()
    that eventually calls __stmmac_disable_all_queues(). Then,
    make both stmmac_release() and stmmac_suspend() to use
    stmmac_disable_all_queues(). Thanks David Miller for spotting the
    synchronize_rcu() issue in v1 patch.

Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-13 15:06:51 -07:00
Michael Walle
83216e3988 of: net: pass the dst buffer to of_get_mac_address()
of_get_mac_address() returns a "const void*" pointer to a MAC address.
Lately, support to fetch the MAC address by an NVMEM provider was added.
But this will only work with platform devices. It will not work with
PCI devices (e.g. of an integrated root complex) and esp. not with DSA
ports.

There is an of_* variant of the nvmem binding which works without
devices. The returned data of a nvmem_cell_read() has to be freed after
use. On the other hand the return of_get_mac_address() points to some
static data without a lifetime. The trick for now, was to allocate a
device resource managed buffer which is then returned. This will only
work if we have an actual device.

Change it, so that the caller of of_get_mac_address() has to supply a
buffer where the MAC address is written to. Unfortunately, this will
touch all drivers which use the of_get_mac_address().

Usually the code looks like:

  const char *addr;
  addr = of_get_mac_address(np);
  if (!IS_ERR(addr))
    ether_addr_copy(ndev->dev_addr, addr);

This can then be simply rewritten as:

  of_get_mac_address(np, ndev->dev_addr);

Sometimes is_valid_ether_addr() is used to test the MAC address.
of_get_mac_address() already makes sure, it just returns a valid MAC
address. Thus we can just test its return code. But we have to be
careful if there are still other sources for the MAC address before the
of_get_mac_address(). In this case we have to keep the
is_valid_ether_addr() call.

The following coccinelle patch was used to convert common cases to the
new style. Afterwards, I've manually gone over the drivers and fixed the
return code variable: either used a new one or if one was already
available use that. Mansour Moufid, thanks for that coccinelle patch!

<spml>
@a@
identifier x;
expression y, z;
@@
- x = of_get_mac_address(y);
+ x = of_get_mac_address(y, z);
  <...
- ether_addr_copy(z, x);
  ...>

@@
identifier a.x;
@@
- if (<+... x ...+>) {}

@@
identifier a.x;
@@
  if (<+... x ...+>) {
      ...
  }
- else {}

@@
identifier a.x;
expression e;
@@
- if (<+... x ...+>@e)
-     {}
- else
+ if (!(e))
      {...}

@@
expression x, y, z;
@@
- x = of_get_mac_address(y, z);
+ of_get_mac_address(y, z);
  ... when != x
</spml>

All drivers, except drivers/net/ethernet/aeroflex/greth.c, were
compile-time tested.

Suggested-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-13 14:35:02 -07:00
Ong Boon Leong
8b278a5b69 net: stmmac: Add support for XDP_REDIRECT action
This patch adds the support of XDP_REDIRECT to another remote cpu for
further action. It also implements ndo_xdp_xmit ops, enabling the driver
to transmit packets forwarded to it by XDP program running on another
interface.

This patch has been tested using "xdp_redirect_cpu" for XDP_REDIRECT
+ drop testing. It also been tested with "xdp_redirect" sample app
which can be used to exercise ndo_xdp_xmit ops. The burst traffics are
generated using pktgen_sample03_burst_single_flow.sh in samples/pktgen
directory.

v4: Move xdp_do_flush() processing into stmmac_finalize_xdp_rx() and
    combined the XDP verdict of XDP TX and REDIRECT together.

v3: Added 'nq->trans_start = jiffies' to avoid TX time-out as we are
    sharing TX queue between slow path and XDP. Thanks to Jakub Kicinski
    for point out.

Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-03 14:13:39 -07:00
Ong Boon Leong
be8b38a722 net: stmmac: Add support for XDP_TX action
This patch adds support for XDP_TX action which enables XDP program to
transmit back received frames.

This patch has been tested with the "xdp2" app located in samples/bpf
dir. The DUT receives burst traffic packet generated using pktgen script
'pktgen_sample03_burst_single_flow.sh'.

v4: Moved stmmac_tx_timer_arm() to be done once at the end of NAPI RX.
    Fixed stmmac_xdp_xmit_back() to return STMMAC_XDP_CONSUMED if
    XDP buffer to frame conversion fails. Thanks to Jakub's input.

v3: Added 'nq->trans_start = jiffies' to avoid TX time-out as we are
    sharing TX queue between slow path and XDP. Thanks to Jakub Kicinski
    for pointing out.

Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-03 14:13:39 -07:00
Ong Boon Leong
5fabb01207 net: stmmac: Add initial XDP support
This patch adds the initial XDP support to stmmac driver. It supports
XDP_PASS, XDP_DROP and XDP_ABORTED actions. Upcoming patches will add
support for XDP_TX and XDP_REDIRECT.

To support XDP headroom, this patch adds page_offset into RX buffer and
change the dma_sync_single_for_device|cpu(). The DMA address used for
RX operation are changed to take into page_offset too. As page_pool
can handle dma_sync_single_for_device() on behalf of driver with
PP_FLAG_DMA_SYNC_DEV flag, we skip doing that in stmmac driver.

Current stmmac driver supports split header support (SPH) in RX but
the flexibility of splitting header and payload at different position
makes it very complex to be supported for XDP processing. In addition,
jumbo frame is not supported in XDP to keep the initial codes simple.

This patch has been tested with the sample app "xdp1" located in
samples/bpf directory for both SKB and Native (XDP) mode. The burst
traffic generated using pktgen_sample03_burst_single_flow.sh in
samples/pktgen directory.

Changes in v3:
 - factor in xdp header and tail adjustment done by XDP program.
   Thanks to Jakub Kicinski for pointing out the gap in v2.

Changes in v2:
 - fix for "warning: variable 'len' set but not used" reported by lkp.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-03 14:13:39 -07:00
Ong Boon Leong
d08d32d101 net: stmmac: make SPH enable/disable to be configurable
SPH functionality splits header and payload according to split mode and
offsef fields (SPLM and SPLOFST). It is beneficials for Linux network
stack RX processing however it adds a lot of complexity in XDP
processing.

So, this patch makes the split-header (SPH) capability of the controller
is stored in "priv->sph_cap" and the enabling/disabling of SPH is decided
by "priv->sph".

This is to prepare initial XDP enabling for stmmac to disable the use of
SPH whenever XDP is enabled.

Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-03 14:13:38 -07:00
Ong Boon Leong
8532f613bc net: stmmac: introduce MSI Interrupt routines for mac, safety, RX & TX
Now we introduce MSI interrupt service routines and hook these routines
up if stmmac_open() sees valid irq line being requested:-

stmmac_mac_interrupt()    :- MAC (dev->irq), WOL (wol_irq), LPI (lpi_irq)
stmmac_safety_interrupt() :- Safety Feat Correctible Error (sfty_ce_irq)
                             & Uncorrectible Error (sfty_ue_irq)
stmmac_msi_intr_rx()      :- For all RX MSI irq (rx_irq)
stmmac_msi_intr_tx()      :- For all TX MSI irq (tx_irq)

Each of IRQs will have its unique name so that we can differentiate
them easily under /proc/interrupts.

Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: Voon Weifeng <weifeng.voon@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-03-25 17:37:30 -07:00
Ong Boon Leong
5a5586112b net: stmmac: support FPE link partner hand-shaking procedure
In order to discover whether remote station supports frame preemption,
local station sends verify mPacket and expects response mPacket in
return from the remote station.

So, we add the functions to send and handle event when verify mPacket
and response mPacket are exchanged between the networked stations.

The mechanism to handle different FPE states between local and remote
station (link partner) is implemented using workqueue which starts a
task each time there is some sign of verify & response mPacket exchange
as check in FPE IRQ event. The task retries couple of times to try to
spot the states that both stations are ready to enter FPE ON. This allows
different end points to enable FPE at different time and verify-response
mPacket can happen asynchronously. Ultimately, the task will only turn
FPE ON when local station have both exchange response in both directions.

Thanks to Voon Weifeng for implementing the core functions for detecting
FPE events and send mPacket and phylink related change.

Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Co-developed-by: Voon Weifeng <weifeng.voon@intel.com>
Signed-off-by: Voon Weifeng <weifeng.voon@intel.com>
Co-developed-by: Tan Tee Min <tee.min.tan@intel.com>
Signed-off-by: Tan Tee Min <tee.min.tan@intel.com>
Co-developed-by: Mohammad Athari Bin Ismail <mohammad.athari.ismail@intel.com>
Signed-off-by: Mohammad Athari Bin Ismail <mohammad.athari.ismail@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-03-24 17:58:13 -07:00
Ong Boon Leong
db2f2842e6 net: stmmac: add per-queue TX & RX coalesce ethtool support
Extending the driver to support per-queue RX and TX coalesce settings in
order to support below commands:

To show per-queue coalesce setting:-
 $ ethtool --per-queue <DEVNAME> queue_mask <MASK> --show-coalesce

To set per-queue coalesce setting:-
 $ ethtool --per-queue <DEVNAME> queue_mask <MASK> --coalesce \
     [rx-usecs N] [rx-frames M] [tx-usecs P] [tx-frames Q]

Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-03-17 14:36:24 -07:00
Joakim Zhang
5ec5582343 net: stmmac: add clocks management for gmac driver
This patch intends to add clocks management for stmmac driver:

If CONFIG_PM enabled:
1. Keep clocks disabled after driver probed.
2. Enable clocks when up the net device, and disable clocks when down
the net device.

If CONFIG_PM disabled:
Keep clocks always enabled after driver probed.

Note:
1. It is fine for ethtool, since the way of implementing ethtool_ops::begin
in stmmac is only can be accessed when interface is enabled, so the clocks
are ticked.
2. The MDIO bus has a different life cycle to the MAC, need ensure
clocks are enabled when _mdio_read/write() need clocks, because these
functions can be called while the interface it not opened.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-03-15 14:46:21 -07:00
Vincent Whitchurch
d5a05e69ac net: stmmac: Use hrtimer for TX coalescing
This driver uses a normal timer for TX coalescing, which means that the
with the default tx-usecs of 1000 microseconds the cleanups actually
happen 10 ms or more later with HZ=100.  This leads to very low
througput with TCP when bridged to a slow link such as a 4G modem.  Fix
this by using an hrtimer instead.

On my ARM platform with HZ=100 and the default TX coalescing settings
(tx-frames 25 tx-usecs 1000), with "tc qdisc add dev eth0 root netem
delay 60ms 40ms rate 50Mbit" run on the server, netperf's TCP_STREAM
improves from ~5.5 Mbps to ~100 Mbps.

Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Link: https://lore.kernel.org/r/20201120150208.6838-1-vincent.whitchurch@axis.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-11-24 08:47:44 -08:00
Vineetha G. Jaya Kumaran
be1c7eae8c net: stmmac: Enable EEE HW LPI timer with auto SW/HW switching
This patch enables the HW LPI Timer which controls the automatic entry
and exit of the LPI state.
The EEE LPI timer value is configured through ethtool. The driver will
auto select the LPI HW timer if the value in the HW timer supported range.
Else, the driver will fallback to SW timer.

Signed-off-by: Vineetha G. Jaya Kumaran <vineetha.g.jaya.kumaran@intel.com>
Signed-off-by: Voon Weifeng <weifeng.voon@intel.com>
Link: https://lore.kernel.org/r/20201027160051.22898-1-weifeng.voon@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-10-30 09:59:26 -07:00
David S. Miller
8b0308fe31 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Rejecting non-native endian BTF overlapped with the addition
of support for it.

The rest were more simple overlapping changes, except the
renesas ravb binding update, which had to follow a file
move as well as a YAML conversion.

Signed-off-by: David S. Miller <davem@davemloft.net>
2020-10-05 18:40:01 -07:00
Vineetha G. Jaya Kumaran
388e201d41 net: stmmac: Modify configuration method of EEE timers
Ethtool manual stated that the tx-timer is the "the amount of time the
device should stay in idle mode prior to asserting its Tx LPI". The
previous implementation for "ethtool --set-eee tx-timer" sets the LPI TW
timer duration which is not correct. Hence, this patch fixes the
"ethtool --set-eee tx-timer" to configure the EEE LPI timer.

The LPI TW Timer will be using the defined default value instead of
"ethtool --set-eee tx-timer" which follows the EEE LS timer implementation.

Changelog V2
*Not removing/modifying the eee_timer.
*EEE LPI timer can be configured through ethtool and also the eee_timer
module param.
*EEE TW Timer will be configured with default value only, not able to be
configured through ethtool or module param. This follows the implementation
of the EEE LS Timer.

Fixes: d765955d2a ("stmmac: add the Energy Efficient Ethernet support")
Signed-off-by: Vineetha G. Jaya Kumaran <vineetha.g.jaya.kumaran@intel.com>
Signed-off-by: Voon Weifeng <weifeng.voon@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-10-03 16:40:25 -07:00
Song, Yoong Siang
aa042f60e4 net: stmmac: Add support to Ethtool get/set ring parameters
This patch add support to --show-ring & --set-ring Ethtool functions:
- Adding min, max, power of two check to new ring parameter's value.
- Bring down the network interface before changing the value of ring
  parameters.
- Bring up the network interface after changing the value of ring
  parameters.

Signed-off-by: Song, Yoong Siang <yoong.siang.song@intel.com>
Signed-off-by: Voon Weifeng <weifeng.voon@intel.com>
Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-09-16 15:22:52 -07:00
Ong Boon Leong
0366f7e06a net: stmmac: add ethtool support for get/set channels
Restructure NAPI add and delete process so that we can call them
accordingly in open() and ethtool_set_channels() accordingly.

Introduced stmmac_reinit_queues() to handle the transition needed
for changing Rx & Tx channels accordingly.

Signed-off-by: Ong Boon Leong <boon.leong.ong@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-09-15 15:39:31 -07:00
Jose Abreu
579a25a854 net: stmmac: Initial support for TBS
Adds the initial hooks for TBS support. This needs a 32 byte descriptor
in order for it to work with current HW. Adds all the logic for Enhanced
Descriptors in main core but no HW related logic for now.

Changes from v2:
- Use bitfield for TBS status / support (Jakub)
- Remove unneeded cache alignment (Jakub)
- Fix checkpatch issues

Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2020-01-13 18:31:48 -08:00
Jose Abreu
021bd5e369 net: stmmac: Let TX and RX interrupts be independently enabled/disabled
By using this mechanism we can get rid of the not so nice method of
scheduling TX NAPI when the RX was scheduled. No bandwidth reduction was
seen with this change.

Changes from v1:
- Remove useless comment (Jakub)
- Do not bind the TX clean to NAPI budget (Jakub)

Signed-off-by: Jose Abreu <Jose.Abreu@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-12-18 12:14:08 -08:00