Linux wireless drivers development
 help / color / mirror / Atom feed
* Re: [PATCH v10] Add device-specific reset for Qualcomm devices
From: Baochen Qiang @ 2026-06-29  9:44 UTC (permalink / raw)
  To: Manivannan Sadhasivam
  Cc: Jose Ignacio Tornos Martinez, bhelgaas, alex, jjohnson, linux-pci,
	linux-wireless, ath11k, ath12k, mhi, linux-kernel
In-Reply-To: <l3pcelhxn46p4smkkg5yob5enf4d4garp2p6macopnq5h2gwyf@zbbn65k4tz2q>



On 6/25/2026 9:03 PM, Manivannan Sadhasivam wrote:
> On Wed, Jun 24, 2026 at 03:47:12PM +0800, Baochen Qiang wrote:
>>
>>
>> On 6/24/2026 2:31 AM, Jose Ignacio Tornos Martinez wrote:
>>> Some Qualcomm PCIe devices (WCN6855/WCN7850 WiFi cards, SDX62/SDX65 modems)
>>> lack working reset methods for VFIO passthrough scenarios. These devices
>>> have no FLR capability, advertise NoSoftRst+ (blocking PM reset), and have
>>> broken bus reset.
>>>
>>> The problem manifests in VFIO passthrough scenarios:
>>>
>>> - WCN6855 (17cb:1103) and WCN7850 (17cb:1107) WiFi devices:
>>>   Normal VM operation works fine, including clean shutdown/reboot.
>>>   However, when the VM terminates uncleanly (crash, force-off), VFIO
>>>   attempts to reset the device before it can be assigned to another VM.
>>>   Without a working reset method, the device remains in an undefined state,
>>>   preventing reuse.
>>>
>>> - SDX62/SDX65 (17cb:0308) 5G modems: Never successfully initialize even
>>>   on first VM assignment without proper reset capability.
>>>
>>> Add device-specific reset methods using BAR-space hardware reset registers
>>> that exist in these devices:
>>>
>>> - WCN6855/WCN7850 WiFi devices use SoC global reset via BAR0 (sequence from
>>>   ath11k/ath12k driver: ath11k_pci_soc_global_reset(), ath11k_pci_sw_reset(),
>>>   ath11k_mhi_set_mhictrl_reset()):
>>>   - Write/clear reset bit at offset 0x3008
>>>   - Wait for PCIe link recovery (up to 5 seconds)
>>>   - Clear MHI controller SYSERR status at offset 0x38
>>>
>>> - SDX62/SDX65 modem devices use MHI SoC reset via BAR0 (sequence from MHI
>>>   driver: mhi_soc_reset(), mhi_pci_reset_prepare()):
>>>   - Write reset request to offset 0xb0
>>>   - Wait 2 seconds for reset completion
>>>
>>> These are true hardware reset mechanisms (not power management or firmware
>>> error recovery), providing proper device reset for VFIO scenarios.
>>>
>>> Testing was performed on desktop platforms with M.2 WiFi and modem cards
>>> using M.2-to-PCIe adapters, including extensive force-reset cycling to
>>> verify stability.
>>>
>>> Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
>>> ---
>>> v10:
>>>   - Complete redesign based on maintainer feedback (Manivannan Sadhasivam,
>>>     Alex Williamson): use actual hardware reset registers from
>>>     device drivers instead of D3hot power cycling
>>> v9: https://lore.kernel.org/all/20260612142638.1243895-1-jtornosm@redhat.com/
>>>
>>>  drivers/pci/quirks.c | 118 +++++++++++++++++++++++++++++++++++++++++++
>>>  1 file changed, 118 insertions(+)
>>>
>>> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
>>> index 431c021d7414..8ad3f214e520 100644
>>> --- a/drivers/pci/quirks.c
>>> +++ b/drivers/pci/quirks.c
>>> @@ -4240,6 +4240,121 @@ static int reset_hinic_vf_dev(struct pci_dev *pdev, bool probe)
>>>  	return 0;
>>>  }
>>>  
>>> +#define QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET	0x3008
>>> +#define QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET_V	BIT(0)
>>> +#define QUALCOMM_WIFI_MHISTATUS			0x48
>>> +#define QUALCOMM_WIFI_MHICTRL			0x38
>>> +#define QUALCOMM_WIFI_MHICTRL_RESET_MASK	0x2
>>> +
>>> +/*
>>> + * Qualcomm WiFi device-specific reset using SoC global reset via BAR0
>>> + * registers.
>>> + */
>>> +static int reset_qualcomm_wifi(struct pci_dev *pdev, bool probe)
>>> +{
>>> +	bool link_recovered = false;
>>> +	unsigned long timeout;
>>> +	void __iomem *bar;
>>> +	u32 val;
>>> +	u16 cmd;
>>> +
>>> +	if (probe)
>>> +		return 0;
>>> +
>>> +	if (pdev->current_state != PCI_D0)
>>> +		return -EINVAL;
>>> +
>>> +	pci_read_config_word(pdev, PCI_COMMAND, &cmd);
>>> +	pci_write_config_word(pdev, PCI_COMMAND, cmd | PCI_COMMAND_MEMORY);
>>> +
>>> +	bar = pci_iomap(pdev, 0, 0);
>>> +	if (!bar) {
>>> +		pci_write_config_word(pdev, PCI_COMMAND, cmd);
>>> +		return -ENODEV;
>>> +	}
>>> +
>>> +	val = ioread32(bar + QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET);
>>
>> QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET is beyond the first 4K bar area hence requires MHI
>> wakeup before accessing, see [1]. the wakeup callback for WCN6855 is
>> ath11k_pci_bus_wake_up() which calls mhi_device_get_sync(). Not sure how this can be done
>> here. Maybe Mani can provide some hints?
>>
> 
> I don't think the device needs to be waken up before
> QUALCOMM_WIFI_PCIE_SOC_GLOBAL_RESET. ath11k driver wakes up the device for
> accessing the MHI interface I believe. Since this callback is not touching MHI,
> there is no need to wakeup the device, AFAIK.

MHI register space is constitute with 3 segments, with mhi offset always being 0, bhi
offset 0x100 and bhie offset 0x224 (the latter two offsets are for WCN7850, but I think
also apply to other devices). That said the whole MHI register space does not go beyond
the first 4K region, hence wakeup is not for accessing MHI interface.

> 
> - Mani
> 


^ permalink raw reply

* [BUG] mt7615e: MT7663 system freezes when switching from monitor mode back to managed mode
From: Orly Orge @ 2026-06-29  9:40 UTC (permalink / raw)
  To: linux-wireless


[-- Attachment #1.1: Type: text/plain, Size: 1497 bytes --]

Hello,

I would like to report a reproducible kernel crash with the MediaTek MT7663
wireless adapter using the mt7615e driver.
Hardware

Device: MediaTek MT7663 802.11ac PCIe
PCI ID: 14c3:7663
Subsystem: Lite-On 11ad:3801
Driver: mt7615e
Software

Distribution: Kali GNU/Linux Rolling 2026.2

Kernel:
Linux kali 6.19.14+kali-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.19.14-1+kali1
(2026-05-05) x86_64 GNU/Linux

Also reproduced on:

   -

   Linux 6.18.12+kali-amd64

Firmware:
firmware-mediatek 20260309-1
Problem

Monitor mode and packet injection both work correctly.

However, when switching the interface from monitor mode back to managed
mode, the entire system freezes and requires a hard power-off.

The issue is reproducible using both airmon-ng and iw.
Steps to reproduce

   1.

   Enable monitor mode.
   2.

   Verify monitor mode works.
   3.

   Switch the interface back to managed mode.
   4.

   The system freezes.

Relevant kernel messages

The kernel reports:

   -

   WARNING at drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c:1612
   -

   Function: mt76_connac_mcu_uni_add_bss()
   -

   Call trace includes:
   -

      mt7615_remove_interface()
      -

      drv_remove_interface()
      -

      ieee80211_del_virtual_monitor()

Immediately afterwards, the kernel reports:

BUG: kernel NULL pointer dereference

The complete kernel log containing the full call trace is attached.

If additional logs or testing are needed, I would be happy to provide them.

Thank you.

[-- Attachment #1.2: Type: text/html, Size: 1761 bytes --]

[-- Attachment #2: kernel-crash.log --]
[-- Type: text/x-log, Size: 125897 bytes --]

Jun 29 17:05:00 kali kernel: Linux version 6.19.14+kali-amd64 (devel@kali.org) (x86_64-linux-gnu-gcc-15 (Debian 15.2.0-17) 15.2.0, GNU ld (GNU Binutils for Debian) 2.46) #1 SMP PREEMPT_DYNAMIC Kali 6.19.14-1+kali1 (2026-05-05)
Jun 29 17:05:00 kali kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-6.19.14+kali-amd64 root=UUID=0da80b3b-057b-400c-838f-e316ea4e7088 ro quiet splash
Jun 29 17:05:00 kali kernel: x86/split lock detection: #AC: crashing the kernel on kernel split_locks and warning on user-space split_locks
Jun 29 17:05:00 kali kernel: BIOS-provided physical RAM map:
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x000000000009f000-0x00000000000fffff] reserved
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x0000000000100000-0x000000003fd98fff] usable
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x000000003fd99000-0x0000000040698fff] reserved
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x0000000040699000-0x00000000424aefff] usable
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x00000000424af000-0x00000000442fefff] reserved
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x00000000442ff000-0x0000000044b2efff] ACPI NVS
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x0000000044b2f000-0x0000000044bfefff] ACPI data
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x0000000044bff000-0x0000000044bfffff] usable
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x0000000044c00000-0x0000000048ffffff] reserved
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x0000000049f00000-0x000000004f7fffff] reserved
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x00000000c0000000-0x00000000cfffffff] reserved
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x00000000fe010000-0x00000000fe010fff] reserved
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x00000000fed20000-0x00000000fed7ffff] reserved
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x00000000ff500000-0x00000000ffffffff] reserved
Jun 29 17:05:00 kali kernel: BIOS-e820: [mem 0x0000000100000000-0x00000002b07fffff] usable
Jun 29 17:05:00 kali kernel: NX (Execute Disable) protection: active
Jun 29 17:05:00 kali kernel: APIC: Static calls initialized
Jun 29 17:05:00 kali kernel: efi: EFI v2.7 by INSYDE Corp.
Jun 29 17:05:00 kali kernel: efi: ACPI=0x44bfe000 ACPI 2.0=0x44bfe014 TPMFinalLog=0x44ae5000 SMBIOS=0x429de000 SMBIOS 3.0=0x429dc000 MEMATTR=0x3bf62018 ESRT=0x3bf61a98 INITRD=0x3bee5718 RNG=0x44b77018 TPMEventLog=0x44b71018 
Jun 29 17:05:00 kali kernel: random: crng init done
Jun 29 17:05:00 kali kernel: efi: Remove mem75: MMIO range=[0xc0000000-0xcfffffff] (256MB) from e820 map
Jun 29 17:05:00 kali kernel: e820: remove [mem 0xc0000000-0xcfffffff] reserved
Jun 29 17:05:00 kali kernel: efi: Not removing mem76: MMIO range=[0xfe010000-0xfe010fff] (4KB) from e820 map
Jun 29 17:05:00 kali kernel: efi: Remove mem78: MMIO range=[0xff500000-0xffffffff] (11MB) from e820 map
Jun 29 17:05:00 kali kernel: e820: remove [mem 0xff500000-0xffffffff] reserved
Jun 29 17:05:00 kali kernel: secureboot: Secure boot disabled
Jun 29 17:05:00 kali kernel: SMBIOS 3.3.0 present.
Jun 29 17:05:00 kali kernel: DMI: Acer Aspire A315-58/Camellia_TL, BIOS V1.35 07/10/2023
Jun 29 17:05:00 kali kernel: DMI: Memory slots populated: 1/2
Jun 29 17:05:00 kali kernel: tsc: Detected 3000.000 MHz processor
Jun 29 17:05:00 kali kernel: tsc: Detected 2995.200 MHz TSC
Jun 29 17:05:00 kali kernel: e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
Jun 29 17:05:00 kali kernel: e820: remove [mem 0x000a0000-0x000fffff] usable
Jun 29 17:05:00 kali kernel: last_pfn = 0x2b0800 max_arch_pfn = 0x400000000
Jun 29 17:05:00 kali kernel: MTRR map: 5 entries (3 fixed + 2 variable; max 23), built from 10 variable MTRRs
Jun 29 17:05:00 kali kernel: x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
Jun 29 17:05:00 kali kernel: last_pfn = 0x44c00 max_arch_pfn = 0x400000000
Jun 29 17:05:00 kali kernel: esrt: Reserving ESRT space from 0x000000003bf61a98 to 0x000000003bf61ad0.
Jun 29 17:05:00 kali kernel: e820: update [mem 0x3bf61000-0x3bf61fff] usable ==> reserved
Jun 29 17:05:00 kali kernel: Using GB pages for direct mapping
Jun 29 17:05:00 kali kernel: RAMDISK: [mem 0x2d214000-0x39b21fff]
Jun 29 17:05:00 kali kernel: ACPI: Early table checksum verification disabled
Jun 29 17:05:00 kali kernel: ACPI: RSDP 0x0000000044BFE014 000024 (v02 ACRSYS)
Jun 29 17:05:00 kali kernel: ACPI: XSDT 0x0000000044BDB188 000124 (v01 ACRSYS ACRPRDCT 00000002      01000013)
Jun 29 17:05:00 kali kernel: ACPI: FACP 0x0000000044BDD000 000114 (v06 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: DSDT 0x0000000044B80000 059948 (v02 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: FACS 0x0000000044AC2000 000040
Jun 29 17:05:00 kali kernel: ACPI: UEFI 0x0000000044B2E000 000236 (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044BFA000 00255C (v02 ACRSYS ACRPRDCT 00003000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044BF9000 000105 (v02 ACRSYS ACRPRDCT 00003000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044BF6000 002137 (v02 ACRSYS ACRPRDCT 00003000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044BF2000 003300 (v02 ACRSYS ACRPRDCT 00003000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044BF1000 00077B (v02 ACRSYS ACRPRDCT 00001000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: TPM2 0x0000000044BF0000 00004C (v04 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: MSDM 0x0000000044BEF000 000055 (v03 ACRSYS ACRPRDCT 00000001 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044BEE000 000D02 (v02 ACRSYS ACRPRDCT 00000000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: NHLT 0x0000000044BEC000 001B54 (v00 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044BEB000 000065 (v01 ACRSYS ACRPRDCT 00001000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: LPIT 0x0000000044BEA000 0000CC (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: WSMT 0x0000000044BE9000 000028 (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044BE8000 000B70 (v02 ACRSYS ACRPRDCT 00001000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044BE7000 00012A (v02 ACRSYS ACRPRDCT 00000000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: DBGP 0x0000000044BE6000 000034 (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: DBG2 0x0000000044BE5000 000054 (v00 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044BDE000 006C9D (v01 ACRSYS ACRPRDCT 00001000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: HPET 0x0000000044BDC000 000038 (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: APIC 0x0000000044BFD000 00012C (v04 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: MCFG 0x0000000044BDA000 00003C (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044B7F000 000C78 (v02 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: DMAR 0x0000000044B7E000 000088 (v02 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: UEFI 0x0000000044ABF000 00063A (v01 ACRSYS ACRPRDCT 00000000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: UEFI 0x0000000044ABE000 00005C (v01 ACRSYS ACRPRDCT 00000000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044B7D000 000985 (v02 ACRSYS ACRPRDCT 00001000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044B7C000 0000F8 (v01 ACRSYS ACRPRDCT 00001000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0x0000000044B7B000 000835 (v02 ACRSYS ACRPRDCT 00003000 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: FPDT 0x0000000044B7A000 000044 (v01 ACRSYS ACRPRDCT 00000002 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: PTDT 0x0000000044B78000 000CFE (v00 ACRSYS ACRPRDCT 00000005 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: BGRT 0x0000000044B79000 000038 (v01 ACRSYS ACRPRDCT 00000001 1025 00040000)
Jun 29 17:05:00 kali kernel: ACPI: Reserving FACP table memory at [mem 0x44bdd000-0x44bdd113]
Jun 29 17:05:00 kali kernel: ACPI: Reserving DSDT table memory at [mem 0x44b80000-0x44bd9947]
Jun 29 17:05:00 kali kernel: ACPI: Reserving FACS table memory at [mem 0x44ac2000-0x44ac203f]
Jun 29 17:05:00 kali kernel: ACPI: Reserving UEFI table memory at [mem 0x44b2e000-0x44b2e235]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44bfa000-0x44bfc55b]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44bf9000-0x44bf9104]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44bf6000-0x44bf8136]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44bf2000-0x44bf52ff]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44bf1000-0x44bf177a]
Jun 29 17:05:00 kali kernel: ACPI: Reserving TPM2 table memory at [mem 0x44bf0000-0x44bf004b]
Jun 29 17:05:00 kali kernel: ACPI: Reserving MSDM table memory at [mem 0x44bef000-0x44bef054]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44bee000-0x44beed01]
Jun 29 17:05:00 kali kernel: ACPI: Reserving NHLT table memory at [mem 0x44bec000-0x44bedb53]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44beb000-0x44beb064]
Jun 29 17:05:00 kali kernel: ACPI: Reserving LPIT table memory at [mem 0x44bea000-0x44bea0cb]
Jun 29 17:05:00 kali kernel: ACPI: Reserving WSMT table memory at [mem 0x44be9000-0x44be9027]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44be8000-0x44be8b6f]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44be7000-0x44be7129]
Jun 29 17:05:00 kali kernel: ACPI: Reserving DBGP table memory at [mem 0x44be6000-0x44be6033]
Jun 29 17:05:00 kali kernel: ACPI: Reserving DBG2 table memory at [mem 0x44be5000-0x44be5053]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44bde000-0x44be4c9c]
Jun 29 17:05:00 kali kernel: ACPI: Reserving HPET table memory at [mem 0x44bdc000-0x44bdc037]
Jun 29 17:05:00 kali kernel: ACPI: Reserving APIC table memory at [mem 0x44bfd000-0x44bfd12b]
Jun 29 17:05:00 kali kernel: ACPI: Reserving MCFG table memory at [mem 0x44bda000-0x44bda03b]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44b7f000-0x44b7fc77]
Jun 29 17:05:00 kali kernel: ACPI: Reserving DMAR table memory at [mem 0x44b7e000-0x44b7e087]
Jun 29 17:05:00 kali kernel: ACPI: Reserving UEFI table memory at [mem 0x44abf000-0x44abf639]
Jun 29 17:05:00 kali kernel: ACPI: Reserving UEFI table memory at [mem 0x44abe000-0x44abe05b]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44b7d000-0x44b7d984]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44b7c000-0x44b7c0f7]
Jun 29 17:05:00 kali kernel: ACPI: Reserving SSDT table memory at [mem 0x44b7b000-0x44b7b834]
Jun 29 17:05:00 kali kernel: ACPI: Reserving FPDT table memory at [mem 0x44b7a000-0x44b7a043]
Jun 29 17:05:00 kali kernel: ACPI: Reserving PTDT table memory at [mem 0x44b78000-0x44b78cfd]
Jun 29 17:05:00 kali kernel: ACPI: Reserving BGRT table memory at [mem 0x44b79000-0x44b79037]
Jun 29 17:05:00 kali kernel: No NUMA configuration found
Jun 29 17:05:00 kali kernel: Faking a node at [mem 0x0000000000000000-0x00000002b07fffff]
Jun 29 17:05:00 kali kernel: NODE_DATA(0) allocated [mem 0x2b07d5500-0x2b07fffff]
Jun 29 17:05:00 kali kernel: Zone ranges:
Jun 29 17:05:00 kali kernel:   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
Jun 29 17:05:00 kali kernel:   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
Jun 29 17:05:00 kali kernel:   Normal   [mem 0x0000000100000000-0x00000002b07fffff]
Jun 29 17:05:00 kali kernel:   Device   empty
Jun 29 17:05:00 kali kernel: Movable zone start for each node
Jun 29 17:05:00 kali kernel: Early memory node ranges
Jun 29 17:05:00 kali kernel:   node   0: [mem 0x0000000000001000-0x000000000009efff]
Jun 29 17:05:00 kali kernel:   node   0: [mem 0x0000000000100000-0x000000003fd98fff]
Jun 29 17:05:00 kali kernel:   node   0: [mem 0x0000000040699000-0x00000000424aefff]
Jun 29 17:05:00 kali kernel:   node   0: [mem 0x0000000044bff000-0x0000000044bfffff]
Jun 29 17:05:00 kali kernel:   node   0: [mem 0x0000000100000000-0x00000002b07fffff]
Jun 29 17:05:00 kali kernel: Initmem setup node 0 [mem 0x0000000000001000-0x00000002b07fffff]
Jun 29 17:05:00 kali kernel: On node 0, zone DMA: 1 pages in unavailable ranges
Jun 29 17:05:00 kali kernel: On node 0, zone DMA: 97 pages in unavailable ranges
Jun 29 17:05:00 kali kernel: On node 0, zone DMA32: 2304 pages in unavailable ranges
Jun 29 17:05:00 kali kernel: On node 0, zone DMA32: 10064 pages in unavailable ranges
Jun 29 17:05:00 kali kernel: On node 0, zone Normal: 13312 pages in unavailable ranges
Jun 29 17:05:00 kali kernel: On node 0, zone Normal: 30720 pages in unavailable ranges
Jun 29 17:05:00 kali kernel: Reserving Intel graphics memory at [mem 0x4b800000-0x4f7fffff]
Jun 29 17:05:00 kali kernel: ACPI: PM-Timer IO Port: 0x1808
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x05] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x06] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x07] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x08] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x09] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x0a] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x0b] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x0c] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x0d] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x0e] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x0f] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: ACPI: LAPIC_NMI (acpi_id[0x10] high edge lint[0x1])
Jun 29 17:05:00 kali kernel: IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-119
Jun 29 17:05:00 kali kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
Jun 29 17:05:00 kali kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
Jun 29 17:05:00 kali kernel: ACPI: Using ACPI (MADT) for SMP configuration information
Jun 29 17:05:00 kali kernel: ACPI: HPET id: 0x8086a201 base: 0xfed00000
Jun 29 17:05:00 kali kernel: e820: update [mem 0x3bf65000-0x3c058fff] usable ==> reserved
Jun 29 17:05:00 kali kernel: TSC deadline timer available
Jun 29 17:05:00 kali kernel: CPU topo: Max. logical packages:   1
Jun 29 17:05:00 kali kernel: CPU topo: Max. logical nodes:      1
Jun 29 17:05:00 kali kernel: CPU topo: Num. nodes per package:  1
Jun 29 17:05:00 kali kernel: CPU topo: Max. logical dies:       1
Jun 29 17:05:00 kali kernel: CPU topo: Max. dies per package:   1
Jun 29 17:05:00 kali kernel: CPU topo: Max. threads per core:   2
Jun 29 17:05:00 kali kernel: CPU topo: Num. cores per package:     2
Jun 29 17:05:00 kali kernel: CPU topo: Num. threads per package:   4
Jun 29 17:05:00 kali kernel: CPU topo: Allowing 4 present CPUs plus 0 hotplug CPUs
Jun 29 17:05:00 kali kernel: PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]
Jun 29 17:05:00 kali kernel: PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x000fffff]
Jun 29 17:05:00 kali kernel: PM: hibernation: Registered nosave memory: [mem 0x3bf61000-0x3bf61fff]
Jun 29 17:05:00 kali kernel: PM: hibernation: Registered nosave memory: [mem 0x3bf65000-0x3c058fff]
Jun 29 17:05:00 kali kernel: PM: hibernation: Registered nosave memory: [mem 0x3fd99000-0x40698fff]
Jun 29 17:05:00 kali kernel: PM: hibernation: Registered nosave memory: [mem 0x424af000-0x44bfefff]
Jun 29 17:05:00 kali kernel: PM: hibernation: Registered nosave memory: [mem 0x44c00000-0xffffffff]
Jun 29 17:05:00 kali kernel: [mem 0x4f800000-0xfe00ffff] available for PCI devices
Jun 29 17:05:00 kali kernel: Booting paravirtualized kernel on bare hardware
Jun 29 17:05:00 kali kernel: clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
Jun 29 17:05:00 kali kernel: setup_percpu: NR_CPUS:8192 nr_cpumask_bits:4 nr_cpu_ids:4 nr_node_ids:1
Jun 29 17:05:00 kali kernel: percpu: Embedded 62 pages/cpu s217088 r8192 d28672 u524288
Jun 29 17:05:00 kali kernel: pcpu-alloc: s217088 r8192 d28672 u524288 alloc=1*2097152
Jun 29 17:05:00 kali kernel: pcpu-alloc: [0] 0 1 2 3 
Jun 29 17:05:00 kali kernel: Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.19.14+kali-amd64 root=UUID=0da80b3b-057b-400c-838f-e316ea4e7088 ro quiet splash
Jun 29 17:05:00 kali kernel: Unknown kernel command line parameters "splash", will be passed to user space.
Jun 29 17:05:00 kali kernel: printk: log buffer data + meta data: 131072 + 458752 = 589824 bytes
Jun 29 17:05:00 kali kernel: Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
Jun 29 17:05:00 kali kernel: Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
Jun 29 17:05:00 kali kernel: software IO TLB: area num 4.
Jun 29 17:05:00 kali kernel: Fallback order for Node 0: 0 
Jun 29 17:05:00 kali kernel: Built 1 zonelists, mobility grouping on.  Total pages: 2040654
Jun 29 17:05:00 kali kernel: Policy zone: Normal
Jun 29 17:05:00 kali kernel: mem auto-init: stack:all(zero), heap alloc:on, heap free:off
Jun 29 17:05:00 kali kernel: SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Jun 29 17:05:00 kali kernel: ftrace: allocating 48564 entries in 192 pages
Jun 29 17:05:00 kali kernel: ftrace: allocated 192 pages with 2 groups
Jun 29 17:05:00 kali kernel: Dynamic Preempt: lazy
Jun 29 17:05:00 kali kernel: rcu: Preemptible hierarchical RCU implementation.
Jun 29 17:05:00 kali kernel: rcu:         RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=4.
Jun 29 17:05:00 kali kernel:         Trampoline variant of Tasks RCU enabled.
Jun 29 17:05:00 kali kernel:         Rude variant of Tasks RCU enabled.
Jun 29 17:05:00 kali kernel:         Tracing variant of Tasks RCU enabled.
Jun 29 17:05:00 kali kernel: rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
Jun 29 17:05:00 kali kernel: rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
Jun 29 17:05:00 kali kernel: RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
Jun 29 17:05:00 kali kernel: RCU Tasks Rude: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
Jun 29 17:05:00 kali kernel: RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=4.
Jun 29 17:05:00 kali kernel: NR_IRQS: 524544, nr_irqs: 1024, preallocated irqs: 16
Jun 29 17:05:00 kali kernel: rcu: srcu_init: Setting srcu_struct sizes based on contention.
Jun 29 17:05:00 kali kernel: Console: colour dummy device 80x25
Jun 29 17:05:00 kali kernel: printk: legacy console [tty0] enabled
Jun 29 17:05:00 kali kernel: ACPI: Core revision 20250807
Jun 29 17:05:00 kali kernel: hpet: HPET dysfunctional in PC10. Force disabled.
Jun 29 17:05:00 kali kernel: APIC: Switch to symmetric I/O mode setup
Jun 29 17:05:00 kali kernel: DMAR: Host address width 39
Jun 29 17:05:00 kali kernel: DMAR: DRHD base: 0x000000fed90000 flags: 0x0
Jun 29 17:05:00 kali kernel: DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e
Jun 29 17:05:00 kali kernel: DMAR: DRHD base: 0x000000fed91000 flags: 0x1
Jun 29 17:05:00 kali kernel: DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
Jun 29 17:05:00 kali kernel: DMAR: RMRR base: 0x0000004b000000 end: 0x0000004f7fffff
Jun 29 17:05:00 kali kernel: DMAR-IR: IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 1
Jun 29 17:05:00 kali kernel: DMAR-IR: HPET id 0 under DRHD base 0xfed91000
Jun 29 17:05:00 kali kernel: DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
Jun 29 17:05:00 kali kernel: DMAR-IR: Enabled IRQ remapping in x2apic mode
Jun 29 17:05:00 kali kernel: x2apic enabled
Jun 29 17:05:00 kali kernel: APIC: Switched APIC routing to: cluster x2apic
Jun 29 17:05:00 kali kernel: clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x2b2c8ec87c7, max_idle_ns: 440795278598 ns
Jun 29 17:05:00 kali kernel: Calibrating delay loop (skipped), value calculated using timer frequency.. 5990.40 BogoMIPS (lpj=11980800)
Jun 29 17:05:00 kali kernel: CPU0: Thermal monitoring enabled (TM1)
Jun 29 17:05:00 kali kernel: x86/cpu: User Mode Instruction Prevention (UMIP) activated
Jun 29 17:05:00 kali kernel: CET detected: Indirect Branch Tracking enabled
Jun 29 17:05:00 kali kernel: Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
Jun 29 17:05:00 kali kernel: Last level dTLB entries: 4KB 0, 2MB 0, 4MB 0, 1GB 0
Jun 29 17:05:00 kali kernel: process: using mwait in idle threads
Jun 29 17:05:00 kali kernel: mitigations: Enabled attack vectors: user_kernel, user_user, guest_host, guest_guest, SMT mitigations: auto
Jun 29 17:05:00 kali kernel: Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl
Jun 29 17:05:00 kali kernel: Spectre V2 : Mitigation: Enhanced / Automatic IBRS
Jun 29 17:05:00 kali kernel: ITS: Mitigation: Aligned branch/return thunks
Jun 29 17:05:00 kali kernel: Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
Jun 29 17:05:00 kali kernel: Spectre V2 : Spectre v2 / PBRSB-eIBRS: Retire a single CALL on VMEXIT
Jun 29 17:05:00 kali kernel: Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier
Jun 29 17:05:00 kali kernel: GDS: Mitigation: Microcode
Jun 29 17:05:00 kali kernel: active return thunk: its_return_thunk
Jun 29 17:05:00 kali kernel: Spectre V2 : Spectre BHI mitigation: SW BHB clearing on syscall and VM exit
Jun 29 17:05:00 kali kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
Jun 29 17:05:00 kali kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Jun 29 17:05:00 kali kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Jun 29 17:05:00 kali kernel: x86/fpu: Supporting XSAVE feature 0x020: 'AVX-512 opmask'
Jun 29 17:05:00 kali kernel: x86/fpu: Supporting XSAVE feature 0x040: 'AVX-512 Hi256'
Jun 29 17:05:00 kali kernel: x86/fpu: Supporting XSAVE feature 0x080: 'AVX-512 ZMM_Hi256'
Jun 29 17:05:00 kali kernel: x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers'
Jun 29 17:05:00 kali kernel: x86/fpu: Supporting XSAVE feature 0x800: 'Control-flow User registers'
Jun 29 17:05:00 kali kernel: x86/fpu: Supporting XSAVE feature 0x1000: 'Control-flow Kernel registers (KVM only)'
Jun 29 17:05:00 kali kernel: x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
Jun 29 17:05:00 kali kernel: x86/fpu: xstate_offset[5]:  832, xstate_sizes[5]:   64
Jun 29 17:05:00 kali kernel: x86/fpu: xstate_offset[6]:  896, xstate_sizes[6]:  512
Jun 29 17:05:00 kali kernel: x86/fpu: xstate_offset[7]: 1408, xstate_sizes[7]: 1024
Jun 29 17:05:00 kali kernel: x86/fpu: xstate_offset[9]: 2432, xstate_sizes[9]:    8
Jun 29 17:05:00 kali kernel: x86/fpu: xstate_offset[11]: 2440, xstate_sizes[11]:   16
Jun 29 17:05:00 kali kernel: x86/fpu: xstate_offset[12]: 2456, xstate_sizes[12]:   24
Jun 29 17:05:00 kali kernel: x86/fpu: Enabled xstate features 0x1ae7, context size is 2480 bytes, using 'compacted' format.
Jun 29 17:05:00 kali kernel: Freeing SMP alternatives memory: 44K
Jun 29 17:05:00 kali kernel: pid_max: default: 32768 minimum: 301
Jun 29 17:05:00 kali kernel: landlock: Up and running.
Jun 29 17:05:00 kali kernel: Yama: disabled by default; enable with sysctl kernel.yama.*
Jun 29 17:05:00 kali kernel: AppArmor: AppArmor initialized
Jun 29 17:05:00 kali kernel: TOMOYO Linux initialized
Jun 29 17:05:00 kali kernel: LSM support for eBPF active
Jun 29 17:05:00 kali kernel: Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
Jun 29 17:05:00 kali kernel: Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
Jun 29 17:05:00 kali kernel: smpboot: CPU0: 11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz (family: 0x6, model: 0x8c, stepping: 0x1)
Jun 29 17:05:00 kali kernel: Performance Events: PEBS fmt4+-baseline,  AnyThread deprecated, Icelake events, 32-deep LBR, full-width counters, Intel PMU driver.
Jun 29 17:05:00 kali kernel: ... version:                   5
Jun 29 17:05:00 kali kernel: ... bit width:                 48
Jun 29 17:05:00 kali kernel: ... generic counters:          8
Jun 29 17:05:00 kali kernel: ... generic bitmap:            00000000000000ff
Jun 29 17:05:00 kali kernel: ... fixed-purpose counters:    4
Jun 29 17:05:00 kali kernel: ... fixed-purpose bitmap:      000000000000000f
Jun 29 17:05:00 kali kernel: ... value mask:                0000ffffffffffff
Jun 29 17:05:00 kali kernel: ... max period:                00007fffffffffff
Jun 29 17:05:00 kali kernel: ... global_ctrl mask:          0001000f000000ff
Jun 29 17:05:00 kali kernel: signal: max sigframe size: 3632
Jun 29 17:05:00 kali kernel: Estimated ratio of average max frequency by base frequency (times 1024): 1399
Jun 29 17:05:00 kali kernel: rcu: Hierarchical SRCU implementation.
Jun 29 17:05:00 kali kernel: rcu:         Max phase no-delay instances is 1000.
Jun 29 17:05:00 kali kernel: Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
Jun 29 17:05:00 kali kernel: NMI watchdog: Enabled. Permanently consumes one hw-PMU counter.
Jun 29 17:05:00 kali kernel: smp: Bringing up secondary CPUs ...
Jun 29 17:05:00 kali kernel: smpboot: x86: Booting SMP configuration:
Jun 29 17:05:00 kali kernel: .... node  #0, CPUs:      #1 #2 #3
Jun 29 17:05:00 kali kernel: smp: Brought up 1 node, 4 CPUs
Jun 29 17:05:00 kali kernel: smpboot: Total of 4 processors activated (23961.60 BogoMIPS)
Jun 29 17:05:00 kali kernel: node 0 deferred pages initialised in 20ms
Jun 29 17:05:00 kali kernel: Memory: 7636764K/8162616K available (17882K kernel code, 3350K rwdata, 13036K rodata, 4476K init, 5520K bss, 513444K reserved, 0K cma-reserved)
Jun 29 17:05:00 kali kernel: devtmpfs: initialized
Jun 29 17:05:00 kali kernel: x86/mm: Memory block size: 128MB
Jun 29 17:05:00 kali kernel: ACPI: PM: Registering ACPI NVS region [mem 0x442ff000-0x44b2efff] (8585216 bytes)
Jun 29 17:05:00 kali kernel: clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
Jun 29 17:05:00 kali kernel: posixtimers hash table entries: 2048 (order: 3, 32768 bytes, linear)
Jun 29 17:05:00 kali kernel: futex hash table entries: 1024 (65536 bytes on 1 NUMA nodes, total 64 KiB, linear).
Jun 29 17:05:00 kali kernel: NET: Registered PF_NETLINK/PF_ROUTE protocol family
Jun 29 17:05:00 kali kernel: DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
Jun 29 17:05:00 kali kernel: DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
Jun 29 17:05:00 kali kernel: DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
Jun 29 17:05:00 kali kernel: audit: initializing netlink subsys (disabled)
Jun 29 17:05:00 kali kernel: audit: type=2000 audit(1782723897.000:1): state=initialized audit_enabled=0 res=1
Jun 29 17:05:00 kali kernel: thermal_sys: Registered thermal governor 'fair_share'
Jun 29 17:05:00 kali kernel: thermal_sys: Registered thermal governor 'bang_bang'
Jun 29 17:05:00 kali kernel: thermal_sys: Registered thermal governor 'step_wise'
Jun 29 17:05:00 kali kernel: thermal_sys: Registered thermal governor 'user_space'
Jun 29 17:05:00 kali kernel: thermal_sys: Registered thermal governor 'power_allocator'
Jun 29 17:05:00 kali kernel: cpuidle: using governor ladder
Jun 29 17:05:00 kali kernel: cpuidle: using governor menu
Jun 29 17:05:00 kali kernel: efi: Freeing EFI boot services memory: 43796K
Jun 29 17:05:00 kali kernel: acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
Jun 29 17:05:00 kali kernel: PCI: ECAM [mem 0xc0000000-0xcfffffff] (base 0xc0000000) for domain 0000 [bus 00-ff]
Jun 29 17:05:00 kali kernel: PCI: Using configuration type 1 for base access
Jun 29 17:05:00 kali kernel: kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
Jun 29 17:05:00 kali kernel: HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
Jun 29 17:05:00 kali kernel: HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page
Jun 29 17:05:00 kali kernel: HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
Jun 29 17:05:00 kali kernel: HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page
Jun 29 17:05:00 kali kernel: ACPI: Added _OSI(Module Device)
Jun 29 17:05:00 kali kernel: ACPI: Added _OSI(Processor Device)
Jun 29 17:05:00 kali kernel: ACPI: Added _OSI(Processor Aggregator Device)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS01._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS01._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS02._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS02._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS03._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS03._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS04._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS04._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS05._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS05._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS06._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS06._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS07._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS07._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS08._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS08._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS09._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS09._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS10._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.HS10._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS01._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS01._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS02._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS02._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS03._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS03._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS04._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS04._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS05._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS05._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS06._UPC], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.XHCI.RHUB.SS06._PLD], AE_ALREADY_EXISTS (20250807/dswload2-326)
Jun 29 17:05:00 kali kernel: ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20250807/psobject-220)
Jun 29 17:05:00 kali kernel: ACPI: Skipping parse of AML opcode: OpcodeName unavailable (0x0014)
Jun 29 17:05:00 kali kernel: ACPI: 15 ACPI AML tables successfully acquired and loaded
Jun 29 17:05:00 kali kernel: ACPI: Dynamic OEM Table Load:
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0xFFFF89BB4028C400 000386 (v02 PmRef  Cpu0Cst  00003001 INTL 20160422)
Jun 29 17:05:00 kali kernel: ACPI: Dynamic OEM Table Load:
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0xFFFF89BB40B0A800 000689 (v02 PmRef  Cpu0Ist  00003000 INTL 20160422)
Jun 29 17:05:00 kali kernel: ACPI: Dynamic OEM Table Load:
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0xFFFF89BB402A8800 0001C6 (v02 PmRef  Cpu0Psd  00003000 INTL 20160422)
Jun 29 17:05:00 kali kernel: ACPI: Dynamic OEM Table Load:
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0xFFFF89BB4028E800 00028B (v02 PmRef  Cpu0Hwp  00003000 INTL 20160422)
Jun 29 17:05:00 kali kernel: ACPI: Dynamic OEM Table Load:
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0xFFFF89BB40197000 0008E7 (v02 PmRef  ApIst    00003000 INTL 20160422)
Jun 29 17:05:00 kali kernel: ACPI: Dynamic OEM Table Load:
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0xFFFF89BB40B0D000 00048A (v02 PmRef  ApHwp    00003000 INTL 20160422)
Jun 29 17:05:00 kali kernel: ACPI: Dynamic OEM Table Load:
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0xFFFF89BB40B0E000 0004D4 (v02 PmRef  ApPsd    00003000 INTL 20160422)
Jun 29 17:05:00 kali kernel: ACPI: Dynamic OEM Table Load:
Jun 29 17:05:00 kali kernel: ACPI: SSDT 0xFFFF89BB40B0C000 00048A (v02 PmRef  ApCst    00003000 INTL 20160422)
Jun 29 17:05:00 kali kernel: ACPI: EC: EC started
Jun 29 17:05:00 kali kernel: ACPI: EC: interrupt blocked
Jun 29 17:05:00 kali kernel: ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.LPCB.EC0_: Boot DSDT EC used to handle transactions
Jun 29 17:05:00 kali kernel: ACPI: Interpreter enabled
Jun 29 17:05:00 kali kernel: ACPI: PM: (supports S0 S3 S4 S5)
Jun 29 17:05:00 kali kernel: ACPI: Using IOAPIC for interrupt routing
Jun 29 17:05:00 kali kernel: PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
Jun 29 17:05:00 kali kernel: PCI: Ignoring E820 reservations for host bridge windows
Jun 29 17:05:00 kali kernel: ACPI: Enabled 7 GPEs in block 00 to 7F
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.PEG0.PCRP: New power resource
Jun 29 17:05:00 kali kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PC00.DGPV], AE_NOT_FOUND (20250807/psargs-332)
Jun 29 17:05:00 kali kernel: ACPI Error: Aborting method \_SB.PC00.PEG0.PCRP._ON due to previous error (AE_NOT_FOUND) (20250807/psparse-529)
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.SAT0.VOL0.V0PR: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.SAT0.VOL1.V1PR: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.SAT0.VOL2.V2PR: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.CNVW.WRST: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.VMD0.VOL0.V0PR: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.VMD0.VOL1.V1PR: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.VMD0.VOL2.V2PR: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.VMD0.VOL3.V3PR: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_TZ_.FN00: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_TZ_.FN01: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_TZ_.FN02: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_TZ_.FN03: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \_TZ_.FN04: New power resource
Jun 29 17:05:00 kali kernel: ACPI: \PIN_: New power resource
Jun 29 17:05:00 kali kernel: ACPI: PCI Root Bridge [PC00] (domain 0000 [bus 00-e0])
Jun 29 17:05:00 kali kernel: acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
Jun 29 17:05:00 kali kernel: acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug SHPCHotplug PME AER PCIeCapability LTR]
Jun 29 17:05:00 kali kernel: PCI host bridge to bus 0000:00
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: root bus resource [mem 0x4f800000-0xbfffffff window]
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: root bus resource [mem 0x4000000000-0x7fffffffff window]
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: root bus resource [bus 00-e0]
Jun 29 17:05:00 kali kernel: pci 0000:00:00.0: [8086:9a04] type 00 class 0x060000 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: [8086:9a78] type 00 class 0x030000 PCIe Root Complex Integrated Endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: BAR 0 [mem 0x6002000000-0x6002ffffff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: BAR 2 [mem 0x4000000000-0x400fffffff 64bit pref]
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: BAR 4 [io  0x4000-0x403f]
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: VF BAR 0 [mem 0x00000000-0x00ffffff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: VF BAR 0 [mem 0x00000000-0x06ffffff 64bit]: contains BAR 0 for 7 VFs
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: VF BAR 2 [mem 0x00000000-0x1fffffff 64bit pref]
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: VF BAR 2 [mem 0x00000000-0xdfffffff 64bit pref]: contains BAR 2 for 7 VFs
Jun 29 17:05:00 kali kernel: pci 0000:00:08.0: [8086:9a11] type 00 class 0x088000 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:08.0: BAR 0 [mem 0x600340f000-0x600340ffff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:0e.0: [8086:9a0b] type 00 class 0x010400 PCIe Root Complex Integrated Endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:0e.0: BAR 0 [mem 0x6000000000-0x6001ffffff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:0e.0: BAR 2 [mem 0x50000000-0x51ffffff]
Jun 29 17:05:00 kali kernel: pci 0000:00:0e.0: BAR 4 [mem 0x6003300000-0x60033fffff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:14.0: [8086:a0ed] type 00 class 0x0c0330 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:14.0: BAR 0 [mem 0x52100000-0x5210ffff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:14.0: PME# supported from D3hot D3cold
Jun 29 17:05:00 kali kernel: pci 0000:00:14.2: [8086:a0ef] type 00 class 0x050000 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:14.2: BAR 0 [mem 0x6003404000-0x6003407fff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:14.2: BAR 2 [mem 0x600340e000-0x600340efff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:15.0: [8086:a0e8] type 00 class 0x0c8000 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:15.0: BAR 0 [mem 0x00000000-0x00000fff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:15.3: [8086:a0eb] type 00 class 0x0c8000 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:15.3: BAR 0 [mem 0x00000000-0x00000fff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:16.0: [8086:a0e0] type 00 class 0x078000 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:16.0: BAR 0 [mem 0x600340b000-0x600340bfff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:16.0: PME# supported from D3hot
Jun 29 17:05:00 kali kernel: pci 0000:00:17.0: [8086:09ab] type 00 class 0x088000 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:19.0: [8086:a0c5] type 00 class 0x0c8000 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:19.0: BAR 0 [mem 0x00000000-0x00000fff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:19.1: [8086:a0c6] type 00 class 0x0c8000 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:19.1: BAR 0 [mem 0x00000000-0x00000fff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.0: [8086:a0b0] type 01 class 0x060400 PCIe Root Port
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.0: PCI bridge to [bus 01]
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.0:   bridge window [io  0x3000-0x3fff]
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.0:   bridge window [mem 0x52000000-0x520fffff]
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.0: PTM enabled (root), 4ns granularity
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.1: [8086:a0b1] type 01 class 0x060400 PCIe Root Port
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.1: PCI bridge to [bus 02]
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.1:   bridge window [mem 0x6003000000-0x60031fffff 64bit pref]
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.1: PME# supported from D0 D3hot D3cold
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.1: PTM enabled (root), 4ns granularity
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.0: [8086:a082] type 00 class 0x060100 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.3: [8086:a0c8] type 00 class 0x040100 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.3: BAR 0 [mem 0x6003400000-0x6003403fff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.3: BAR 4 [mem 0x6003200000-0x60032fffff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.3: PME# supported from D3hot D3cold
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.4: [8086:a0a3] type 00 class 0x0c0500 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.4: BAR 0 [mem 0x6003408000-0x60034080ff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.4: BAR 4 [io  0xefa0-0xefbf]
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.5: [8086:a0a4] type 00 class 0x0c8000 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.5: BAR 0 [mem 0xfe010000-0xfe010fff]
Jun 29 17:05:00 kali kernel: pci 0000:01:00.0: [10ec:8168] type 00 class 0x020000 PCIe Endpoint
Jun 29 17:05:00 kali kernel: pci 0000:01:00.0: BAR 0 [io  0x3000-0x30ff]
Jun 29 17:05:00 kali kernel: pci 0000:01:00.0: BAR 2 [mem 0x52004000-0x52004fff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:01:00.0: BAR 4 [mem 0x52000000-0x52003fff 64bit]
Jun 29 17:05:00 kali kernel: pci 0000:01:00.0: supports D1 D2
Jun 29 17:05:00 kali kernel: pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.0: PCI bridge to [bus 01]
Jun 29 17:05:00 kali kernel: pci 0000:02:00.0: [14c3:7663] type 00 class 0x028000 PCIe Endpoint
Jun 29 17:05:00 kali kernel: pci 0000:02:00.0: BAR 0 [mem 0x6003000000-0x60030fffff 64bit pref]
Jun 29 17:05:00 kali kernel: pci 0000:02:00.0: BAR 2 [mem 0x6003100000-0x6003103fff 64bit pref]
Jun 29 17:05:00 kali kernel: pci 0000:02:00.0: BAR 4 [mem 0x6003104000-0x6003104fff 64bit pref]
Jun 29 17:05:00 kali kernel: pci 0000:02:00.0: supports D1 D2
Jun 29 17:05:00 kali kernel: pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.1: PCI bridge to [bus 02]
Jun 29 17:05:00 kali kernel: Low-power S0 idle used by default for system suspend
Jun 29 17:05:00 kali kernel: ACPI: EC: interrupt unblocked
Jun 29 17:05:00 kali kernel: ACPI: EC: event unblocked
Jun 29 17:05:00 kali kernel: ACPI: EC: EC_CMD/EC_SC=0x66, EC_DATA=0x62
Jun 29 17:05:00 kali kernel: ACPI: EC: GPE=0x6e
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.LPCB.EC0_: Boot DSDT EC initialization complete
Jun 29 17:05:00 kali kernel: ACPI: \_SB_.PC00.LPCB.EC0_: EC: Used to handle transactions and events
Jun 29 17:05:00 kali kernel: iommu: Default domain type: Translated
Jun 29 17:05:00 kali kernel: iommu: DMA domain TLB invalidation policy: lazy mode
Jun 29 17:05:00 kali kernel: pps_core: LinuxPPS API ver. 1 registered
Jun 29 17:05:00 kali kernel: pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
Jun 29 17:05:00 kali kernel: PTP clock support registered
Jun 29 17:05:00 kali kernel: EDAC MC: Ver: 3.0.0
Jun 29 17:05:00 kali kernel: efivars: Registered efivars operations
Jun 29 17:05:00 kali kernel: NetLabel: Initializing
Jun 29 17:05:00 kali kernel: NetLabel:  domain hash size = 128
Jun 29 17:05:00 kali kernel: NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
Jun 29 17:05:00 kali kernel: NetLabel:  unlabeled traffic allowed by default
Jun 29 17:05:00 kali kernel: PCI: Using ACPI for IRQ routing
Jun 29 17:05:00 kali kernel: PCI: pci_cache_line_size set to 64 bytes
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.5: BAR 0 [mem 0xfe010000-0xfe010fff]: can't claim; no compatible bridge window
Jun 29 17:05:00 kali kernel: e820: reserve RAM buffer [mem 0x0009f000-0x0009ffff]
Jun 29 17:05:00 kali kernel: e820: reserve RAM buffer [mem 0x3bf61000-0x3bffffff]
Jun 29 17:05:00 kali kernel: e820: reserve RAM buffer [mem 0x3bf65000-0x3bffffff]
Jun 29 17:05:00 kali kernel: e820: reserve RAM buffer [mem 0x3fd99000-0x3fffffff]
Jun 29 17:05:00 kali kernel: e820: reserve RAM buffer [mem 0x424af000-0x43ffffff]
Jun 29 17:05:00 kali kernel: e820: reserve RAM buffer [mem 0x44c00000-0x47ffffff]
Jun 29 17:05:00 kali kernel: e820: reserve RAM buffer [mem 0x2b0800000-0x2b3ffffff]
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: vgaarb: setting as boot VGA device
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: vgaarb: bridge control possible
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
Jun 29 17:05:00 kali kernel: vgaarb: loaded
Jun 29 17:05:00 kali kernel: Monitor-Mwait will be used to enter C-1 state
Jun 29 17:05:00 kali kernel: Monitor-Mwait will be used to enter C-2 state
Jun 29 17:05:00 kali kernel: Monitor-Mwait will be used to enter C-3 state
Jun 29 17:05:00 kali kernel: clocksource: Switched to clocksource tsc-early
Jun 29 17:05:00 kali kernel: VFS: Disk quotas dquot_6.6.0
Jun 29 17:05:00 kali kernel: VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
Jun 29 17:05:00 kali kernel: AppArmor: AppArmor Filesystem Enabled
Jun 29 17:05:00 kali kernel: pnp: PnP ACPI init
Jun 29 17:05:00 kali kernel: system 00:00: [io  0x0680-0x069f] has been reserved
Jun 29 17:05:00 kali kernel: system 00:00: [io  0x164e-0x164f] has been reserved
Jun 29 17:05:00 kali kernel: system 00:00: [io  0xfd60-0xfd63] has been reserved
Jun 29 17:05:00 kali kernel: pnp 00:03: disabling [mem 0xc0000000-0xcfffffff] because it overlaps 0000:00:02.0 BAR 9 [mem 0x00000000-0xdfffffff 64bit pref]
Jun 29 17:05:00 kali kernel: system 00:03: [mem 0xfedc0000-0xfedc7fff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:03: [mem 0xfeda0000-0xfeda0fff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:03: [mem 0xfeda1000-0xfeda1fff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:03: [mem 0xfed20000-0xfed7ffff] could not be reserved
Jun 29 17:05:00 kali kernel: system 00:03: [mem 0xfed90000-0xfed93fff] could not be reserved
Jun 29 17:05:00 kali kernel: system 00:03: [mem 0xfed45000-0xfed8ffff] could not be reserved
Jun 29 17:05:00 kali kernel: system 00:03: [mem 0xfee00000-0xfeefffff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:04: [io  0x1800-0x18fe] could not be reserved
Jun 29 17:05:00 kali kernel: system 00:04: [mem 0xfe000000-0xfe01ffff] could not be reserved
Jun 29 17:05:00 kali kernel: system 00:04: [mem 0xfe04c000-0xfe04ffff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:04: [mem 0xfe050000-0xfe0affff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:04: [mem 0xfe0d0000-0xfe0fffff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:04: [mem 0xfe200000-0xfe7fffff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:04: [mem 0xff000000-0xffffffff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:04: [mem 0xfd000000-0xfd68ffff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:04: [mem 0xfd6b0000-0xfd6cffff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:04: [mem 0xfd6f0000-0xfdffffff] has been reserved
Jun 29 17:05:00 kali kernel: system 00:05: [io  0x2000-0x20fe] has been reserved
Jun 29 17:05:00 kali kernel: pnp: PnP ACPI: found 7 devices
Jun 29 17:05:00 kali kernel: clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
Jun 29 17:05:00 kali kernel: NET: Registered PF_INET protocol family
Jun 29 17:05:00 kali kernel: IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear)
Jun 29 17:05:00 kali kernel: tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
Jun 29 17:05:00 kali kernel: Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
Jun 29 17:05:00 kali kernel: TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
Jun 29 17:05:00 kali kernel: TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear)
Jun 29 17:05:00 kali kernel: TCP: Hash tables configured (established 65536 bind 65536)
Jun 29 17:05:00 kali kernel: MPTCP token hash table entries: 8192 (order: 6, 196608 bytes, linear)
Jun 29 17:05:00 kali kernel: UDP hash table entries: 4096 (order: 6, 262144 bytes, linear)
Jun 29 17:05:00 kali kernel: UDP-Lite hash table entries: 4096 (order: 6, 262144 bytes, linear)
Jun 29 17:05:00 kali kernel: NET: Registered PF_UNIX/PF_LOCAL protocol family
Jun 29 17:05:00 kali kernel: NET: Registered PF_XDP protocol family
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: max bus depth: 1 pci_try_num: 2
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: VF BAR 2 [mem 0x4020000000-0x40ffffffff 64bit pref]: assigned
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: VF BAR 0 [mem 0x4010000000-0x4016ffffff 64bit]: assigned
Jun 29 17:05:00 kali kernel: pci 0000:00:15.0: BAR 0 [mem 0x4017000000-0x4017000fff 64bit]: assigned
Jun 29 17:05:00 kali kernel: pci 0000:00:15.3: BAR 0 [mem 0x4017001000-0x4017001fff 64bit]: assigned
Jun 29 17:05:00 kali kernel: pci 0000:00:19.0: BAR 0 [mem 0x4017002000-0x4017002fff 64bit]: assigned
Jun 29 17:05:00 kali kernel: pci 0000:00:19.1: BAR 0 [mem 0x4017003000-0x4017003fff 64bit]: assigned
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.5: BAR 0 [mem 0x4f800000-0x4f800fff]: assigned
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.0: PCI bridge to [bus 01]
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.0:   bridge window [io  0x3000-0x3fff]
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.0:   bridge window [mem 0x52000000-0x520fffff]
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.1: PCI bridge to [bus 02]
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.1:   bridge window [mem 0x6003000000-0x60031fffff 64bit pref]
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: resource 7 [mem 0x4f800000-0xbfffffff window]
Jun 29 17:05:00 kali kernel: pci_bus 0000:00: resource 8 [mem 0x4000000000-0x7fffffffff window]
Jun 29 17:05:00 kali kernel: pci_bus 0000:01: resource 0 [io  0x3000-0x3fff]
Jun 29 17:05:00 kali kernel: pci_bus 0000:01: resource 1 [mem 0x52000000-0x520fffff]
Jun 29 17:05:00 kali kernel: pci_bus 0000:02: resource 2 [mem 0x6003000000-0x60031fffff 64bit pref]
Jun 29 17:05:00 kali kernel: PCI: CLS 64 bytes, default 64
Jun 29 17:05:00 kali kernel: DMAR: No ATSR found
Jun 29 17:05:00 kali kernel: DMAR: No SATC found
Jun 29 17:05:00 kali kernel: DMAR: dmar0: Using Queued invalidation
Jun 29 17:05:00 kali kernel: DMAR: dmar1: Using Queued invalidation
Jun 29 17:05:00 kali kernel: Trying to unpack rootfs image as initramfs...
Jun 29 17:05:00 kali kernel: pci 0000:00:02.0: Adding to iommu group 0
Jun 29 17:05:00 kali kernel: pci 0000:00:00.0: Adding to iommu group 1
Jun 29 17:05:00 kali kernel: pci 0000:00:08.0: Adding to iommu group 2
Jun 29 17:05:00 kali kernel: pci 0000:00:0e.0: Adding to iommu group 3
Jun 29 17:05:00 kali kernel: pci 0000:00:14.0: Adding to iommu group 4
Jun 29 17:05:00 kali kernel: pci 0000:00:14.2: Adding to iommu group 4
Jun 29 17:05:00 kali kernel: pci 0000:00:15.0: Adding to iommu group 5
Jun 29 17:05:00 kali kernel: pci 0000:00:15.3: Adding to iommu group 5
Jun 29 17:05:00 kali kernel: pci 0000:00:16.0: Adding to iommu group 6
Jun 29 17:05:00 kali kernel: pci 0000:00:17.0: Adding to iommu group 7
Jun 29 17:05:00 kali kernel: pci 0000:00:19.0: Adding to iommu group 8
Jun 29 17:05:00 kali kernel: pci 0000:00:19.1: Adding to iommu group 8
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.0: Adding to iommu group 9
Jun 29 17:05:00 kali kernel: pci 0000:00:1d.1: Adding to iommu group 10
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.0: Adding to iommu group 11
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.3: Adding to iommu group 11
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.4: Adding to iommu group 11
Jun 29 17:05:00 kali kernel: pci 0000:00:1f.5: Adding to iommu group 11
Jun 29 17:05:00 kali kernel: pci 0000:01:00.0: Adding to iommu group 12
Jun 29 17:05:00 kali kernel: pci 0000:02:00.0: Adding to iommu group 13
Jun 29 17:05:00 kali kernel: DMAR: Intel(R) Virtualization Technology for Directed I/O
Jun 29 17:05:00 kali kernel: PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Jun 29 17:05:00 kali kernel: software IO TLB: mapped [mem 0x00000000276b0000-0x000000002b6b0000] (64MB)
Jun 29 17:05:00 kali kernel: clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2b2c8ec87c7, max_idle_ns: 440795278598 ns
Jun 29 17:05:00 kali kernel: clocksource: Switched to clocksource tsc
Jun 29 17:05:00 kali kernel: Initialise system trusted keyrings
Jun 29 17:05:00 kali kernel: Key type blacklist registered
Jun 29 17:05:00 kali kernel: workingset: timestamp_bits=36 max_order=21 bucket_order=0
Jun 29 17:05:00 kali kernel: fuse: init (API version 7.45)
Jun 29 17:05:00 kali kernel: integrity: Platform Keyring initialized
Jun 29 17:05:00 kali kernel: integrity: Machine keyring initialized
Jun 29 17:05:00 kali kernel: Key type asymmetric registered
Jun 29 17:05:00 kali kernel: Asymmetric key parser 'x509' registered
Jun 29 17:05:00 kali kernel: Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
Jun 29 17:05:00 kali kernel: io scheduler mq-deadline registered
Jun 29 17:05:00 kali kernel: ledtrig-cpu: registered to indicate activity on CPUs
Jun 29 17:05:00 kali kernel: pcieport 0000:00:1d.0: PME: Signaling with IRQ 122
Jun 29 17:05:00 kali kernel: pcieport 0000:00:1d.0: AER: enabled with IRQ 122
Jun 29 17:05:00 kali kernel: pcieport 0000:00:1d.0: DPC: enabled with IRQ 122
Jun 29 17:05:00 kali kernel: pcieport 0000:00:1d.0: DPC: error containment capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, DL_ActiveErr+
Jun 29 17:05:00 kali kernel: pcieport 0000:00:1d.1: PME: Signaling with IRQ 123
Jun 29 17:05:00 kali kernel: pcieport 0000:00:1d.1: AER: enabled with IRQ 123
Jun 29 17:05:00 kali kernel: pcieport 0000:00:1d.1: DPC: enabled with IRQ 123
Jun 29 17:05:00 kali kernel: pcieport 0000:00:1d.1: DPC: error containment capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, DL_ActiveErr+
Jun 29 17:05:00 kali kernel: thermal LNXTHERM:00: registered as thermal_zone0
Jun 29 17:05:00 kali kernel: ACPI: thermal: Thermal Zone [TZ00] (28 C)
Jun 29 17:05:00 kali kernel: Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
Jun 29 17:05:00 kali kernel: hpet_acpi_add: no address or irqs in _CRS
Jun 29 17:05:00 kali kernel: Linux agpgart interface v0.103
Jun 29 17:05:00 kali kernel: tpm tpm0: tpm_read_log_acpi: Failed to map ACPI memory
Jun 29 17:05:00 kali kernel: i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
Jun 29 17:05:00 kali kernel: i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
Jun 29 17:05:00 kali kernel: serio: i8042 KBD port at 0x60,0x64 irq 1
Jun 29 17:05:00 kali kernel: mousedev: PS/2 mouse device common for all mice
Jun 29 17:05:00 kali kernel: rtc_cmos 00:01: RTC can wake from S4
Jun 29 17:05:00 kali kernel: rtc_cmos 00:01: registered as rtc0
Jun 29 17:05:00 kali kernel: rtc_cmos 00:01: setting system clock to 2026-06-29T09:04:57 UTC (1782723897)
Jun 29 17:05:00 kali kernel: rtc_cmos 00:01: alarms up to one month, y3k, 242 bytes nvram
Jun 29 17:05:00 kali kernel: input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
Jun 29 17:05:00 kali kernel: intel_pstate: Intel P-state driver initializing
Jun 29 17:05:00 kali kernel: intel_pstate: HWP enabled
Jun 29 17:05:00 kali kernel: efifb: probing for efifb
Jun 29 17:05:00 kali kernel: efifb: framebuffer at 0x4000000000, using 8100k, total 8100k
Jun 29 17:05:00 kali kernel: efifb: mode is 1920x1080x32, linelength=7680, pages=1
Jun 29 17:05:00 kali kernel: efifb: scrolling: redraw
Jun 29 17:05:00 kali kernel: efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
Jun 29 17:05:00 kali kernel: Console: switching to colour frame buffer device 240x67
Jun 29 17:05:00 kali kernel: fb0: EFI VGA frame buffer device
Jun 29 17:05:00 kali kernel: NET: Registered PF_INET6 protocol family
Jun 29 17:05:00 kali kernel: Segment Routing with IPv6
Jun 29 17:05:00 kali kernel: RPL Segment Routing with IPv6
Jun 29 17:05:00 kali kernel: In-situ OAM (IOAM) with IPv6
Jun 29 17:05:00 kali kernel: mip6: Mobile IPv6
Jun 29 17:05:00 kali kernel: NET: Registered PF_PACKET protocol family
Jun 29 17:05:00 kali kernel: mpls_gso: MPLS GSO support
Jun 29 17:05:00 kali kernel: ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
Jun 29 17:05:00 kali kernel: microcode: Current revision: 0x000000be
Jun 29 17:05:00 kali kernel: microcode: Updated early from: 0x0000008a
Jun 29 17:05:00 kali kernel: resctrl: L2 allocation detected
Jun 29 17:05:00 kali kernel: IPI shorthand broadcast: enabled
Jun 29 17:05:00 kali kernel: sched_clock: Marking stable (376047676, 6721032)->(409121097, -26352389)
Jun 29 17:05:00 kali kernel: registered taskstats version 1
Jun 29 17:05:00 kali kernel: Loading compiled-in X.509 certificates
Jun 29 17:05:00 kali kernel: Freeing initrd memory: 205880K
Jun 29 17:05:00 kali kernel: Loaded X.509 cert 'Build time autogenerated kernel key: 42bf05ba17f96a2ee677e0d164c07695b0bbcb36'
Jun 29 17:05:00 kali kernel: Demotion targets for Node 0: null
Jun 29 17:05:00 kali kernel: Key type .fscrypt registered
Jun 29 17:05:00 kali kernel: Key type fscrypt-provisioning registered
Jun 29 17:05:00 kali kernel: Key type encrypted registered
Jun 29 17:05:00 kali kernel: AppArmor: AppArmor sha256 policy hashing enabled
Jun 29 17:05:00 kali kernel: ima: Allocated hash algorithm: sha256
Jun 29 17:05:00 kali kernel: ima: No architecture policies found
Jun 29 17:05:00 kali kernel: evm: Initialising EVM extended attributes:
Jun 29 17:05:00 kali kernel: evm: security.selinux
Jun 29 17:05:00 kali kernel: evm: security.SMACK64 (disabled)
Jun 29 17:05:00 kali kernel: evm: security.SMACK64EXEC (disabled)
Jun 29 17:05:00 kali kernel: evm: security.SMACK64TRANSMUTE (disabled)
Jun 29 17:05:00 kali kernel: evm: security.SMACK64MMAP (disabled)
Jun 29 17:05:00 kali kernel: evm: security.apparmor
Jun 29 17:05:00 kali kernel: evm: security.ima
Jun 29 17:05:00 kali kernel: evm: security.capability
Jun 29 17:05:00 kali kernel: evm: HMAC attrs: 0x1
Jun 29 17:05:00 kali kernel: integrity: Loading X.509 certificate: UEFI:db
Jun 29 17:05:00 kali kernel: integrity: Loaded X.509 cert 'Acer Database: 84f00f5841571abd2cc11a8c26d5c9c8d2b6b0b5'
Jun 29 17:05:00 kali kernel: integrity: Loading X.509 certificate: UEFI:db
Jun 29 17:05:00 kali kernel: integrity: Loaded X.509 cert 'Microsoft Windows Production PCA 2011: a92902398e16c49778cd90f99e4f9ae17c55af53'
Jun 29 17:05:00 kali kernel: integrity: Loading X.509 certificate: UEFI:db
Jun 29 17:05:00 kali kernel: integrity: Loaded X.509 cert 'Microsoft Corporation UEFI CA 2011: 13adbf4309bd82709c8cd54f316ed522988a1bd4'
Jun 29 17:05:00 kali kernel: integrity: Loading X.509 certificate: UEFI:db
Jun 29 17:05:00 kali kernel: integrity: Problem loading X.509 certificate -65
Jun 29 17:05:00 kali kernel: integrity: Error adding keys to platform keyring UEFI:db
Jun 29 17:05:00 kali kernel: integrity: Loading X.509 certificate: UEFI:db
Jun 29 17:05:00 kali kernel: integrity: Problem loading X.509 certificate -65
Jun 29 17:05:00 kali kernel: integrity: Error adding keys to platform keyring UEFI:db
Jun 29 17:05:00 kali kernel: integrity: Loading X.509 certificate: UEFI:db
Jun 29 17:05:00 kali kernel: integrity: Loaded X.509 cert 'Linpus: linpus.com: 2e092cab5e97a89f94a6e272ec7267c267cf4483'
Jun 29 17:05:00 kali kernel: RAS: Correctable Errors collector initialized.
Jun 29 17:05:00 kali kernel: clk: Disabling unused clocks
Jun 29 17:05:00 kali kernel: PM: genpd: Disabling unused power domains
Jun 29 17:05:00 kali kernel: Freeing unused decrypted memory: 2028K
Jun 29 17:05:00 kali kernel: Freeing unused kernel image (initmem) memory: 4476K
Jun 29 17:05:00 kali kernel: Write protecting the kernel read-only data: 32768k
Jun 29 17:05:00 kali kernel: Freeing unused kernel image (text/rodata gap) memory: 548K
Jun 29 17:05:00 kali kernel: Freeing unused kernel image (rodata/data gap) memory: 1300K
Jun 29 17:05:00 kali kernel: x86/mm: Checked W+X mappings: passed, no W+X pages found.
Jun 29 17:05:00 kali kernel: Run /init as init process
Jun 29 17:05:00 kali kernel:   with arguments:
Jun 29 17:05:00 kali kernel:     /init
Jun 29 17:05:00 kali kernel:     splash
Jun 29 17:05:00 kali kernel:   with environment:
Jun 29 17:05:00 kali kernel:     HOME=/
Jun 29 17:05:00 kali kernel:     TERM=linux
Jun 29 17:05:00 kali kernel: wmi_bus wmi_bus-PNP0C14:00: [Firmware Bug]: WMBF method block execution control method not found
Jun 29 17:05:00 kali kernel: vmd 0000:00:0e.0: PCI host bridge to bus 10000:e0
Jun 29 17:05:00 kali kernel: pci_bus 10000:e0: root bus resource [bus e0-ff]
Jun 29 17:05:00 kali kernel: pci_bus 10000:e0: root bus resource [mem 0x50000000-0x51ffffff]
Jun 29 17:05:00 kali kernel: pci_bus 10000:e0: root bus resource [mem 0x6003302000-0x60033fffff 64bit]
Jun 29 17:05:00 kali kernel: input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1a/PNP0C0D:00/input/input1
Jun 29 17:05:00 kali kernel: ACPI: button: Lid Switch [LID0]
Jun 29 17:05:00 kali kernel: input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
Jun 29 17:05:00 kali kernel: ACPI: button: Sleep Button [SLPB]
Jun 29 17:05:00 kali kernel: input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input3
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: [8086:a0d3] type 00 class 0x010601 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 0 [mem 0x00000000-0x00001fff]
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 1 [mem 0x00000000-0x000000ff]
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 2 [io  0x0000-0x0007]
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 3 [io  0x0000-0x0003]
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 4 [io  0x0000-0x001f]
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 5 [mem 0x50000000-0x500007ff]
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: PME# supported from D3hot
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: Adding to iommu group 3
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.0: [8086:09ab] type 00 class 0x088000 conventional PCI endpoint
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.0: Adding to iommu group 3
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: [8086:a0bc] type 01 class 0x060400 PCIe Root Port
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: PCI bridge to [bus e1]
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4:   bridge window [io  0x0000-0x0fff]
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4:   bridge window [mem 0x50100000-0x501fffff]
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: PME# supported from D0 D3hot D3cold
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: PTM enabled (root), 4ns granularity
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: Adding to iommu group 3
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: Primary bus is hard wired to 0
Jun 29 17:05:00 kali kernel: pci 10000:e1:00.0: [8086:f1aa] type 00 class 0x010802 PCIe Endpoint
Jun 29 17:05:00 kali kernel: pci 10000:e1:00.0: BAR 0 [mem 0x50100000-0x50103fff 64bit]
Jun 29 17:05:00 kali kernel: pci 10000:e1:00.0: VF BAR 0 [mem 0x00000000-0x00003fff 64bit]
Jun 29 17:05:00 kali kernel: pci 10000:e1:00.0: VF BAR 0 [mem 0x00000000-0x0001ffff 64bit]: contains BAR 0 for 8 VFs
Jun 29 17:05:00 kali kernel: ACPI: button: Power Button [PWRB]
Jun 29 17:05:00 kali kernel: pci 10000:e1:00.0: Adding to iommu group 3
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: PCI bridge to [bus e1]
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: Primary bus is hard wired to 0
Jun 29 17:05:00 kali kernel: ACPI: battery: Slot [BAT1] (battery present)
Jun 29 17:05:00 kali kernel: ACPI: bus type USB registered
Jun 29 17:05:00 kali kernel: usbcore: registered new interface driver usbfs
Jun 29 17:05:00 kali kernel: usbcore: registered new interface driver hub
Jun 29 17:05:00 kali kernel: usbcore: registered new device driver usb
Jun 29 17:05:00 kali kernel: i801_smbus 0000:00:1f.4: SPD Write Disable is set
Jun 29 17:05:00 kali kernel: i801_smbus 0000:00:1f.4: SMBus using PCI interrupt
Jun 29 17:05:00 kali kernel: intel-lpss 0000:00:15.0: enabling device (0004 -> 0006)
Jun 29 17:05:00 kali kernel: idma64 idma64.0: Found Intel integrated DMA 64-bit
Jun 29 17:05:00 kali kernel: intel-lpss 0000:00:15.3: enabling device (0004 -> 0006)
Jun 29 17:05:00 kali kernel: idma64 idma64.1: Found Intel integrated DMA 64-bit
Jun 29 17:05:00 kali kernel: intel-lpss 0000:00:19.0: enabling device (0004 -> 0006)
Jun 29 17:05:00 kali kernel: idma64 idma64.2: Found Intel integrated DMA 64-bit
Jun 29 17:05:00 kali kernel: intel-lpss 0000:00:19.1: enabling device (0004 -> 0006)
Jun 29 17:05:00 kali kernel: idma64 idma64.3: Found Intel integrated DMA 64-bit
Jun 29 17:05:00 kali kernel: ACPI: bus type drm_connector registered
Jun 29 17:05:00 kali kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
Jun 29 17:05:00 kali kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
Jun 29 17:05:00 kali kernel: xhci_hcd 0000:00:14.0: hcc params 0x20007fc1 hci version 0x120 quirks 0x0000100200009810
Jun 29 17:05:00 kali kernel: xhci_hcd 0000:00:14.0: xHCI Host Controller
Jun 29 17:05:00 kali kernel: xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
Jun 29 17:05:00 kali kernel: xhci_hcd 0000:00:14.0: Host supports USB 3.1 Enhanced SuperSpeed
Jun 29 17:05:00 kali kernel: usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.19
Jun 29 17:05:00 kali kernel: usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Jun 29 17:05:00 kali kernel: usb usb1: Product: xHCI Host Controller
Jun 29 17:05:00 kali kernel: usb usb1: Manufacturer: Linux 6.19.14+kali-amd64 xhci-hcd
Jun 29 17:05:00 kali kernel: usb usb1: SerialNumber: 0000:00:14.0
Jun 29 17:05:00 kali kernel: hub 1-0:1.0: USB hub found
Jun 29 17:05:00 kali kernel: hub 1-0:1.0: 12 ports detected
Jun 29 17:05:00 kali kernel: usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 6.19
Jun 29 17:05:00 kali kernel: usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Jun 29 17:05:00 kali kernel: usb usb2: Product: xHCI Host Controller
Jun 29 17:05:00 kali kernel: usb usb2: Manufacturer: Linux 6.19.14+kali-amd64 xhci-hcd
Jun 29 17:05:00 kali kernel: usb usb2: SerialNumber: 0000:00:14.0
Jun 29 17:05:00 kali kernel: hub 2-0:1.0: USB hub found
Jun 29 17:05:00 kali kernel: hub 2-0:1.0: 4 ports detected
Jun 29 17:05:00 kali kernel: r8169 0000:01:00.0 eth0: RTL8168h/8111h, 08:8f:c3:69:9c:11, XID 541, IRQ 148
Jun 29 17:05:00 kali kernel: r8169 0000:01:00.0 eth0: jumbo features [frames: 9194 bytes, tx checksumming: ko]
Jun 29 17:05:00 kali kernel: hid: raw HID events driver (C) Jiri Kosina
Jun 29 17:05:00 kali kernel: iTCO_vendor_support: vendor-support=0
Jun 29 17:05:00 kali kernel: input: ELAN050A:01 04F3:3158 Mouse as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN050A:01/0018:04F3:3158.0001/input/input4
Jun 29 17:05:00 kali kernel: input: ELAN050A:01 04F3:3158 Touchpad as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN050A:01/0018:04F3:3158.0001/input/input6
Jun 29 17:05:00 kali kernel: hid-generic 0018:04F3:3158.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN050A:01 04F3:3158] on i2c-ELAN050A:01
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: disabling bridge window [mem size 0x00000000 64bit pref disabled] to [bus e1] (unused)
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: bridge window [mem 0x50000000-0x500fffff]: assigned
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 0 [mem 0x50100000-0x50101fff]: assigned
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: bridge window [io  size 0x1000]: can't assign; no space
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: bridge window [io  size 0x1000]: failed to assign
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 5 [mem 0x50102000-0x501027ff]: assigned
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 1 [mem 0x50102800-0x501028ff]: assigned
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 4 [io  size 0x0020]: can't assign; no space
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 4 [io  size 0x0020]: failed to assign
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 2 [io  size 0x0008]: can't assign; no space
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 2 [io  size 0x0008]: failed to assign
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 3 [io  size 0x0004]: can't assign; no space
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 3 [io  size 0x0004]: failed to assign
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: bridge window [io  size 0x1000]: can't assign; no space
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: bridge window [io  size 0x1000]: failed to assign
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 4 [io  size 0x0020]: can't assign; no space
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 4 [io  size 0x0020]: failed to assign
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 2 [io  size 0x0008]: can't assign; no space
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 2 [io  size 0x0008]: failed to assign
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 3 [io  size 0x0004]: can't assign; no space
Jun 29 17:05:00 kali kernel: pci 10000:e0:17.0: BAR 3 [io  size 0x0004]: failed to assign
Jun 29 17:05:00 kali kernel: pci 10000:e1:00.0: BAR 0 [mem 0x50000000-0x50003fff 64bit]: assigned
Jun 29 17:05:00 kali kernel: pci 10000:e1:00.0: VF BAR 0 [mem 0x50004000-0x50023fff 64bit]: assigned
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4: PCI bridge to [bus e1]
Jun 29 17:05:00 kali kernel: pci 10000:e0:1c.4:   bridge window [mem 0x50000000-0x500fffff]
Jun 29 17:05:00 kali kernel: pci 10000:e1:00.0: VMD: Default LTR value set by driver
Jun 29 17:05:00 kali kernel: pcieport 10000:e0:1c.4: can't derive routing for PCI INT A
Jun 29 17:05:00 kali kernel: pcieport 10000:e0:1c.4: PCI INT A: no GSI
Jun 29 17:05:00 kali kernel: pcieport 10000:e0:1c.4: PME: Signaling with IRQ 150
Jun 29 17:05:00 kali kernel: pcieport 10000:e0:1c.4: AER: enabled with IRQ 150
Jun 29 17:05:00 kali kernel: iTCO_wdt iTCO_wdt: Found a Intel PCH TCO device (Version=6, TCOBASE=0x0400)
Jun 29 17:05:00 kali kernel: pcieport 10000:e0:1c.4: DPC: enabled with IRQ 150
Jun 29 17:05:00 kali kernel: iTCO_wdt iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
Jun 29 17:05:00 kali kernel: pcieport 10000:e0:1c.4: DPC: error containment capabilities: Int Msg #0, RPExt+ PoisonedTLP+ SwTrigger+ RP PIO Log 4, DL_ActiveErr+
Jun 29 17:05:00 kali kernel: vmd 0000:00:0e.0: Bound to PCI domain 10000
Jun 29 17:05:00 kali kernel: Key type psk registered
Jun 29 17:05:00 kali kernel: SCSI subsystem initialized
Jun 29 17:05:00 kali kernel: nvme nvme0: pci function 10000:e1:00.0
Jun 29 17:05:00 kali kernel: pcieport 10000:e0:1c.4: can't derive routing for PCI INT A
Jun 29 17:05:00 kali kernel: nvme 10000:e1:00.0: PCI INT A: not connected
Jun 29 17:05:00 kali kernel: nvme nvme0: 4/0/0 default/read/poll queues
Jun 29 17:05:00 kali kernel: input: ELAN050A:01 04F3:3158 Mouse as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN050A:01/0018:04F3:3158.0001/input/input7
Jun 29 17:05:00 kali kernel: input: ELAN050A:01 04F3:3158 Touchpad as /devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-2/i2c-ELAN050A:01/0018:04F3:3158.0001/input/input9
Jun 29 17:05:00 kali kernel: hid-multitouch 0018:04F3:3158.0001: input,hidraw0: I2C HID v1.00 Mouse [ELAN050A:01 04F3:3158] on i2c-ELAN050A:01
Jun 29 17:05:00 kali kernel:  nvme0n1: p1 p2 p3 p4 p5
Jun 29 17:05:00 kali kernel: libata version 3.00 loaded.
Jun 29 17:05:00 kali kernel: ahci 10000:e0:17.0: can't derive routing for PCI INT A
Jun 29 17:05:00 kali kernel: ahci 10000:e0:17.0: PCI INT A: no GSI
Jun 29 17:05:00 kali kernel: ahci 10000:e0:17.0: AHCI vers 0001.0301, 32 command slots, 6 Gbps, SATA mode
Jun 29 17:05:00 kali kernel: ahci 10000:e0:17.0: 2/2 ports implemented (port mask 0x3)
Jun 29 17:05:00 kali kernel: ahci 10000:e0:17.0: flags: 64bit ncq sntf pm clo only pio slum part deso sadm sds 
Jun 29 17:05:00 kali kernel: scsi host0: ahci
Jun 29 17:05:00 kali kernel: scsi host1: ahci
Jun 29 17:05:00 kali kernel: ata1: SATA max UDMA/133 abar m2048@0x50102000 port 0x50102100 irq 156 lpm-pol 4
Jun 29 17:05:00 kali kernel: ata2: SATA max UDMA/133 abar m2048@0x50102000 port 0x50102180 irq 156 lpm-pol 4
Jun 29 17:05:00 kali kernel: usb 1-8: new high-speed USB device number 2 using xhci_hcd
Jun 29 17:05:00 kali kernel: usb 1-8: New USB device found, idVendor=04f2, idProduct=b72b, bcdDevice=27.46
Jun 29 17:05:00 kali kernel: usb 1-8: New USB device strings: Mfr=3, Product=1, SerialNumber=2
Jun 29 17:05:00 kali kernel: usb 1-8: Product: HD User Facing
Jun 29 17:05:00 kali kernel: usb 1-8: Manufacturer: Chicony Electronics Co.,Ltd.
Jun 29 17:05:00 kali kernel: usb 1-8: SerialNumber: 200901010001
Jun 29 17:05:00 kali kernel: usb 1-10: new high-speed USB device number 3 using xhci_hcd
Jun 29 17:05:00 kali kernel: ata2: SATA link down (SStatus 0 SControl 300)
Jun 29 17:05:00 kali kernel: ata1: SATA link down (SStatus 0 SControl 300)
Jun 29 17:05:00 kali kernel: i915 0000:00:02.0: [drm] Found tigerlake/uy (device ID 9a78) integrated display version 12.00 stepping C0
Jun 29 17:05:00 kali kernel: i915 0000:00:02.0: [drm] VT-d active for gfx access
Jun 29 17:05:00 kali kernel: Console: switching to colour dummy device 80x25
Jun 29 17:05:00 kali kernel: i915 0000:00:02.0: vgaarb: deactivate vga console
Jun 29 17:05:00 kali kernel: i915 0000:00:02.0: [drm] Using Transparent Hugepages
Jun 29 17:05:00 kali kernel: i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Jun 29 17:05:00 kali kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/tgl_dmc_ver2_12.bin (v2.12)
Jun 29 17:05:00 kali kernel: i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
Jun 29 17:05:00 kali kernel: i915 0000:00:02.0: [drm] Registered 4 planes with drm panic
Jun 29 17:05:00 kali kernel: [drm] Initialized i915 1.6.0 for 0000:00:02.0 on minor 0
Jun 29 17:05:00 kali kernel: ACPI: video: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
Jun 29 17:05:00 kali kernel: input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input10
Jun 29 17:05:00 kali kernel: fbcon: i915drmfb (fb0) is primary device
Jun 29 17:05:00 kali kernel: Console: switching to colour frame buffer device 240x67
Jun 29 17:05:00 kali kernel: i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
Jun 29 17:05:00 kali kernel: usb 1-10: New USB device found, idVendor=04ca, idProduct=3801, bcdDevice= 1.00
Jun 29 17:05:00 kali kernel: usb 1-10: New USB device strings: Mfr=4, Product=5, SerialNumber=6
Jun 29 17:05:00 kali kernel: usb 1-10: Product: Wireless_Device
Jun 29 17:05:00 kali kernel: usb 1-10: Manufacturer: MediaTek Inc.
Jun 29 17:05:00 kali kernel: usb 1-10: SerialNumber: 000000000
Jun 29 17:05:00 kali kernel: EXT4-fs (nvme0n1p5): orphan cleanup on readonly fs
Jun 29 17:05:00 kali kernel: EXT4-fs (nvme0n1p5): mounted filesystem 0da80b3b-057b-400c-838f-e316ea4e7088 ro with ordered data mode. Quota mode: none.
Jun 29 17:05:00 kali kernel: Not activating Mandatory Access Control as /sbin/tomoyo-init does not exist.
Jun 29 17:05:00 kali systemd[1]: Inserted module 'autofs4'
Jun 29 17:05:00 kali systemd[1]: systemd 260.1-1 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF -XKBCOMMON -UTMP +LIBARCHIVE)
Jun 29 17:05:00 kali systemd[1]: Detected architecture x86-64.
Jun 29 17:05:00 kali systemd[1]: Hostname set to <kali>.
Jun 29 17:05:00 kali systemd[1]: bpf-restrict-fs: LSM BPF program attached
Jun 29 17:05:00 kali systemd-sslh-generator: Configuration directory '/etc/sslh/' does not exist! No units generated.
Jun 29 17:05:00 kali systemd[1]: Queued start job for default target graphical.target.
Jun 29 17:05:00 kali systemd[1]: Created slice system-getty.slice - Slice /system/getty.
Jun 29 17:05:00 kali systemd[1]: Created slice system-modprobe.slice - Slice /system/modprobe.
Jun 29 17:05:00 kali systemd[1]: Created slice system-systemd\x2dfsck.slice - Slice /system/systemd-fsck.
Jun 29 17:05:00 kali systemd[1]: Created slice user.slice - User and Session Slice.
Jun 29 17:05:00 kali systemd[1]: Started systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch.
Jun 29 17:05:00 kali systemd[1]: Set up automount proc-sys-fs-binfmt_misc.automount - Arbitrary Executable File Formats File System Automount Point.
Jun 29 17:05:00 kali systemd[1]: Expecting device dev-disk-by\x2duuid-E20E\x2d6C24.device - /dev/disk/by-uuid/E20E-6C24...
Jun 29 17:05:00 kali systemd[1]: Reached target imports.target - Image Downloads.
Jun 29 17:05:00 kali systemd[1]: Reached target nss-user-lookup.target - User and Group Name Lookups.
Jun 29 17:05:00 kali systemd[1]: Reached target slices.target - Slice Units.
Jun 29 17:05:00 kali systemd[1]: Reached target stunnel.target - TLS tunnels for network services - per-config-file target.
Jun 29 17:05:00 kali systemd[1]: Reached target swap.target - Swaps.
Jun 29 17:05:00 kali systemd[1]: Listening on systemd-ask-password.socket - Query the User Interactively for a Password.
Jun 29 17:05:00 kali systemd[1]: Listening on systemd-creds.socket - Credential Encryption/Decryption.
Jun 29 17:05:00 kali systemd[1]: Listening on systemd-factory-reset.socket - Factory Reset Management.
Jun 29 17:05:00 kali systemd[1]: Listening on systemd-journald-dev-log.socket - Journal Socket (/dev/log).
Jun 29 17:05:00 kali systemd[1]: Listening on systemd-journald.socket - Journal Sockets.
Jun 29 17:05:00 kali systemd[1]: Listening on systemd-mute-console.socket - Console Output Muting Service Socket.
Jun 29 17:05:00 kali systemd[1]: systemd-pcrextend.socket - TPM PCR Measurements skipped, unmet condition check ConditionSecurity=measured-uki
Jun 29 17:05:00 kali systemd[1]: systemd-pcrlock.socket - Make TPM PCR Policy skipped, unmet condition check ConditionSecurity=measured-uki
Jun 29 17:05:00 kali systemd[1]: Listening on systemd-udevd-control.socket - udev Control Socket.
Jun 29 17:05:00 kali systemd[1]: Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
Jun 29 17:05:00 kali systemd[1]: Listening on systemd-udevd-varlink.socket - udev Varlink Socket.
Jun 29 17:05:00 kali systemd[1]: Listening on systemd-userdbd.socket - User Database Manager Socket.
Jun 29 17:05:00 kali systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
Jun 29 17:05:00 kali systemd[1]: Mounting dev-mqueue.mount - POSIX Message Queue File System...
Jun 29 17:05:00 kali systemd[1]: Mounting sys-kernel-debug.mount - Kernel Debug File System...
Jun 29 17:05:00 kali systemd[1]: Mounting sys-kernel-tracing.mount - Kernel Trace File System...
Jun 29 17:05:00 kali systemd[1]: tmp.mount: x-systemd.graceful-option=usrquota specified, but option is not available, suppressing.
Jun 29 17:05:00 kali systemd[1]: Mounting tmp.mount - Temporary Directory /tmp...
Jun 29 17:05:00 kali systemd[1]: auth-rpcgss-module.service - Kernel Module supporting RPCSEC_GSS skipped, unmet condition check ConditionPathExists=/etc/krb5.keytab
Jun 29 17:05:00 kali systemd[1]: Starting keyboard-setup.service - Set the console keyboard layout...
Jun 29 17:05:00 kali systemd[1]: Starting kmod-static-nodes.service - Create List of Static Device Nodes...
Jun 29 17:05:00 kali systemd[1]: modprobe@configfs.service - Load Kernel Module configfs skipped, unmet condition check ConditionKernelModuleLoaded=!configfs
Jun 29 17:05:00 kali systemd[1]: Mounting sys-kernel-config.mount - Kernel Configuration File System...
Jun 29 17:05:00 kali systemd[1]: modprobe@drm.service - Load Kernel Module drm skipped, unmet condition check ConditionKernelModuleLoaded=!drm
Jun 29 17:05:00 kali systemd[1]: Starting modprobe@efi_pstore.service - Load Kernel Module efi_pstore...
Jun 29 17:05:00 kali systemd[1]: modprobe@fuse.service - Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse
Jun 29 17:05:00 kali systemd[1]: Mounting sys-fs-fuse-connections.mount - FUSE Control File System...
Jun 29 17:05:00 kali systemd[1]: systemd-fsck-root.service - File System Check on Root Device skipped, unmet condition check ConditionPathExists=!/run/initramfs/fsck-root
Jun 29 17:05:00 kali systemd[1]: systemd-hibernate-clear.service - Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67
Jun 29 17:05:00 kali systemd[1]: Starting systemd-journald.service - Journal Service...
Jun 29 17:05:00 kali systemd[1]: Starting systemd-modules-load.service - Load Kernel Modules...
Jun 29 17:05:00 kali systemd[1]: systemd-pcrmachine.service - TPM PCR Machine ID Measurement skipped, unmet condition check ConditionSecurity=measured-uki
Jun 29 17:05:00 kali systemd[1]: systemd-pcrproduct.service - TPM NvPCR Product ID Measurement skipped, unmet condition check ConditionSecurity=measured-uki
Jun 29 17:05:00 kali kernel: pstore: Using crash dump compression: deflate
Jun 29 17:05:00 kali systemd[1]: Starting systemd-remount-fs.service - Remount Root and Kernel File Systems...
Jun 29 17:05:00 kali systemd[1]: systemd-tpm2-setup-early.service - Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-uki
Jun 29 17:05:00 kali systemd[1]: Starting systemd-udev-load-credentials.service - Load udev Rules from Credentials...
Jun 29 17:05:00 kali systemd[1]: Starting systemd-udev-trigger.service - Coldplug All udev Devices...
Jun 29 17:05:00 kali systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
Jun 29 17:05:00 kali systemd[1]: Mounted dev-mqueue.mount - POSIX Message Queue File System.
Jun 29 17:05:00 kali systemd[1]: Mounted sys-kernel-debug.mount - Kernel Debug File System.
Jun 29 17:05:00 kali systemd[1]: Mounted sys-kernel-tracing.mount - Kernel Trace File System.
Jun 29 17:05:00 kali systemd[1]: Mounted tmp.mount - Temporary Directory /tmp.
Jun 29 17:05:00 kali systemd[1]: Finished keyboard-setup.service - Set the console keyboard layout.
Jun 29 17:05:00 kali systemd[1]: Finished kmod-static-nodes.service - Create List of Static Device Nodes.
Jun 29 17:05:00 kali systemd[1]: Mounted sys-kernel-config.mount - Kernel Configuration File System.
Jun 29 17:05:00 kali systemd[1]: Mounted sys-fs-fuse-connections.mount - FUSE Control File System.
Jun 29 17:05:00 kali systemd[1]: Finished systemd-modules-load.service - Load Kernel Modules.
Jun 29 17:05:00 kali systemd[1]: Starting systemd-sysctl.service - Apply Kernel Variables...
Jun 29 17:05:00 kali systemd[1]: Starting systemd-tmpfiles-setup-dev-early.service - Create Static Device Nodes in /dev gracefully...
Jun 29 17:05:00 kali systemd-journald[359]: Collecting audit messages is disabled.
Jun 29 17:05:00 kali systemd[1]: Finished systemd-udev-load-credentials.service - Load udev Rules from Credentials.
Jun 29 17:05:00 kali systemd[1]: Finished systemd-sysctl.service - Apply Kernel Variables.
Jun 29 17:05:00 kali kernel: EXT4-fs (nvme0n1p5): re-mounted 0da80b3b-057b-400c-838f-e316ea4e7088 r/w.
Jun 29 17:05:00 kali systemd[1]: Finished systemd-remount-fs.service - Remount Root and Kernel File Systems.
Jun 29 17:05:00 kali systemd[1]: systemd-hwdb-update.service - Rebuild Hardware Database skipped, unmet condition check ConditionNeedsUpdate=/etc
Jun 29 17:05:00 kali systemd[1]: Starting systemd-random-seed.service - Load/Save OS Random Seed...
Jun 29 17:05:00 kali systemd[1]: systemd-tpm2-setup.service - TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-uki
Jun 29 17:05:00 kali systemd[1]: systemd-pcrnvdone.service - TPM PCR NvPCR Initialization Separator skipped, unmet condition check ConditionSecurity=measured-uki
Jun 29 17:05:00 kali systemd[1]: Finished systemd-tmpfiles-setup-dev-early.service - Create Static Device Nodes in /dev gracefully.
Jun 29 17:05:00 kali kernel: pstore: Registered efi_pstore as persistent store backend
Jun 29 17:05:00 kali systemd[1]: modprobe@efi_pstore.service: Deactivated successfully.
Jun 29 17:05:00 kali systemd[1]: Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore.
Jun 29 17:05:00 kali systemd[1]: Starting systemd-pstore.service - Platform Persistent Storage Archival...
Jun 29 17:05:00 kali systemd[1]: systemd-sysusers.service - Create System Users skipped, no trigger condition checks were met.
Jun 29 17:05:00 kali systemd[1]: Starting systemd-journalctl.socket - Journal Log Access Socket...
Jun 29 17:05:00 kali systemd[1]: Starting systemd-timesyncd.service - Network Time Synchronization...
Jun 29 17:05:00 kali systemd[1]: Starting systemd-tmpfiles-setup-dev.service - Create Static Device Nodes in /dev...
Jun 29 17:05:00 kali systemd[1]: Finished systemd-random-seed.service - Load/Save OS Random Seed.
Jun 29 17:05:00 kali systemd[1]: Listening on systemd-journalctl.socket - Journal Log Access Socket.
Jun 29 17:05:00 kali systemd[1]: Starting systemd-userdbd.service - User Database Manager...
Jun 29 17:05:00 kali systemd[1]: Finished systemd-pstore.service - Platform Persistent Storage Archival.
Jun 29 17:05:00 kali systemd[1]: Finished systemd-tmpfiles-setup-dev.service - Create Static Device Nodes in /dev.
Jun 29 17:05:00 kali systemd[1]: Reached target local-fs-pre.target - Preparation for Local File Systems.
Jun 29 17:05:00 kali systemd[1]: Starting systemd-udevd.service - Rule-based Manager for Device Events and Files...
Jun 29 17:05:00 kali systemd[1]: proc-sys-fs-binfmt_misc.automount: Got automount request for /proc/sys/fs/binfmt_misc, triggered by 375 ((systemd-userd))
Jun 29 17:05:00 kali systemd[1]: Started systemd-journald.service - Journal Service.
Jun 29 17:05:00 kali systemd-journald[359]: Received client request to flush runtime journal.
Jun 29 17:05:00 kali systemd-journald[359]: File /var/log/journal/4fffd83daa514f3ea306d8c807efcda0/system.journal corrupted or uncleanly shut down, renaming and replacing.
Jun 29 17:05:01 kali kernel: input: Acer Wireless Radio Control as /devices/LNXSYSTM:00/10251229:00/input/input11
Jun 29 17:05:01 kali kernel: input: Intel HID events as /devices/platform/INTC1051:00/input/input12
Jun 29 17:05:01 kali kernel: ACPI: AC: AC Adapter [ACAD] (off-line)
Jun 29 17:05:01 kali kernel: intel-hid INTC1051:00: platform supports 5 button array
Jun 29 17:05:01 kali kernel: input: Intel HID 5 button array as /devices/platform/INTC1051:00/input/input13
Jun 29 17:05:01 kali kernel: intel_pmc_core INT33A1:00:  initialized
Jun 29 17:05:01 kali kernel: mei_me 0000:00:16.0: enabling device (0000 -> 0002)
Jun 29 17:05:01 kali kernel: mc: Linux media interface: v0.10
Jun 29 17:05:01 kali kernel: input: PC Speaker as /devices/platform/pcspkr/input/input14
Jun 29 17:05:01 kali kernel: videodev: Linux video capture interface: v2.00
Jun 29 17:05:01 kali kernel: cfg80211: Loading compiled-in X.509 certificates for regulatory database
Jun 29 17:05:01 kali kernel: Loaded X.509 cert 'benh@debian.org: 577e021cb980e0e820821ba7b54b4961b8b4fadf'
Jun 29 17:05:01 kali kernel: Loaded X.509 cert 'romain.perier@gmail.com: 3abbc6ec146e09d1b6016ab9d6cf71dd233f0328'
Jun 29 17:05:01 kali kernel: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
Jun 29 17:05:01 kali kernel: Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
Jun 29 17:05:01 kali kernel: resource: resource sanity check: requesting [mem 0x00000000fedc0000-0x00000000fedcdfff], which spans more than pnp 00:03 [mem 0xfedc0000-0xfedc7fff]
Jun 29 17:05:01 kali kernel: caller uncore_get_box_mmio_addr+0xe6/0x150 [intel_uncore] mapping multiple BARs
Jun 29 17:05:02 kali kernel: RAPL PMU: API unit is 2^-32 Joules, 3 fixed counters, 655360 ms ovfl timer
Jun 29 17:05:02 kali kernel: RAPL PMU: hw unit of domain pp0-core 2^-14 Joules
Jun 29 17:05:02 kali kernel: RAPL PMU: hw unit of domain package 2^-14 Joules
Jun 29 17:05:02 kali kernel: RAPL PMU: hw unit of domain pp1-gpu 2^-14 Joules
Jun 29 17:05:02 kali kernel: acer_wmi: Acer Laptop ACPI-WMI Extras
Jun 29 17:05:02 kali kernel: acer_wmi: Function bitmap for Communication Button: 0x801
Jun 29 17:05:02 kali kernel: Bluetooth: Core ver 2.22
Jun 29 17:05:02 kali kernel: NET: Registered PF_BLUETOOTH protocol family
Jun 29 17:05:02 kali kernel: Bluetooth: HCI device and connection manager initialized
Jun 29 17:05:02 kali kernel: Bluetooth: HCI socket layer initialized
Jun 29 17:05:02 kali kernel: Bluetooth: L2CAP socket layer initialized
Jun 29 17:05:02 kali kernel: Bluetooth: SCO socket layer initialized
Jun 29 17:05:02 kali kernel: uvcvideo 1-8:1.0: Found UVC 1.10 device HD User Facing (04f2:b72b)
Jun 29 17:05:02 kali kernel: input: Acer WMI hotkeys as /devices/virtual/input/input15
Jun 29 17:05:02 kali kernel: usbcore: registered new interface driver uvcvideo
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: enabling device (0000 -> 0002)
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: disabling ASPM L0s L1
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: registering led 'mt76-phy0'
Jun 29 17:05:02 kali kernel: ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
Jun 29 17:05:02 kali kernel: ieee80211 phy0: copying sband (band 1) due to VHT EXT NSS BW flag
Jun 29 17:05:02 kali kernel: mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
Jun 29 17:05:02 kali kernel: Bluetooth: hci0: Can't claim NULL iso interface
Jun 29 17:05:02 kali kernel: mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
Jun 29 17:05:02 kali kernel: usbcore: registered new interface driver btusb
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: mediatek/mt7663pr2h.bin not found, switching to mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: failed to load mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:02 kali kernel: snd_soc_avs 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
Jun 29 17:05:02 kali kernel: nvme nvme0: using unchecked data buffer
Jun 29 17:05:02 kali kernel: intel_rapl_msr: PL4 support detected.
Jun 29 17:05:02 kali kernel: intel_rapl_common: Found RAPL domain package
Jun 29 17:05:02 kali kernel: intel_rapl_common: Found RAPL domain core
Jun 29 17:05:02 kali kernel: intel_rapl_common: Found RAPL domain uncore
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: mediatek/mt7663pr2h.bin not found, switching to mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: failed to load mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:02 kali kernel: RPC: Registered named UNIX socket transport module.
Jun 29 17:05:02 kali kernel: RPC: Registered udp transport module.
Jun 29 17:05:02 kali kernel: RPC: Registered tcp transport module.
Jun 29 17:05:02 kali kernel: RPC: Registered tcp-with-tls transport module.
Jun 29 17:05:02 kali kernel: RPC: Registered tcp NFSv4.1 backchannel transport module.
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: enabling device (0000 -> 0002)
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040100
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops intel_audio_component_bind_ops [i915])
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
Jun 29 17:05:02 kali kernel: NET: Registered PF_QIPCRTR protocol family
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware paths/files for ipc type 0:
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3:  Firmware file:     intel/sof/sof-tgl.ri
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3:  Topology file:     intel/sof-tplg/sof-hda-generic-2ch.tplg
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:1
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: mediatek/mt7663pr2h.bin not found, switching to mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: failed to load mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:02 kali kernel: Generic FE-GE Realtek PHY r8169-0-100:00: attached PHY driver (mii_bus:phy_addr=r8169-0-100:00, irq=MAC)
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:1
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: loading topology: intel/sof-tplg/sof-hda-generic-2ch.tplg
Jun 29 17:05:02 kali kernel: sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:23:1
Jun 29 17:05:02 kali kernel: skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: Parent card not yet available, widget card binding deferred
Jun 29 17:05:02 kali kernel: snd_hda_codec_alc269 ehdaudio0D0: ALC255: picked fixup  for PCI SSID 1025:0000
Jun 29 17:05:02 kali kernel: snd_hda_codec_alc269 ehdaudio0D0: autoconfig for ALC255: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
Jun 29 17:05:02 kali kernel: snd_hda_codec_alc269 ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
Jun 29 17:05:02 kali kernel: snd_hda_codec_alc269 ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
Jun 29 17:05:02 kali kernel: snd_hda_codec_alc269 ehdaudio0D0:    mono: mono_out=0x0
Jun 29 17:05:02 kali kernel: snd_hda_codec_alc269 ehdaudio0D0:    inputs:
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: mediatek/mt7663pr2h.bin not found, switching to mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:02 kali kernel: mt7615e 0000:02:00.0: failed to load mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:02 kali kernel: skl_hda_dsp_generic skl_hda_dsp_generic: hda_dsp_hdmi_build_controls: no PCM in topology for HDMI converter 3
Jun 29 17:05:02 kali kernel: r8169 0000:01:00.0 eth0: Link is Down
Jun 29 17:05:02 kali kernel: input: sof-hda-dsp Front Headphone as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input16
Jun 29 17:05:02 kali kernel: input: sof-hda-dsp HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input17
Jun 29 17:05:02 kali kernel: input: sof-hda-dsp HDMI/DP,pcm=4 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input18
Jun 29 17:05:02 kali kernel: input: sof-hda-dsp HDMI/DP,pcm=5 as /devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input19
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: mediatek/mt7663pr2h.bin not found, switching to mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: failed to load mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: mediatek/mt7663pr2h.bin not found, switching to mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: Failed to get patch semaphore
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: failed to load mediatek/mt7663pr2h_rebb.bin
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: N9 Firmware Version: 3.1.1, Build Time: 20200604161656
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: Region number: 0x4
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: Parsing tailer Region: 0
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: Region 0, override_addr = 0x00118000
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: Parsing tailer Region: 1
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: Parsing tailer Region: 2
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: Parsing tailer Region: 3
Jun 29 17:05:03 kali kernel: mt7615e 0000:02:00.0: override_addr = 0x00118000, option = 3
Jun 29 17:05:03 kali kernel: Bluetooth: hci0: Device setup in 1566586 usecs
Jun 29 17:05:03 kali kernel: Bluetooth: hci0: HCI Enhanced Setup Synchronous Connection command is advertised, but not supported.
Jun 29 17:05:08 kali kernel: wlan0: authenticate with 5c:3a:3d:f1:74:66 (local address=9c:2f:9d:69:e2:01)
Jun 29 17:05:08 kali kernel: wlan0: send auth to 5c:3a:3d:f1:74:66 (try 1/3)
Jun 29 17:05:08 kali kernel: wlan0: authenticated
Jun 29 17:05:08 kali kernel: wlan0: associate with 5c:3a:3d:f1:74:66 (try 1/3)
Jun 29 17:05:08 kali kernel: wlan0: RX AssocResp from 5c:3a:3d:f1:74:66 (capab=0x1c11 status=0 aid=2)
Jun 29 17:05:08 kali kernel: wlan0: associated
Jun 29 17:05:08 kali kernel: wlan0: Limiting TX power to 20 (20 - 0) dBm as advertised by 5c:3a:3d:f1:74:66
Jun 29 17:05:14 kali systemd-journald[359]: File /var/log/journal/4fffd83daa514f3ea306d8c807efcda0/user-1000.journal corrupted or uncleanly shut down, renaming and replacing.
Jun 29 17:05:15 kali kernel: block nvme0n1: No UUID available providing old NGUID
Jun 29 17:05:26 kali kernel: warning: `ThreadPoolForeg' uses wireless extensions which will stop working for Wi-Fi 7 hardware; use nl80211
Jun 29 17:08:27 kali kernel: acer_wmi: Unknown function number - 9 - 0
Jun 29 17:09:11 kali kernel: wlan0: deauthenticating from 5c:3a:3d:f1:74:66 by local choice (Reason: 3=DEAUTH_LEAVING)
Jun 29 17:09:51 kali kernel: ------------[ cut here ]------------
Jun 29 17:09:51 kali kernel: WARNING: drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c:1612 at mt76_connac_mcu_uni_add_bss+0x128/0x370 [mt76_connac_lib], CPU#0: NetworkManager/627
Jun 29 17:09:51 kali kernel: Modules linked in: ccm snd_seq_dummy snd_hrtimer snd_seq snd_seq_device snd_ctl_led snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib snd_hda_codec_generic snd_soc_dmic qrtr snd_hda_intel snd_sof_pci_intel_tgl snd_sof_pci_intel_cnl snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common sunrpc snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp intel_rapl_msr intel_rapl_common snd_sof snd_sof_utils snd_soc_acpi_intel_match snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils snd_soc_acpi intel_uncore_frequency crc8 soundwire_bus intel_uncore_frequency_common snd_soc_sdca x86_pkg_temp_thermal snd_soc_avs intel_powerclamp snd_soc_hda_codec mei_hdcp coretemp snd_hda_ext_core snd_hda_codec mei_pxp btusb kvm_intel snd_hda_core btmtk
Jun 29 17:09:51 kali kernel:  mt7615e snd_intel_dspcfg kvm mt7615_common btrtl snd_intel_sdw_acpi btbcm mt76_connac_lib mt76 btintel snd_hwdep irqbypass uvcvideo bluetooth snd_soc_core mac80211 rapl intel_cstate videobuf2_vmalloc snd_compress uvc videobuf2_memops acer_wmi nls_ascii snd_pcm_dmaengine intel_uncore videobuf2_v4l2 nls_cp437 snd_pcm cfg80211 platform_profile videodev snd_timer vfat snd ecdh_generic videobuf2_common pcspkr mc fat soundcore rfkill wmi_bmof mei_me libarc4 mei intel_pmc_core pmt_telemetry pmt_discovery pmt_class ac intel_hid intel_pmc_ssram_telemetry sparse_keymap acer_wireless acpi_pad joydev evdev binfmt_misc efi_pstore nfnetlink efivarfs autofs4 ext4 crc16 mbcache jbd2 crc32c_cryptoapi xe intel_vsec drm_gpuvm configfs drm_gpusvm_helper gpu_sched drm_ttm_helper drm_exec drm_suballoc_helper i915 ahci libahci libata nvme scsi_mod nvme_core nvme_keyring nvme_auth hkdf scsi_common drm_buddy iTCO_wdt ttm intel_pmc_bxt hid_multitouch hid_generic i2c_algo_bit iTCO_vendor_support ghash_clmulni_intel watchdog
Jun 29 17:09:51 kali kernel:  drm_display_helper i2c_hid_acpi cec i2c_hid aesni_intel hid serio_raw rc_core drm_client_lib drm_kms_helper r8169 xhci_pci xhci_hcd realtek drm i2c_i801 usbcore fan battery i2c_smbus button intel_lpss_pci video intel_lpss usb_common vmd idma64 wmi
Jun 29 17:09:51 kali kernel: CPU: 0 UID: 0 PID: 627 Comm: NetworkManager Not tainted 6.19.14+kali-amd64 #1 PREEMPT(lazy)  Kali 6.19.14-1+kali1 
Jun 29 17:09:51 kali kernel: Hardware name: Acer Aspire A315-58/Camellia_TL, BIOS V1.35 07/10/2023
Jun 29 17:09:51 kali kernel: RIP: 0010:mt76_connac_mcu_uni_add_bss+0x128/0x370 [mt76_connac_lib]
Jun 29 17:09:51 kali kernel: Code: e8 8d fc ff ff 0f b6 c0 66 89 44 24 44 8b 03 83 f8 02 0f 84 93 01 00 00 0f 86 77 01 00 00 83 e0 fb 83 f8 03 0f 84 9b 01 00 00 <0f> 0b 48 8b 43 68 45 31 c9 41 b8 01 00 00 00 4c 89 f7 b9 2c 00 00
Jun 29 17:09:51 kali kernel: RSP: 0018:ffffd209c4893460 EFLAGS: 00010297
Jun 29 17:09:51 kali kernel: RAX: 0000000000000002 RBX: ffff89bb4acff508 RCX: 0000000000000006
Jun 29 17:09:51 kali kernel: RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff89bb45ff2260
Jun 29 17:09:51 kali kernel: RBP: ffff89bb45ff2080 R08: 0000000000000000 R09: ffff89bb45ff03e0
Jun 29 17:09:51 kali kernel: R10: ffff89bb45ff227c R11: ffff89bb45ff2294 R12: 0000000000000000
Jun 29 17:09:51 kali kernel: R13: 0000000000000000 R14: ffff89bb45ff2080 R15: ffff89bb4acffae0
Jun 29 17:09:51 kali kernel: FS:  00007f608e035600(0000) GS:ffff89bd635a6000(0000) knlGS:0000000000000000
Jun 29 17:09:51 kali kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jun 29 17:09:51 kali kernel: CR2: 00007fab5ec4ca54 CR3: 0000000105dc9006 CR4: 0000000000f70ef0
Jun 29 17:09:51 kali kernel: PKRU: 55555554
Jun 29 17:09:51 kali kernel: Call Trace:
Jun 29 17:09:51 kali kernel:  <TASK>
Jun 29 17:09:51 kali kernel:  mt7615_remove_interface+0x6a/0x200 [mt7615_common]
Jun 29 17:09:51 kali kernel:  drv_remove_interface+0x60/0x140 [mac80211]
Jun 29 17:09:51 kali kernel:  ieee80211_del_virtual_monitor+0x8f/0xc0 [mac80211]
Jun 29 17:09:51 kali kernel:  ieee80211_do_open+0x550/0x7d0 [mac80211]
Jun 29 17:09:51 kali kernel:  ieee80211_open+0xaa/0xb0 [mac80211]
Jun 29 17:09:51 kali kernel:  __dev_open+0x11b/0x280
Jun 29 17:09:51 kali kernel:  __dev_change_flags+0x1f8/0x230
Jun 29 17:09:51 kali kernel:  ? skb_queue_tail+0x1c/0x50
Jun 29 17:09:51 kali kernel:  netif_change_flags+0x27/0x70
Jun 29 17:09:51 kali kernel:  ? netlink_unicast+0x369/0x3c0
Jun 29 17:09:51 kali kernel:  do_setlink.isra.0+0x32e/0x1270
Jun 29 17:09:51 kali kernel:  ? rtnl_getlink+0x3c2/0x440
Jun 29 17:09:51 kali kernel:  ? __nla_validate_parse+0x5c/0xda0
Jun 29 17:09:51 kali kernel:  ? __kmalloc_cache_noprof+0x157/0x5b0
Jun 29 17:09:51 kali kernel:  ? tomoyo_init_request_info+0xab/0x190
Jun 29 17:09:51 kali kernel:  ? security_capable+0x8f/0x180
Jun 29 17:09:51 kali kernel:  rtnl_newlink+0x9a6/0xf40
Jun 29 17:09:51 kali kernel:  ? tomoyo_path_perm+0xb2/0x220
Jun 29 17:09:51 kali kernel:  ? tomoyo_init_request_info+0xab/0x190
Jun 29 17:09:51 kali kernel:  ? tomoyo_init_request_info+0xab/0x190
Jun 29 17:09:51 kali kernel:  ? __pfx_rtnl_newlink+0x10/0x10
Jun 29 17:09:51 kali kernel:  rtnetlink_rcv_msg+0x375/0x450
Jun 29 17:09:51 kali kernel:  ? security_inode_post_setattr+0xe5/0x110
Jun 29 17:09:51 kali kernel:  ? proc_get_long.constprop.0+0x128/0x1a0
Jun 29 17:09:51 kali kernel:  ? __pfx_rtnetlink_rcv_msg+0x10/0x10
Jun 29 17:09:51 kali kernel:  netlink_rcv_skb+0x5c/0x110
Jun 29 17:09:51 kali kernel:  netlink_unicast+0x288/0x3c0
Jun 29 17:09:51 kali kernel:  ? __alloc_skb+0xfe/0x1e0
Jun 29 17:09:51 kali kernel:  netlink_sendmsg+0x20d/0x430
Jun 29 17:09:51 kali kernel:  ____sys_sendmsg+0x35a/0x380
Jun 29 17:09:51 kali kernel:  ? import_iovec+0x2f/0x40
Jun 29 17:09:51 kali kernel:  ___sys_sendmsg+0x99/0xe0
Jun 29 17:09:51 kali kernel:  __sys_sendmsg+0x8a/0xf0
Jun 29 17:09:51 kali kernel:  do_syscall_64+0x81/0x5e0
Jun 29 17:09:51 kali kernel:  ? vfs_write+0x25d/0x480
Jun 29 17:09:51 kali kernel:  ? ksys_write+0xcd/0xf0
Jun 29 17:09:51 kali kernel:  ? do_syscall_64+0xbe/0x5e0
Jun 29 17:09:51 kali kernel:  ? do_syscall_64+0xbe/0x5e0
Jun 29 17:09:51 kali kernel:  ? do_syscall_64+0xbe/0x5e0
Jun 29 17:09:51 kali kernel:  ? clear_bhb_loop+0x50/0xa0
Jun 29 17:09:51 kali kernel:  ? clear_bhb_loop+0x50/0xa0
Jun 29 17:09:51 kali kernel:  ? clear_bhb_loop+0x50/0xa0
Jun 29 17:09:51 kali kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
Jun 29 17:09:51 kali kernel: RIP: 0033:0x7f608eca5ffe
Jun 29 17:09:51 kali kernel: Code: 08 0f 85 15 47 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 90 48 83 ec 08 bf 01 00 00 00 e8 e2 eb 05 00 bf 01 00 00 00 89
Jun 29 17:09:51 kali kernel: RSP: 002b:00007ffe8f0c9cd8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
Jun 29 17:09:51 kali kernel: RAX: ffffffffffffffda RBX: 000055a317d458c0 RCX: 00007f608eca5ffe
Jun 29 17:09:51 kali kernel: RDX: 0000000000000000 RSI: 00007ffe8f0c9d70 RDI: 000000000000000d
Jun 29 17:09:51 kali kernel: RBP: 00007ffe8f0c9d70 R08: 0000000000000000 R09: 0000000000000000
Jun 29 17:09:51 kali kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 000055a317dd17e0
Jun 29 17:09:51 kali kernel: R13: 0000000000000000 R14: 000000000000008d R15: 00007ffe8f0c9f5c
Jun 29 17:09:51 kali kernel:  </TASK>
Jun 29 17:09:51 kali kernel: ---[ end trace 0000000000000000 ]---
Jun 29 17:09:51 kali kernel: BUG: kernel NULL pointer dereference, address: 0000000000000000
Jun 29 17:09:51 kali kernel: #PF: supervisor read access in kernel mode
Jun 29 17:09:51 kali kernel: #PF: error_code(0x0000) - not-present page
Jun 29 17:09:51 kali kernel: PGD 0 P4D 0 
Jun 29 17:09:51 kali kernel: Oops: Oops: 0000 [#1] SMP NOPTI
Jun 29 17:09:51 kali kernel: CPU: 0 UID: 0 PID: 627 Comm: NetworkManager Tainted: G        W           6.19.14+kali-amd64 #1 PREEMPT(lazy)  Kali 6.19.14-1+kali1 
Jun 29 17:09:51 kali kernel: Tainted: [W]=WARN
Jun 29 17:09:51 kali kernel: Hardware name: Acer Aspire A315-58/Camellia_TL, BIOS V1.35 07/10/2023
Jun 29 17:09:51 kali kernel: RIP: 0010:mt76_connac_mcu_uni_add_bss+0x144/0x370 [mt76_connac_lib]
Jun 29 17:09:51 kali kernel: Code: 00 00 83 e0 fb 83 f8 03 0f 84 9b 01 00 00 0f 0b 48 8b 43 68 45 31 c9 41 b8 01 00 00 00 4c 89 f7 b9 2c 00 00 00 be 02 00 02 00 <8b> 10 89 54 24 36 0f b7 40 04 48 8d 54 24 24 66 89 44 24 3a 41 0f
Jun 29 17:09:51 kali kernel: RSP: 0018:ffffd209c4893460 EFLAGS: 00010246
Jun 29 17:09:51 kali kernel: RAX: 0000000000000000 RBX: ffff89bb4acff508 RCX: 000000000000002c
Jun 29 17:09:51 kali kernel: RDX: 0000000000000000 RSI: 0000000000020002 RDI: ffff89bb45ff2080
Jun 29 17:09:51 kali kernel: RBP: ffff89bb45ff2080 R08: 0000000000000001 R09: 0000000000000000
Jun 29 17:09:51 kali kernel: R10: ffff89bb45ff227c R11: ffff89bb45ff2294 R12: 0000000000000000
Jun 29 17:09:51 kali kernel: R13: 0000000000000000 R14: ffff89bb45ff2080 R15: ffff89bb4acffae0
Jun 29 17:09:51 kali kernel: FS:  00007f608e035600(0000) GS:ffff89bd635a6000(0000) knlGS:0000000000000000
Jun 29 17:09:51 kali kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jun 29 17:09:51 kali kernel: CR2: 0000000000000000 CR3: 0000000105dc9006 CR4: 0000000000f70ef0
Jun 29 17:09:51 kali kernel: PKRU: 55555554
Jun 29 17:09:51 kali kernel: Call Trace:
Jun 29 17:09:51 kali kernel:  <TASK>
Jun 29 17:09:51 kali kernel:  mt7615_remove_interface+0x6a/0x200 [mt7615_common]
Jun 29 17:09:51 kali kernel:  drv_remove_interface+0x60/0x140 [mac80211]
Jun 29 17:09:51 kali kernel:  ieee80211_del_virtual_monitor+0x8f/0xc0 [mac80211]
Jun 29 17:09:51 kali kernel:  ieee80211_do_open+0x550/0x7d0 [mac80211]
Jun 29 17:09:51 kali kernel:  ieee80211_open+0xaa/0xb0 [mac80211]
Jun 29 17:09:51 kali kernel:  __dev_open+0x11b/0x280
Jun 29 17:09:51 kali kernel:  __dev_change_flags+0x1f8/0x230
Jun 29 17:09:51 kali kernel:  ? skb_queue_tail+0x1c/0x50
Jun 29 17:09:51 kali kernel:  netif_change_flags+0x27/0x70
Jun 29 17:09:51 kali kernel:  ? netlink_unicast+0x369/0x3c0
Jun 29 17:09:51 kali kernel:  do_setlink.isra.0+0x32e/0x1270
Jun 29 17:09:51 kali kernel:  ? rtnl_getlink+0x3c2/0x440
Jun 29 17:09:51 kali kernel:  ? __nla_validate_parse+0x5c/0xda0
Jun 29 17:09:51 kali kernel:  ? __kmalloc_cache_noprof+0x157/0x5b0
Jun 29 17:09:51 kali kernel:  ? tomoyo_init_request_info+0xab/0x190
Jun 29 17:09:51 kali kernel:  ? security_capable+0x8f/0x180
Jun 29 17:09:51 kali kernel:  rtnl_newlink+0x9a6/0xf40
Jun 29 17:09:51 kali kernel:  ? tomoyo_path_perm+0xb2/0x220
Jun 29 17:09:51 kali kernel:  ? tomoyo_init_request_info+0xab/0x190
Jun 29 17:09:51 kali kernel:  ? tomoyo_init_request_info+0xab/0x190
Jun 29 17:09:51 kali kernel:  ? __pfx_rtnl_newlink+0x10/0x10
Jun 29 17:09:51 kali kernel:  rtnetlink_rcv_msg+0x375/0x450
Jun 29 17:09:51 kali kernel:  ? security_inode_post_setattr+0xe5/0x110
Jun 29 17:09:51 kali kernel:  ? proc_get_long.constprop.0+0x128/0x1a0
Jun 29 17:09:51 kali kernel:  ? __pfx_rtnetlink_rcv_msg+0x10/0x10
Jun 29 17:09:51 kali kernel:  netlink_rcv_skb+0x5c/0x110
Jun 29 17:09:51 kali kernel:  netlink_unicast+0x288/0x3c0
Jun 29 17:09:51 kali kernel:  ? __alloc_skb+0xfe/0x1e0
Jun 29 17:09:51 kali kernel:  netlink_sendmsg+0x20d/0x430
Jun 29 17:09:51 kali kernel:  ____sys_sendmsg+0x35a/0x380
Jun 29 17:09:51 kali kernel:  ? import_iovec+0x2f/0x40
Jun 29 17:09:51 kali kernel:  ___sys_sendmsg+0x99/0xe0
Jun 29 17:09:51 kali kernel:  __sys_sendmsg+0x8a/0xf0
Jun 29 17:09:51 kali kernel:  do_syscall_64+0x81/0x5e0
Jun 29 17:09:51 kali kernel:  ? vfs_write+0x25d/0x480
Jun 29 17:09:51 kali kernel:  ? ksys_write+0xcd/0xf0
Jun 29 17:09:51 kali kernel:  ? do_syscall_64+0xbe/0x5e0
Jun 29 17:09:51 kali kernel:  ? do_syscall_64+0xbe/0x5e0
Jun 29 17:09:51 kali kernel:  ? do_syscall_64+0xbe/0x5e0
Jun 29 17:09:51 kali kernel:  ? clear_bhb_loop+0x50/0xa0
Jun 29 17:09:51 kali kernel:  ? clear_bhb_loop+0x50/0xa0
Jun 29 17:09:51 kali kernel:  ? clear_bhb_loop+0x50/0xa0
Jun 29 17:09:51 kali kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
Jun 29 17:09:51 kali kernel: RIP: 0033:0x7f608eca5ffe
Jun 29 17:09:51 kali kernel: Code: 08 0f 85 15 47 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 90 48 83 ec 08 bf 01 00 00 00 e8 e2 eb 05 00 bf 01 00 00 00 89
Jun 29 17:09:51 kali kernel: RSP: 002b:00007ffe8f0c9cd8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
Jun 29 17:09:51 kali kernel: RAX: ffffffffffffffda RBX: 000055a317d458c0 RCX: 00007f608eca5ffe
Jun 29 17:09:51 kali kernel: RDX: 0000000000000000 RSI: 00007ffe8f0c9d70 RDI: 000000000000000d
Jun 29 17:09:51 kali kernel: RBP: 00007ffe8f0c9d70 R08: 0000000000000000 R09: 0000000000000000
Jun 29 17:09:51 kali kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 000055a317dd17e0
Jun 29 17:09:51 kali kernel: R13: 0000000000000000 R14: 000000000000008d R15: 00007ffe8f0c9f5c
Jun 29 17:09:51 kali kernel:  </TASK>
Jun 29 17:09:51 kali kernel: Modules linked in: ccm snd_seq_dummy snd_hrtimer snd_seq snd_seq_device snd_ctl_led snd_soc_skl_hda_dsp snd_soc_intel_sof_board_helpers snd_sof_probes snd_soc_intel_hda_dsp_common snd_hda_codec_intelhdmi snd_hda_codec_alc269 snd_hda_scodec_component snd_hda_codec_realtek_lib snd_hda_codec_generic snd_soc_dmic qrtr snd_hda_intel snd_sof_pci_intel_tgl snd_sof_pci_intel_cnl snd_sof_intel_hda_generic soundwire_intel snd_sof_intel_hda_sdw_bpt snd_sof_intel_hda_common sunrpc snd_soc_hdac_hda snd_sof_intel_hda_mlink snd_sof_intel_hda snd_hda_codec_hdmi soundwire_cadence snd_sof_pci snd_sof_xtensa_dsp intel_rapl_msr intel_rapl_common snd_sof snd_sof_utils snd_soc_acpi_intel_match snd_soc_acpi_intel_sdca_quirks soundwire_generic_allocation snd_soc_sdw_utils snd_soc_acpi intel_uncore_frequency crc8 soundwire_bus intel_uncore_frequency_common snd_soc_sdca x86_pkg_temp_thermal snd_soc_avs intel_powerclamp snd_soc_hda_codec mei_hdcp coretemp snd_hda_ext_core snd_hda_codec mei_pxp btusb kvm_intel snd_hda_core btmtk
Jun 29 17:09:51 kali kernel:  mt7615e snd_intel_dspcfg kvm mt7615_common btrtl snd_intel_sdw_acpi btbcm mt76_connac_lib mt76 btintel snd_hwdep irqbypass uvcvideo bluetooth snd_soc_core mac80211 rapl intel_cstate videobuf2_vmalloc snd_compress uvc videobuf2_memops acer_wmi nls_ascii snd_pcm_dmaengine intel_uncore videobuf2_v4l2 nls_cp437 snd_pcm cfg80211 platform_profile videodev snd_timer vfat snd ecdh_generic videobuf2_common pcspkr mc fat soundcore rfkill wmi_bmof mei_me libarc4 mei intel_pmc_core pmt_telemetry pmt_discovery pmt_class ac intel_hid intel_pmc_ssram_telemetry sparse_keymap acer_wireless acpi_pad joydev evdev binfmt_misc efi_pstore nfnetlink efivarfs autofs4 ext4 crc16 mbcache jbd2 crc32c_cryptoapi xe intel_vsec drm_gpuvm configfs drm_gpusvm_helper gpu_sched drm_ttm_helper drm_exec drm_suballoc_helper i915 ahci libahci libata nvme scsi_mod nvme_core nvme_keyring nvme_auth hkdf scsi_common drm_buddy iTCO_wdt ttm intel_pmc_bxt hid_multitouch hid_generic i2c_algo_bit iTCO_vendor_support ghash_clmulni_intel watchdog
Jun 29 17:09:51 kali kernel:  drm_display_helper i2c_hid_acpi cec i2c_hid aesni_intel hid serio_raw rc_core drm_client_lib drm_kms_helper r8169 xhci_pci xhci_hcd realtek drm i2c_i801 usbcore fan battery i2c_smbus button intel_lpss_pci video intel_lpss usb_common vmd idma64 wmi
Jun 29 17:09:51 kali kernel: CR2: 0000000000000000
Jun 29 17:09:51 kali kernel: ---[ end trace 0000000000000000 ]---
Jun 29 17:09:51 kali kernel: pstore: backend (efi_pstore) writing error (-28)
Jun 29 17:09:51 kali kernel: RIP: 0010:mt76_connac_mcu_uni_add_bss+0x144/0x370 [mt76_connac_lib]
Jun 29 17:09:51 kali kernel: Code: 00 00 83 e0 fb 83 f8 03 0f 84 9b 01 00 00 0f 0b 48 8b 43 68 45 31 c9 41 b8 01 00 00 00 4c 89 f7 b9 2c 00 00 00 be 02 00 02 00 <8b> 10 89 54 24 36 0f b7 40 04 48 8d 54 24 24 66 89 44 24 3a 41 0f
Jun 29 17:09:51 kali kernel: RSP: 0018:ffffd209c4893460 EFLAGS: 00010246
Jun 29 17:09:51 kali kernel: RAX: 0000000000000000 RBX: ffff89bb4acff508 RCX: 000000000000002c
Jun 29 17:09:51 kali kernel: RDX: 0000000000000000 RSI: 0000000000020002 RDI: ffff89bb45ff2080
Jun 29 17:09:51 kali kernel: RBP: ffff89bb45ff2080 R08: 0000000000000001 R09: 0000000000000000
Jun 29 17:09:51 kali kernel: R10: ffff89bb45ff227c R11: ffff89bb45ff2294 R12: 0000000000000000
Jun 29 17:09:51 kali kernel: R13: 0000000000000000 R14: ffff89bb45ff2080 R15: ffff89bb4acffae0
Jun 29 17:09:51 kali kernel: FS:  00007f608e035600(0000) GS:ffff89bd635a6000(0000) knlGS:0000000000000000
Jun 29 17:09:51 kali kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Jun 29 17:09:51 kali kernel: CR2: 0000000000000000 CR3: 0000000105dc9006 CR4: 0000000000f70ef0
Jun 29 17:09:51 kali kernel: PKRU: 55555554
Jun 29 17:09:51 kali kernel: note: NetworkManager[627] exited with irqs disabled

^ permalink raw reply

* RE: [PATCH v6 7/9] Bluetooth: hci_sync: Add NVMEM-backed BD address retrieval
From: Kwapulinski, Piotr @ 2026-06-29  9:23 UTC (permalink / raw)
  To: Loic Poulain, Ulf Hansson, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Bjorn Andersson, Konrad Dybcio, Jens Axboe,
	Johannes Berg, Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan, Christian Marangi
  Cc: linux-mmc@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-block@vger.kernel.org, linux-wireless@vger.kernel.org,
	ath10k@lists.infradead.org, linux-bluetooth@vger.kernel.org,
	netdev@vger.kernel.org, daniel@makrotopia.org,
	Bartosz Golaszewski
In-Reply-To: <20260629-block-as-nvmem-v6-7-f02513dcd46d@oss.qualcomm.com>

>-----Original Message-----
>From: Loic Poulain <loic.poulain@oss.qualcomm.com> 
>Sent: Monday, June 29, 2026 10:55 AM
>To: Ulf Hansson <ulfh@kernel.org>; Rob Herring <robh@kernel.org>; Krzysztof Kozlowski <krzk+dt@kernel.org>; Conor Dooley <conor+dt@kernel.org>; Bjorn Andersson <andersson@kernel.org>; Konrad Dybcio <konradybcio@kernel.org>; Jens Axboe <axboe@kernel.dk>; Johannes Berg <johannes@sipsolutions.net>; Jeff Johnson <jjohnson@kernel.org>; Bartosz Golaszewski <brgl@kernel.org>; Marcel Holtmann <marcel@holtmann.org>; Luiz Augusto von Dentz <luiz.dentz@gmail.com>; Balakrishna Godavarthi <quic_bgodavar@quicinc.com>; Rocky Liao <quic_rjliao@quicinc.com>; David S. Miller <davem@davemloft.net>; Eric Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; Simon Horman <horms@kernel.org>; Srinivas Kandagatla <srini@kernel.org>; Andrew Lunn <andrew@lunn.ch>; Heiner Kallweit <hkallweit1@gmail.com>; Russell King <linux@armlinux.org.uk>; Saravana Kannan <saravanak@kernel.org>; Christian Marangi <ansuelsmth@gmail.com>
>Cc: linux-mmc@vger.kernel.org; devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; linux-arm-msm@vger.kernel.org; linux-block@vger.kernel.org; linux-wireless@vger.kernel.org; ath10k@lists.infradead.org; linux-bluetooth@vger.kernel.org; netdev@vger.kernel.org; daniel@makrotopia.org; Loic Poulain <loic.poulain@oss.qualcomm.com>; Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
>Subject: [PATCH v6 7/9] Bluetooth: hci_sync: Add NVMEM-backed BD address retrieval
>
>Some devices store the Bluetooth BD address in non-volatile memory, which can be accessed through the NVMEM framework.
>Similar to Ethernet or WiFi MAC addresses, add support for reading the BD address from a 'local-bd-address' NVMEM cell.
>
>As with the device-tree provided BD address, add a quirk to indicate whether a device or platform should attempt to read the address from NVMEM when no valid in-chip address is present.
>Also add a quirk to indicate if the address is stored in big-endian byte order.
>
>Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
>Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
>---
> include/net/bluetooth/hci.h | 18 ++++++++++++++++++
> net/bluetooth/hci_sync.c    | 39 ++++++++++++++++++++++++++++++++++++++-
> 2 files changed, 56 insertions(+), 1 deletion(-)
>
>diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index 572b1c620c5d653a1fe10b26c1b0ba33e8f4968f..7686466d1109253b0d75edeb5f6a99fb98ce4cc6 100644
>--- a/include/net/bluetooth/hci.h
>+++ b/include/net/bluetooth/hci.h
>@@ -164,6 +164,24 @@ enum {
> 	 */
> 	HCI_QUIRK_BDADDR_PROPERTY_BROKEN,
> 
>+	/* When this quirk is set, the public Bluetooth address
>+	 * initially reported by HCI Read BD Address command
>+	 * is considered invalid. The public BD Address can be
>+	 * retrieved via a 'local-bd-address' NVMEM cell.
>+	 *
>+	 * This quirk can be set before hci_register_dev is called or
>+	 * during the hdev->setup vendor callback.
>+	 */
>+	HCI_QUIRK_USE_BDADDR_NVMEM,
>+
>+	/* When this quirk is set, the Bluetooth Device Address provided by
>+	 * the 'local-bd-address' NVMEM is stored in big-endian order.
>+	 *
>+	 * This quirk can be set before hci_register_dev is called or
>+	 * during the hdev->setup vendor callback.
>+	 */
>+	HCI_QUIRK_BDADDR_NVMEM_BE,
>+
> 	/* When this quirk is set, the duplicate filtering during
> 	 * scanning is based on Bluetooth devices addresses. To allow
> 	 * RSSI based updates, restart scanning if needed.
>diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c index fd3aacdea512a37c22b9a2be90c89ddca4b4d99f..589ccdfa26c1281d6eb979370523fff0d7920302 100644
>--- a/net/bluetooth/hci_sync.c
>+++ b/net/bluetooth/hci_sync.c
>@@ -7,6 +7,7 @@
>  */
> 
> #include <linux/property.h>
>+#include <linux/of_net.h>
> 
> #include <net/bluetooth/bluetooth.h>
> #include <net/bluetooth/hci_core.h>
>@@ -3588,6 +3589,37 @@ int hci_powered_update_sync(struct hci_dev *hdev)
> 	return 0;
> }
> 
>+/**
>+ * hci_dev_get_bd_addr_from_nvmem - Get the Bluetooth Device Address
>+ *				    (BD_ADDR) for a HCI device from
>+ *				    an NVMEM cell.
>+ * @hdev:	The HCI device
>+ *
>+ * Search for 'local-bd-address' NVMEM cell in the device firmware node.
>+ *
>+ * All-zero BD addresses are rejected (unprovisioned).
Please add return value description and
Reviewed-by: Piotr Kwapulinski <piotr.kwapulinski@intel.com>
Thank you.
Piotr

>+ */
>+static int hci_dev_get_bd_addr_from_nvmem(struct hci_dev *hdev) {
>+	struct device_node *np = dev_of_node(hdev->dev.parent);
>+	u8 ba[sizeof(bdaddr_t)];
>+	int err;
>+
>+	if (!np)
>+		return -ENODEV;
>+
>+	err = of_get_nvmem_eui48(np, "local-bd-address", ba);
>+	if (err)
>+		return err;
>+
>+	if (hci_test_quirk(hdev, HCI_QUIRK_BDADDR_NVMEM_BE))
>+		baswap(&hdev->public_addr, (bdaddr_t *)ba);
>+	else
>+		bacpy(&hdev->public_addr, (bdaddr_t *)ba);
>+
>+	return 0;
>+}
>+
> /**
>  * hci_dev_get_bd_addr_from_property - Get the Bluetooth Device Address
>  *				       (BD_ADDR) for a HCI device from
>@@ -5042,12 +5074,17 @@ static int hci_dev_setup_sync(struct hci_dev *hdev)
> 	 * its setup callback.
> 	 */
> 	invalid_bdaddr = hci_test_quirk(hdev, HCI_QUIRK_INVALID_BDADDR) ||
>-			 hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY);
>+			 hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY) ||
>+			 hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_NVMEM);
> 	if (!ret) {
> 		if (hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY) &&
> 		    !bacmp(&hdev->public_addr, BDADDR_ANY))
> 			hci_dev_get_bd_addr_from_property(hdev);
> 
>+		if (hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_NVMEM) &&
>+		    !bacmp(&hdev->public_addr, BDADDR_ANY))
>+			hci_dev_get_bd_addr_from_nvmem(hdev);
>+
> 		if (invalid_bdaddr && bacmp(&hdev->public_addr, BDADDR_ANY) &&
> 		    hdev->set_bdaddr) {
> 			ret = hdev->set_bdaddr(hdev, &hdev->public_addr);
>
>--
>2.34.1
>

^ permalink raw reply

* Re: [PATCH ath-next] wifi: ath12k: Advertise multicast Ethernet encapsulation offload support
From: Rameshkumar Sundaram @ 2026-06-29  9:12 UTC (permalink / raw)
  To: Tamizh Chelvam Raja, ath12k; +Cc: linux-wireless
In-Reply-To: <20260623100501.2100119-1-tamizh.raja@oss.qualcomm.com>

On 6/23/2026 3:35 PM, Tamizh Chelvam Raja wrote:
> Advertise IEEE80211_OFFLOAD_ENCAP_MCAST to inform mac80211 that
> multicast frame encapsulation is handled in hardware. This allows
> mac80211 to pass Ethernet-formatted multicast frames directly to
> the driver.
> 
> In ath12k_wifi7_mac_op_tx(), refine the logic that selects the MLO
> multicast replication path. Add a sta pointer check so that only unicast
> Hardware-encap frames use the direct transmit path, while multicast
> Hardware-encap frames fall through to the MLO replication loop and are
> transmitted on each active link.
> 
> In the MLO replication loop, use skb_clone() for Hardware-encap frames.
> These frames are already in Ethernet format and do not require
> 802.11 link address rewriting by ath12k_mlo_mcast_update_tx_link_address().
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1
> 
> Signed-off-by: Tamizh Chelvam Raja <tamizh.raja@oss.qualcomm.com>

Reviewed-by: Rameshkumar Sundaram <rameshkumar.sundaram@oss.qualcomm.com>


^ permalink raw reply

* [PATCH v6 9/9] arm64: dts: qcom: arduino-imola: Describe NVMEM layout for WiFi/BT addresses
From: Loic Poulain @ 2026-06-29  8:55 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan, Christian Marangi
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain, Konrad Dybcio, Bartosz Golaszewski
In-Reply-To: <20260629-block-as-nvmem-v6-0-f02513dcd46d@oss.qualcomm.com>

On Arduino Uno-Q, the eMMC boot1 partition is factory provisioned
with device-specific information such as the WiFi MAC address
and the Bluetooth BD address. This partition can serve as an
alternative to additional non-volatile memory, such as a
dedicated EEPROM.

The eMMC boot partitions are typically good candidates, as they
are relatively small, read-only by default (and can be enforced
as hardware read-only), and are not affected by board reflashing
procedures, which generally target the eMMC user or GP partitions.

Describe the corresponding nvmem-layout for the WiFi and Bluetooth
addresses, and point the WiFi and Bluetooth nodes to the appropriate
NVMEM cells to retrieve them.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts | 39 ++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts
index bf088fa9807f040f0c8f405f9111b01790b09377..128c7a7e76b5b089044745f5d6407d6391055fc2 100644
--- a/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts
+++ b/arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts
@@ -409,7 +409,40 @@ &sdhc_1 {
 	no-sdio;
 	no-sd;
 
+	#address-cells = <1>;
+	#size-cells = <0>;
+
 	status = "okay";
+
+	card@0 {
+		compatible = "mmc-card";
+		reg = <0>;
+
+		partitions-boot1 {
+			compatible = "fixed-partitions";
+
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			nvmem-layout {
+				compatible = "fixed-layout";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				wifi_mac_addr: mac-addr@4400 {
+					compatible = "mac-base";
+					reg = <0x4400 0x6>;
+					#nvmem-cell-cells = <1>;
+				};
+
+				bd_addr: bd-addr@5400 {
+					compatible = "mac-base";
+					reg = <0x5400 0x6>;
+					#nvmem-cell-cells = <1>;
+				};
+			};
+		};
+	};
 };
 
 &spi5 {
@@ -512,6 +545,9 @@ bluetooth {
 		vddch0-supply = <&pm4125_l22>;
 		enable-gpios = <&tlmm 87 GPIO_ACTIVE_HIGH>;
 		max-speed = <3000000>;
+
+		nvmem-cells = <&bd_addr 0>;
+		nvmem-cell-names = "local-bd-address";
 	};
 };
 
@@ -557,6 +593,9 @@ &wifi {
 	qcom,ath10k-calibration-variant = "ArduinoImola";
 	firmware-name = "qcm2290";
 
+	nvmem-cells = <&wifi_mac_addr 0>;
+	nvmem-cell-names = "mac-address";
+
 	status = "okay";
 };
 

-- 
2.34.1


^ permalink raw reply related

* [PATCH v6 8/9] Bluetooth: qca: Set NVMEM BD address quirks when address is invalid
From: Loic Poulain @ 2026-06-29  8:55 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan, Christian Marangi
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain, Bartosz Golaszewski
In-Reply-To: <20260629-block-as-nvmem-v6-0-f02513dcd46d@oss.qualcomm.com>

When the controller BD address is invalid (zero or default),
set the NVMEM quirks to allow retrieving the address from a
'local-bd-address' NVMEM cell. The BD address is often stored
alongside the WiFi MAC address in big-endian format, so also
set the big-endian quirk.

Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
 drivers/bluetooth/btqca.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
index dda76365726f0bfe0e80e05fe04859fa4f0592e1..df33eacfd29fa680f393f90215150743e6001d5b 100644
--- a/drivers/bluetooth/btqca.c
+++ b/drivers/bluetooth/btqca.c
@@ -721,8 +721,11 @@ static int qca_check_bdaddr(struct hci_dev *hdev, const struct qca_fw_config *co
 	}
 
 	bda = (struct hci_rp_read_bd_addr *)skb->data;
-	if (!bacmp(&bda->bdaddr, &config->bdaddr))
+	if (!bacmp(&bda->bdaddr, &config->bdaddr)) {
 		hci_set_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY);
+		hci_set_quirk(hdev, HCI_QUIRK_USE_BDADDR_NVMEM);
+		hci_set_quirk(hdev, HCI_QUIRK_BDADDR_NVMEM_BE);
+	}
 
 	kfree_skb(skb);
 

-- 
2.34.1


^ permalink raw reply related

* [PATCH v6 7/9] Bluetooth: hci_sync: Add NVMEM-backed BD address retrieval
From: Loic Poulain @ 2026-06-29  8:55 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan, Christian Marangi
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain, Bartosz Golaszewski
In-Reply-To: <20260629-block-as-nvmem-v6-0-f02513dcd46d@oss.qualcomm.com>

Some devices store the Bluetooth BD address in non-volatile
memory, which can be accessed through the NVMEM framework.
Similar to Ethernet or WiFi MAC addresses, add support for
reading the BD address from a 'local-bd-address' NVMEM cell.

As with the device-tree provided BD address, add a quirk to
indicate whether a device or platform should attempt to read
the address from NVMEM when no valid in-chip address is present.
Also add a quirk to indicate if the address is stored in
big-endian byte order.

Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
 include/net/bluetooth/hci.h | 18 ++++++++++++++++++
 net/bluetooth/hci_sync.c    | 39 ++++++++++++++++++++++++++++++++++++++-
 2 files changed, 56 insertions(+), 1 deletion(-)

diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
index 572b1c620c5d653a1fe10b26c1b0ba33e8f4968f..7686466d1109253b0d75edeb5f6a99fb98ce4cc6 100644
--- a/include/net/bluetooth/hci.h
+++ b/include/net/bluetooth/hci.h
@@ -164,6 +164,24 @@ enum {
 	 */
 	HCI_QUIRK_BDADDR_PROPERTY_BROKEN,
 
+	/* When this quirk is set, the public Bluetooth address
+	 * initially reported by HCI Read BD Address command
+	 * is considered invalid. The public BD Address can be
+	 * retrieved via a 'local-bd-address' NVMEM cell.
+	 *
+	 * This quirk can be set before hci_register_dev is called or
+	 * during the hdev->setup vendor callback.
+	 */
+	HCI_QUIRK_USE_BDADDR_NVMEM,
+
+	/* When this quirk is set, the Bluetooth Device Address provided by
+	 * the 'local-bd-address' NVMEM is stored in big-endian order.
+	 *
+	 * This quirk can be set before hci_register_dev is called or
+	 * during the hdev->setup vendor callback.
+	 */
+	HCI_QUIRK_BDADDR_NVMEM_BE,
+
 	/* When this quirk is set, the duplicate filtering during
 	 * scanning is based on Bluetooth devices addresses. To allow
 	 * RSSI based updates, restart scanning if needed.
diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
index fd3aacdea512a37c22b9a2be90c89ddca4b4d99f..589ccdfa26c1281d6eb979370523fff0d7920302 100644
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
@@ -7,6 +7,7 @@
  */
 
 #include <linux/property.h>
+#include <linux/of_net.h>
 
 #include <net/bluetooth/bluetooth.h>
 #include <net/bluetooth/hci_core.h>
@@ -3588,6 +3589,37 @@ int hci_powered_update_sync(struct hci_dev *hdev)
 	return 0;
 }
 
+/**
+ * hci_dev_get_bd_addr_from_nvmem - Get the Bluetooth Device Address
+ *				    (BD_ADDR) for a HCI device from
+ *				    an NVMEM cell.
+ * @hdev:	The HCI device
+ *
+ * Search for 'local-bd-address' NVMEM cell in the device firmware node.
+ *
+ * All-zero BD addresses are rejected (unprovisioned).
+ */
+static int hci_dev_get_bd_addr_from_nvmem(struct hci_dev *hdev)
+{
+	struct device_node *np = dev_of_node(hdev->dev.parent);
+	u8 ba[sizeof(bdaddr_t)];
+	int err;
+
+	if (!np)
+		return -ENODEV;
+
+	err = of_get_nvmem_eui48(np, "local-bd-address", ba);
+	if (err)
+		return err;
+
+	if (hci_test_quirk(hdev, HCI_QUIRK_BDADDR_NVMEM_BE))
+		baswap(&hdev->public_addr, (bdaddr_t *)ba);
+	else
+		bacpy(&hdev->public_addr, (bdaddr_t *)ba);
+
+	return 0;
+}
+
 /**
  * hci_dev_get_bd_addr_from_property - Get the Bluetooth Device Address
  *				       (BD_ADDR) for a HCI device from
@@ -5042,12 +5074,17 @@ static int hci_dev_setup_sync(struct hci_dev *hdev)
 	 * its setup callback.
 	 */
 	invalid_bdaddr = hci_test_quirk(hdev, HCI_QUIRK_INVALID_BDADDR) ||
-			 hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY);
+			 hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY) ||
+			 hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_NVMEM);
 	if (!ret) {
 		if (hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY) &&
 		    !bacmp(&hdev->public_addr, BDADDR_ANY))
 			hci_dev_get_bd_addr_from_property(hdev);
 
+		if (hci_test_quirk(hdev, HCI_QUIRK_USE_BDADDR_NVMEM) &&
+		    !bacmp(&hdev->public_addr, BDADDR_ANY))
+			hci_dev_get_bd_addr_from_nvmem(hdev);
+
 		if (invalid_bdaddr && bacmp(&hdev->public_addr, BDADDR_ANY) &&
 		    hdev->set_bdaddr) {
 			ret = hdev->set_bdaddr(hdev, &hdev->public_addr);

-- 
2.34.1


^ permalink raw reply related

* [PATCH v6 6/9] net: of_net: Add of_get_nvmem_eui48() helper for EUI-48 lookup
From: Loic Poulain @ 2026-06-29  8:55 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan, Christian Marangi
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain, Bartosz Golaszewski
In-Reply-To: <20260629-block-as-nvmem-v6-0-f02513dcd46d@oss.qualcomm.com>

Factor out the common NVMEM EUI-48 retrieval logic from
of_get_mac_address_nvmem() into a new of_get_nvmem_eui48() helper that
accepts the NVMEM cell name as a parameter. This allows other subsystems
(e.g. Bluetooth) to reuse the same lookup-validate-copy pattern with a
different cell name, without duplicating code.

of_get_mac_address_nvmem() is updated to call of_get_nvmem_eui48() with
"mac-address", preserving its existing behavior.

Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
 include/linux/of_net.h |  7 +++++++
 net/core/of_net.c      | 49 +++++++++++++++++++++++++++++++++++++------------
 2 files changed, 44 insertions(+), 12 deletions(-)

diff --git a/include/linux/of_net.h b/include/linux/of_net.h
index d88715a0b3a52f87af23d47791bea3baf5be5200..7854ba555d9a55f3d020a37fe00a27ae52e0e5dc 100644
--- a/include/linux/of_net.h
+++ b/include/linux/of_net.h
@@ -15,6 +15,7 @@ struct net_device;
 extern int of_get_phy_mode(struct device_node *np, phy_interface_t *interface);
 extern int of_get_mac_address(struct device_node *np, u8 *mac);
 extern int of_get_mac_address_nvmem(struct device_node *np, u8 *mac);
+int of_get_nvmem_eui48(struct device_node *np, const char *cell_name, u8 *addr);
 int of_get_ethdev_address(struct device_node *np, struct net_device *dev);
 extern struct net_device *of_find_net_device_by_node(struct device_node *np);
 #else
@@ -34,6 +35,12 @@ static inline int of_get_mac_address_nvmem(struct device_node *np, u8 *mac)
 	return -ENODEV;
 }
 
+static inline int of_get_nvmem_eui48(struct device_node *np,
+				      const char *cell_name, u8 *addr)
+{
+	return -ENODEV;
+}
+
 static inline int of_get_ethdev_address(struct device_node *np, struct net_device *dev)
 {
 	return -ENODEV;
diff --git a/net/core/of_net.c b/net/core/of_net.c
index 93ea425b9248a23f4f95a336e9cdbf0053248e32..11c1acca151266ac9287457b4050a54b08e2b5f5 100644
--- a/net/core/of_net.c
+++ b/net/core/of_net.c
@@ -61,9 +61,7 @@ static int of_get_mac_addr(struct device_node *np, const char *name, u8 *addr)
 int of_get_mac_address_nvmem(struct device_node *np, u8 *addr)
 {
 	struct platform_device *pdev = of_find_device_by_node(np);
-	struct nvmem_cell *cell;
-	const void *mac;
-	size_t len;
+	u8 mac[ETH_ALEN] __aligned(sizeof(u16));
 	int ret;
 
 	/* Try lookup by device first, there might be a nvmem_cell_lookup
@@ -75,27 +73,54 @@ int of_get_mac_address_nvmem(struct device_node *np, u8 *addr)
 		return ret;
 	}
 
-	cell = of_nvmem_cell_get(np, "mac-address");
+	ret = of_get_nvmem_eui48(np, "mac-address", mac);
+	if (ret)
+		return ret;
+
+	if (!is_valid_ether_addr(mac))
+		return -EINVAL;
+
+	ether_addr_copy(addr, mac);
+	return 0;
+}
+EXPORT_SYMBOL(of_get_mac_address_nvmem);
+
+/**
+ * of_get_nvmem_eui48 - Read a 6-byte EUI-48 address from a named NVMEM cell.
+ * @np:		Device node to look up the NVMEM cell from.
+ * @cell_name:	Name of the NVMEM cell (e.g. "mac-address", "local-bd-address").
+ * @addr:	Output buffer for the 6-byte address.
+ *
+ * Reads the named NVMEM cell and validates that it contains a non-zero 6-byte
+ * address. Returns 0 on success, negative errno on failure.
+ */
+int of_get_nvmem_eui48(struct device_node *np, const char *cell_name, u8 *addr)
+{
+	struct nvmem_cell *cell;
+	const void *eui48;
+	size_t len;
+
+	cell = of_nvmem_cell_get(np, cell_name);
 	if (IS_ERR(cell))
 		return PTR_ERR(cell);
 
-	mac = nvmem_cell_read(cell, &len);
+	eui48 = nvmem_cell_read(cell, &len);
 	nvmem_cell_put(cell);
 
-	if (IS_ERR(mac))
-		return PTR_ERR(mac);
+	if (IS_ERR(eui48))
+		return PTR_ERR(eui48);
 
-	if (len != ETH_ALEN || !is_valid_ether_addr(mac)) {
-		kfree(mac);
+	if (len != ETH_ALEN || !memchr_inv(eui48, 0, ETH_ALEN)) {
+		kfree(eui48);
 		return -EINVAL;
 	}
 
-	memcpy(addr, mac, ETH_ALEN);
-	kfree(mac);
+	memcpy(addr, eui48, ETH_ALEN);
+	kfree(eui48);
 
 	return 0;
 }
-EXPORT_SYMBOL(of_get_mac_address_nvmem);
+EXPORT_SYMBOL_GPL(of_get_nvmem_eui48);
 
 /**
  * of_get_mac_address()

-- 
2.34.1


^ permalink raw reply related

* [PATCH v6 5/9] block: implement NVMEM provider
From: Loic Poulain @ 2026-06-29  8:55 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan, Christian Marangi
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain
In-Reply-To: <20260629-block-as-nvmem-v6-0-f02513dcd46d@oss.qualcomm.com>

From: Daniel Golle <daniel@makrotopia.org>

On embedded devices using an eMMC it is common that one or more partitions
on the eMMC are used to store MAC addresses and Wi-Fi calibration EEPROM
data. Allow referencing the partition in device tree for the kernel and
Wi-Fi drivers accessing it via the NVMEM layer.

For now, NVMEM is only registered for the whole disk block device, as the
OF node is currently only associated to it.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Co-developed-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
 block/Kconfig             |   9 ++++
 block/Makefile            |   1 +
 block/blk-nvmem.c         | 111 ++++++++++++++++++++++++++++++++++++++++++++++
 block/blk.h               |   8 ++++
 block/genhd.c             |   4 ++
 include/linux/blk_types.h |   3 ++
 include/linux/blkdev.h    |   1 +
 7 files changed, 137 insertions(+)

diff --git a/block/Kconfig b/block/Kconfig
index 15027963472d7b40e27b9097a5993c457b5b3054..0b33747e16dc33473683706f75c92bdf8b648f7c 100644
--- a/block/Kconfig
+++ b/block/Kconfig
@@ -209,6 +209,15 @@ config BLK_INLINE_ENCRYPTION_FALLBACK
 	  by falling back to the kernel crypto API when inline
 	  encryption hardware is not present.
 
+config BLK_NVMEM
+	bool "Block device NVMEM provider"
+	depends on OF
+	depends on NVMEM
+	help
+	  Allow block devices (or partitions) to act as NVMEM providers,
+	  typically used with eMMC to store MAC addresses or Wi-Fi
+	  calibration data on embedded devices.
+
 source "block/partitions/Kconfig"
 
 config BLK_PM
diff --git a/block/Makefile b/block/Makefile
index 7dce2e44276c4274c11a0a61121c83d9c43d6e0c..d7ac389e71902bc091a8800ea266190a43b3e63d 100644
--- a/block/Makefile
+++ b/block/Makefile
@@ -36,3 +36,4 @@ obj-$(CONFIG_BLK_INLINE_ENCRYPTION)	+= blk-crypto.o blk-crypto-profile.o \
 					   blk-crypto-sysfs.o
 obj-$(CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK)	+= blk-crypto-fallback.o
 obj-$(CONFIG_BLOCK_HOLDER_DEPRECATED)	+= holder.o
+obj-$(CONFIG_BLK_NVMEM)                += blk-nvmem.o
diff --git a/block/blk-nvmem.c b/block/blk-nvmem.c
new file mode 100644
index 0000000000000000000000000000000000000000..4b35a74255059320ef0cbd3c0003f1510bae5733
--- /dev/null
+++ b/block/blk-nvmem.c
@@ -0,0 +1,111 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * block device NVMEM provider
+ *
+ * Copyright (c) 2024 Daniel Golle <daniel@makrotopia.org>
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ *
+ * Useful on devices using a partition on an eMMC for MAC addresses or
+ * Wi-Fi calibration EEPROM data.
+ */
+
+#include <linux/file.h>
+#include <linux/nvmem-provider.h>
+#include <linux/nvmem-consumer.h>
+#include <linux/of.h>
+#include <linux/pagemap.h>
+#include <linux/property.h>
+
+#include "blk.h"
+
+static int blk_nvmem_reg_read(void *priv, unsigned int from, void *val, size_t bytes)
+{
+	dev_t devt = (dev_t)(uintptr_t)priv;
+	size_t bytes_left = bytes;
+	loff_t pos = from;
+	int ret = 0;
+
+	struct file *bdev_file __free(fput) =
+		bdev_file_open_by_dev(devt, BLK_OPEN_READ, NULL, NULL);
+	if (IS_ERR(bdev_file))
+		return PTR_ERR(bdev_file);
+
+	while (bytes_left) {
+		pgoff_t f_index = pos >> PAGE_SHIFT;
+		struct folio *folio;
+		size_t folio_off;
+		size_t to_read;
+
+		folio = read_mapping_folio(bdev_file->f_mapping, f_index, NULL);
+		if (IS_ERR(folio)) {
+			ret = PTR_ERR(folio);
+			break;
+		}
+
+		folio_off = offset_in_folio(folio, pos);
+		to_read = min(bytes_left, folio_size(folio) - folio_off);
+		memcpy_from_folio(val, folio, folio_off, to_read);
+		pos += to_read;
+		bytes_left -= to_read;
+		val += to_read;
+		folio_put(folio);
+	}
+
+	return ret;
+}
+
+int blk_nvmem_add(struct block_device *bdev)
+{
+	struct device *dev = &bdev->bd_device;
+	struct nvmem_config config = {};
+
+	/* skip devices which do not have a device tree node */
+	if (!dev_of_node(dev))
+		return 0;
+
+	/* skip devices without an nvmem layout defined */
+	struct device_node *child __free(device_node) =
+		of_get_child_by_name(dev_of_node(dev), "nvmem-layout");
+	if (!child)
+		return 0;
+
+	/*
+	 * skip block device too large to be represented as NVMEM devices,
+	 * nvmem_config.size is a signed int
+	 */
+	if (bdev_nr_bytes(bdev) > INT_MAX) {
+		dev_warn(dev, "block device too large to be an NVMEM provider\n");
+		return 0;
+	}
+
+	config.id = NVMEM_DEVID_NONE;
+	config.dev = dev;
+	config.name = dev_name(dev);
+	config.owner = THIS_MODULE;
+	config.priv = (void *)(uintptr_t)dev->devt;
+	config.reg_read = blk_nvmem_reg_read;
+	config.size = bdev_nr_bytes(bdev);
+	config.word_size = 1;
+	config.stride = 1;
+	config.read_only = true;
+	config.root_only = true;
+	config.ignore_wp = true;
+	config.of_node = to_of_node(dev->fwnode);
+
+	bdev->bd_nvmem = nvmem_register(&config);
+	if (IS_ERR(bdev->bd_nvmem)) {
+		int ret = PTR_ERR(bdev->bd_nvmem);
+
+		bdev->bd_nvmem = NULL;
+		dev_err_probe(dev, ret, "Failed to register NVMEM device\n");
+		return ret;
+	}
+
+	return 0;
+}
+
+void blk_nvmem_del(struct block_device *bdev)
+{
+	nvmem_unregister(bdev->bd_nvmem);
+	bdev->bd_nvmem = NULL;
+}
diff --git a/block/blk.h b/block/blk.h
index ec4674cdf2ead4fd259ff5fc42401f591e684ee9..ed0c10168ba7be10855509637f824a9cea2b9ccb 100644
--- a/block/blk.h
+++ b/block/blk.h
@@ -757,4 +757,12 @@ static inline void blk_debugfs_unlock(struct request_queue *q,
 	memalloc_noio_restore(memflags);
 }
 
+#ifdef CONFIG_BLK_NVMEM
+int blk_nvmem_add(struct block_device *bdev);
+void blk_nvmem_del(struct block_device *bdev);
+#else
+static inline int blk_nvmem_add(struct block_device *bdev) { return 0; }
+static inline void blk_nvmem_del(struct block_device *bdev) {}
+#endif
+
 #endif /* BLK_INTERNAL_H */
diff --git a/block/genhd.c b/block/genhd.c
index 7d6854fd28e95ae9134309679a7c6a937f5b7db8..1b2382de6fb30c1e5f60f45c04dc03ed3bf5d5f2 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -421,6 +421,8 @@ static void add_disk_final(struct gendisk *disk)
 		 */
 		dev_set_uevent_suppress(ddev, 0);
 		disk_uevent(disk, KOBJ_ADD);
+
+		blk_nvmem_add(disk->part0);
 	}
 
 	blk_apply_bdi_limits(disk->bdi, &disk->queue->limits);
@@ -704,6 +706,8 @@ static void __del_gendisk(struct gendisk *disk)
 
 	disk_del_events(disk);
 
+	blk_nvmem_del(disk->part0);
+
 	/*
 	 * Prevent new openers by unlinked the bdev inode.
 	 */
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index 8808ee76e73c09e0ceaac41ba59e86fb0c4efc64..ace6f59b860d0813665b2f62a1c03a1f4be94059 100644
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -73,6 +73,9 @@ struct block_device {
 	int			bd_writers;
 #ifdef CONFIG_SECURITY
 	void			*bd_security;
+#endif
+#ifdef CONFIG_BLK_NVMEM
+	struct nvmem_device	*bd_nvmem;
 #endif
 	/*
 	 * keep this out-of-line as it's both big and not needed in the fast
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 890128cdea1ce66863c5baa36f3b336ec4550807..f15d2b5bf9e4fd2368b8a70416a978e22c0d4333 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -30,6 +30,7 @@
 
 struct module;
 struct request_queue;
+struct nvmem_device;
 struct elevator_queue;
 struct blk_trace;
 struct request;

-- 
2.34.1


^ permalink raw reply related

* [PATCH v6 4/9] dt-bindings: bluetooth: qcom: Add NVMEM BD address cell
From: Loic Poulain @ 2026-06-29  8:55 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan, Christian Marangi
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain, Bartosz Golaszewski
In-Reply-To: <20260629-block-as-nvmem-v6-0-f02513dcd46d@oss.qualcomm.com>

Add support for an NVMEM cell provider for "local-bd-address",
allowing the Bluetooth stack to retrieve controller's BD address
from non-volatile storage such as an EEPROM or an eMMC partition.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
 .../devicetree/bindings/net/bluetooth/qcom,bluetooth-common.yaml | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/bluetooth/qcom,bluetooth-common.yaml b/Documentation/devicetree/bindings/net/bluetooth/qcom,bluetooth-common.yaml
index c8e9c55c1afb4c8e05ba2dae41ce2db4194b4a0f..7cb28f30c9af032082f23311f2fc89a32f266f17 100644
--- a/Documentation/devicetree/bindings/net/bluetooth/qcom,bluetooth-common.yaml
+++ b/Documentation/devicetree/bindings/net/bluetooth/qcom,bluetooth-common.yaml
@@ -22,4 +22,13 @@ properties:
     description:
       boot firmware is incorrectly passing the address in big-endian order
 
+  nvmem-cells:
+    maxItems: 1
+    description:
+      Nvmem data cell that contains a 6 byte BD address with the most
+      significant byte first (big-endian).
+
+  nvmem-cell-names:
+    const: local-bd-address
+
 additionalProperties: true

-- 
2.34.1


^ permalink raw reply related

* [PATCH v6 3/9] dt-bindings: net: wireless: qcom,ath10k: Document NVMEM cells
From: Loic Poulain @ 2026-06-29  8:55 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan, Christian Marangi
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain, Bartosz Golaszewski, Krzysztof Kozlowski
In-Reply-To: <20260629-block-as-nvmem-v6-0-f02513dcd46d@oss.qualcomm.com>

Document the NVMEM cells supported by the ath10k driver, the
mac-address, pre-calibration data, and calibration data.

Since such data may also originate from chipset OTP or be supplied
via other device tree structures. All of these cells are optional
and can be provided independently, in any combination.

Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
 .../devicetree/bindings/net/wireless/qcom,ath10k.yaml    | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
index c21d66c7cd558ab792524be9afec8b79272d1c87..878c5d833a9cb073520c256c1b72d0f1489e7f4a 100644
--- a/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
+++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath10k.yaml
@@ -92,6 +92,22 @@ properties:
 
   ieee80211-freq-limit: true
 
+  nvmem-cells:
+    minItems: 1
+    maxItems: 3
+    description:
+      References to nvmem cells for MAC address and/or calibration data.
+      Supported cell names are mac-address, calibration, and pre-calibration.
+
+  nvmem-cell-names:
+    minItems: 1
+    maxItems: 3
+    items:
+      enum:
+        - mac-address
+        - calibration
+        - pre-calibration
+
   qcom,calibration-data:
     $ref: /schemas/types.yaml#/definitions/uint8-array
     description:

-- 
2.34.1


^ permalink raw reply related

* [PATCH v6 2/9] dt-bindings: mmc: Document support for nvmem-layout
From: Loic Poulain @ 2026-06-29  8:55 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan, Christian Marangi
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain, Bartosz Golaszewski
In-Reply-To: <20260629-block-as-nvmem-v6-0-f02513dcd46d@oss.qualcomm.com>

Add support for an nvmem-layout subnode under an eMMC hardware
partition. This allows the partition to be exposed as an NVMEM
provider and its internal layout to be described. For example,
an eMMC boot partition can be used to store device-specific
information such as a WiFi MAC address.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
 .../devicetree/bindings/mmc/mmc-card.yaml          | 29 ++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/Documentation/devicetree/bindings/mmc/mmc-card.yaml b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
index a61d6c96df759102f9c1fbfd548b026a77921cae..ca907ad73095925b234b119948f94ae81e698c86 100644
--- a/Documentation/devicetree/bindings/mmc/mmc-card.yaml
+++ b/Documentation/devicetree/bindings/mmc/mmc-card.yaml
@@ -40,6 +40,9 @@ patternProperties:
         contains:
           const: fixed-partitions
 
+      nvmem-layout:
+        $ref: /schemas/nvmem/layouts/nvmem-layout.yaml
+
 required:
   - compatible
   - reg
@@ -86,6 +89,32 @@ examples:
                     read-only;
                 };
             };
+
+            partitions-boot2 {
+                compatible = "fixed-partitions";
+
+                #address-cells = <1>;
+                #size-cells = <1>;
+
+                nvmem-layout {
+                    compatible = "fixed-layout";
+
+                    #address-cells = <1>;
+                    #size-cells = <1>;
+
+                    mac-addr@4400 {
+                        compatible = "mac-base";
+                        reg = <0x4400 0x6>;
+                        #nvmem-cell-cells = <1>;
+                    };
+
+                    bd-addr@5400 {
+                        compatible = "mac-base";
+                        reg = <0x5400 0x6>;
+                        #nvmem-cell-cells = <1>;
+                    };
+                };
+            };
         };
     };
 

-- 
2.34.1


^ permalink raw reply related

* [PATCH v6 1/9] block: partitions: of: Skip child nodes without reg property
From: Loic Poulain @ 2026-06-29  8:55 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan, Christian Marangi
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain, stable, Bartosz Golaszewski
In-Reply-To: <20260629-block-as-nvmem-v6-0-f02513dcd46d@oss.qualcomm.com>

Child nodes of a fixed-partitions node are not necessarily partition
entries, for example an nvmem-layout node has no reg property. The
current code passes a NULL reg pointer and uninitialized len to the
length check, which can result in a kernel panic or silent failure to
register any partitions.

Fix validate_of_partition() to return a skip indicator when no reg
property is present. Guard add_of_partition() with a reg property
check for the same reason.

Fixes: 2e3a191e89f9 ("block: add support for partition table defined in OF")
Cc: stable@vger.kernel.org
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
 block/partitions/of.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/block/partitions/of.c b/block/partitions/of.c
index c22b6066109819c71568f73e8db8833d196b1cf6..534e02a9d85f62611d880af9b302d9fd49aa4d46 100644
--- a/block/partitions/of.c
+++ b/block/partitions/of.c
@@ -15,6 +15,10 @@ static int validate_of_partition(struct device_node *np, int slot)
 	int a_cells = of_n_addr_cells(np);
 	int s_cells = of_n_size_cells(np);
 
+	/* Skip nodes without a reg property (e.g. nvmem-layout) */
+	if (!reg)
+		return 1;
+
 	/* Make sure reg len match the expected addr and size cells */
 	if (len / sizeof(*reg) != a_cells + s_cells)
 		return -EINVAL;
@@ -80,14 +84,15 @@ int of_partition(struct parsed_partitions *state)
 	slot = 1;
 	/* Validate parition offset and size */
 	for_each_child_of_node(partitions_np, np) {
-		if (validate_of_partition(np, slot)) {
+		int err = validate_of_partition(np, slot);
+
+		if (err < 0) {
 			of_node_put(np);
 			of_node_put(partitions_np);
-
 			return -1;
 		}
-
-		slot++;
+		if (!err)
+			slot++;
 	}
 
 	slot = 1;
@@ -97,9 +102,10 @@ int of_partition(struct parsed_partitions *state)
 			break;
 		}
 
-		add_of_partition(state, slot, np);
-
-		slot++;
+		if (of_property_present(np, "reg")) {
+			add_of_partition(state, slot, np);
+			slot++;
+		}
 	}
 
 	seq_buf_puts(&state->pp_buf, "\n");

-- 
2.34.1


^ permalink raw reply related

* [PATCH v6 0/9] Support for block device NVMEM providers
From: Loic Poulain @ 2026-06-29  8:55 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bjorn Andersson, Konrad Dybcio, Jens Axboe, Johannes Berg,
	Jeff Johnson, Bartosz Golaszewski, Marcel Holtmann,
	Luiz Augusto von Dentz, Balakrishna Godavarthi, Rocky Liao,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Srinivas Kandagatla, Andrew Lunn, Heiner Kallweit,
	Russell King, Saravana Kannan, Christian Marangi
  Cc: linux-mmc, devicetree, linux-kernel, linux-arm-msm, linux-block,
	linux-wireless, ath10k, linux-bluetooth, netdev, daniel,
	Loic Poulain, stable, Bartosz Golaszewski, Krzysztof Kozlowski,
	Konrad Dybcio

On embedded devices, it is common for factory provisioning to store
device-specific information, such as Ethernet or WiFi MAC addresses,
in a dedicated area of an eMMC partition. This avoids the need for
and additional EEPROM/OTP and leverages the persistence of eMMC.

One example is the Arduino UNO-Q, where the WiFi MAC address and the
Bluetooth Device address are stored in the eMMC Boot1 partition.

Until now, accessing this information required a custom bootloader
to read the data and inject it into the Device Tree before handing
control over to the kernel. This approach is fragile and leads to
device-specific workarounds.

Rather than adding a new NVMEM provider specifically to the eMMC
subsystem, the new support operates at the block layer, allowing any
block device to behave like other non-volatile memories such as EEPROM
or OTP.

This series builds on earlier work by Daniel Golle that enables block
devices to act as NVMEM providers:
https://lore.kernel.org/all/6061aa4201030b9bb2f8d03ef32a564fdb786ed1.1709667858.git.daniel@makrotopia.org/

It also introduces an NVMEM layout description for the Arduino UNO-Q,
allowing device-specific data stored in the eMMC Boot1 partition to
be accessed in a standard way.

WiFi and Ethernet already support retrieving MAC addresses from NVMEM.
Bluetooth requires similar support, which is also addressed.

Note that this is currently limited to MMC-backed block devices, as
only the MMC core associates a firmware node with the block device
(add_disk_fwnode). This can be easily extended in the future to
support additional block drivers.

Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
---
Changes in v6:
- blk_nvmem_add() returns int, error properly propagated (Bartosz)
- Redundant if (bdev->bd_nvmem) guard removed in blk_nvmem_del() (Bartosz)
- Size guard changed from UINT_MAX → INT_MAX to avoid signed overflow in config.size (sashiko)
- BLK_OPEN_RESTRICT_WRITES removed from blk_nvmem_reg_read() (sashiko)
- Link to v5: https://lore.kernel.org/r/20260612-block-as-nvmem-v5-0-95e0b30fff90@oss.qualcomm.com

Changes in v5:
- Fixed ath10k binding issue + extended commit message (Krzysztof)
- Moved blk-nvmem handling to block core instead of a class_interface
  This allows correct/robust integration with block device life cycle (Bartosz).
- block: partitions: of: Skip child nodes without reg property (sashiko)
- Link to v4: https://lore.kernel.org/r/20260609-block-as-nvmem-v4-0-45712e6b22c6@oss.qualcomm.com

Changes in v4:
- Fix squash issue (dts commit incorrectly squashed) (Konrad)
- Use devres for nvmem resources (Bartosz)
- use __free() destructor helper when possible (Bartosz)
- Fix value return checking for bdev_file_open_by_dev
- Link to v3: https://lore.kernel.org/r/20260608-block-as-nvmem-v3-0-82681f50aa35@oss.qualcomm.com

Changes in v3:
- Fixed missing 'fixed-partitions' compatible in partition (Rob)
- Fixed clashing nvmem cells, document calibration along mac (Sashiko)
- Remove workaround to handle dangling nvmem references after
  unregistering, this is a generic nvmem framework issue handled
  in Bartosz's series:
   https://lore.kernel.org/all/20260429-nvmem-unbind-v3-0-2a694f95395b@oss.qualcomm.com/
- Validate mac (is_valid_ether_addr) before copying to output buffer
- Link to v2: https://lore.kernel.org/r/20260507-block-as-nvmem-v2-0-bf17edd5134e@oss.qualcomm.com

Changes in v2:
- Fix example nvmem-layout cells to use compatible = "mac-base"
- Squash WiFi MAC and Bluetooth BD address consumer patches into the nvmem layout patch
- Fix possible use-after-free in blk-nvmem: bnv (nvmem priv) linked to nvmem lifetime
- Simplify nvmem-cell-names from items: - const: to plain const:
- Factor out common NVMEM EUI-48 retrieval logic
- Reorder changes
- Link to v1: https://lore.kernel.org/r/20260428-block-as-nvmem-v1-0-6ad23e75190a@oss.qualcomm.com

---
Daniel Golle (1):
      block: implement NVMEM provider

Loic Poulain (8):
      block: partitions: of: Skip child nodes without reg property
      dt-bindings: mmc: Document support for nvmem-layout
      dt-bindings: net: wireless: qcom,ath10k: Document NVMEM cells
      dt-bindings: bluetooth: qcom: Add NVMEM BD address cell
      net: of_net: Add of_get_nvmem_eui48() helper for EUI-48 lookup
      Bluetooth: hci_sync: Add NVMEM-backed BD address retrieval
      Bluetooth: qca: Set NVMEM BD address quirks when address is invalid
      arm64: dts: qcom: arduino-imola: Describe NVMEM layout for WiFi/BT addresses

 .../devicetree/bindings/mmc/mmc-card.yaml          |  29 ++++++
 .../net/bluetooth/qcom,bluetooth-common.yaml       |   9 ++
 .../bindings/net/wireless/qcom,ath10k.yaml         |  16 +++
 arch/arm64/boot/dts/qcom/qrb2210-arduino-imola.dts |  39 ++++++++
 block/Kconfig                                      |   9 ++
 block/Makefile                                     |   1 +
 block/blk-nvmem.c                                  | 111 +++++++++++++++++++++
 block/blk.h                                        |   8 ++
 block/genhd.c                                      |   4 +
 block/partitions/of.c                              |  20 ++--
 drivers/bluetooth/btqca.c                          |   5 +-
 include/linux/blk_types.h                          |   3 +
 include/linux/blkdev.h                             |   1 +
 include/linux/of_net.h                             |   7 ++
 include/net/bluetooth/hci.h                        |  18 ++++
 net/bluetooth/hci_sync.c                           |  39 +++++++-
 net/core/of_net.c                                  |  49 ++++++---
 17 files changed, 347 insertions(+), 21 deletions(-)
---
base-commit: 47c4835fc0fed583d01d90387b67633950eba2b2
change-id: 20260428-block-as-nvmem-4b308e8bda9a

Best regards,
-- 
Loic Poulain <loic.poulain@oss.qualcomm.com>


^ permalink raw reply

* Re: [patch 09/24] timekeeping: Add CLOCK_AUX support for ktime_get_snapshot_id()
From: Thomas Gleixner @ 2026-06-29  8:39 UTC (permalink / raw)
  To: Thomas Weißschuh
  Cc: LKML, David Woodhouse, Miroslav Lichvar, John Stultz,
	Stephen Boyd, Anna-Maria Behnsen, Frederic Weisbecker,
	Arthur Kiyanovski, Rodolfo Giometti, Vincent Donnefort,
	Marc Zyngier, Oliver Upton, kvmarm, Oliver Upton, Richard Cochran,
	netdev, Takashi Iwai, Miri Korenblit, Johannes Berg, Jacob Keller,
	Tony Nguyen, Saeed Mahameed, Peter Hilber, Michael S. Tsirkin,
	virtualization, linux-wireless, linux-sound
In-Reply-To: <20260629055344-b74c43de-2a2b-4608-ae4e-ed0ac8e12fd1@linutronix.de>

On Mon, Jun 29 2026 at 05:55, Thomas Weißschuh wrote:
> On Fri, Jun 26, 2026 at 05:17:52PM +0200, Thomas Gleixner wrote:
>> On Fri, Jun 26 2026 at 13:03, Thomas Weißschuh wrote:
>> > On Fri, Jun 26, 2026 at 12:49:41PM +0200, Thomas Gleixner wrote:
>> >> On Fri, Jun 26 2026 at 10:48, Thomas Weißschuh wrote:
>> >> > On Tue, May 26, 2026 at 07:14:13PM +0200, Thomas Gleixner wrote:
>> >> > (...)
>> >> >
>> >> >>  static inline void tk_update_aux_offs(struct timekeeper *tk, ktime_t offs)
>> >> >> @@ -1218,6 +1223,12 @@ bool ktime_get_snapshot_id(struct system
>> >> >>  		tkd = &tk_core;
>> >> >>  		offs = &tk_core.timekeeper.offs_boot;
>> >> >>  		break;
>> >> >> +	case CLOCK_AUX ... CLOCK_AUX_LAST:
>> >> >> +		tkd = aux_get_tk_data(clock_id);
>> >> >> +		if (!tkd)
>> >> >> +			return false;
>> >> >> +		offs = &tkd->timekeeper.offs_aux;
>> >> >> +		break;
>> >> >
>> >> > 'tkd' is also used to compute 'monoraw'. However 'tkr_raw' and 'tkr_mono'
>> >> > are the same for auxilary clocks, so this will compute a wrong 'monoraw'.
>> >> 
>> >> AUX clocks are independent in the first place and the MONORAW part is
>> >> the "MONORAW" related to the AUX clock itself. 
>> >> 
>> >> > Instead 'monoraw' should be computed based on 'tk_core'.
>> >> > Which then also requires the sequence locking of 'tk_core'.
>> >> 
>> >> No. From a PTP and steering point of view you want the "raw" value which
>> >> is related to the AUX clock itself and not the global one.
>> >
>> > Ack.
>> >
>> > However the kdocs call it 'CLOCK_MONOTONIC_RAW'. Can we clean this up?
>> 
>> Yes. Something like the below?
>
> Looks good, thanks.
> The corresponding structure definitions are a also affected, though.

True.

^ permalink raw reply

* [PATCH] wifi: mt76: mt7921: refactor regd update to fix recursive mutex deadlock
From: JB Tsai @ 2026-06-29  8:35 UTC (permalink / raw)
  To: nbd, lorenzo
  Cc: linux-wireless, linux-mediatek, Deren.Wu, Sean.Wang, Quan.Zhou,
	Ryder.Lee, Leon.Yen, litien.chang, Charlie-cy.Wu, jb.tsai,
	Charlie-cy Wu

From: Charlie-cy Wu <charlie-cy.wu@mediatek.corp-partner.google.com>

Split mt7921_mcu_regd_update() into two functions to prevent recursive
mutex acquisition. Introduce __mt7921_mcu_regd_update() as the internal
implementation that assumes the mutex is already held by the caller,
while mt7921_mcu_regd_update() remains as the external interface that
handles mutex acquisition and release.

This fixes a deadlock issue when mt7921_regd_set_6ghz_power_type() is
called with the device mutex already held. Without this change, calling
mt7921_mcu_regd_update() would attempt to acquire the same mutex again,
causing a recursive lock deadlock.

The __mt7921_mcu_regd_update() function can be safely called when the
caller has already acquired the device mutex, avoiding the deadlock
while maintaining proper synchronization for regulatory domain updates.

Fixes: dc2608cf5224 ("wifi: mt76: mt7921: refactor regulatory notifier flow")
Signed-off-by: Charlie-cy Wu <Charlie-cy.Wu@mediatek.com>
---
 .../net/wireless/mediatek/mt76/mt7921/main.c  |  2 +-
 .../net/wireless/mediatek/mt76/mt7921/regd.c  | 30 ++++++++++++-------
 .../net/wireless/mediatek/mt76/mt7921/regd.h  |  2 ++
 3 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/main.c b/drivers/net/wireless/mediatek/mt76/mt7921/main.c
index af5d16055396..b3f29ebf4015 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/main.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/main.c
@@ -808,7 +808,7 @@ mt7921_regd_set_6ghz_power_type(struct ieee80211_vif *vif, bool is_add)
 
 out:
 	if (vif->bss_conf.chanreq.oper.chan->band == NL80211_BAND_6GHZ)
-		mt7921_mcu_regd_update(dev, dev->mt76.alpha2, dev->country_ie_env);
+		__mt7921_mcu_regd_update(dev, dev->mt76.alpha2, dev->country_ie_env);
 }
 
 int mt7921_mac_sta_add(struct mt76_dev *mdev, struct ieee80211_vif *vif,
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/regd.c b/drivers/net/wireless/mediatek/mt76/mt7921/regd.c
index f122e418d825..f923af1440d7 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/regd.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/regd.c
@@ -71,36 +71,44 @@ mt7921_regd_channel_update(struct wiphy *wiphy, struct mt792x_dev *dev)
 	}
 }
 
-int mt7921_mcu_regd_update(struct mt792x_dev *dev, u8 *alpha2,
-			   enum environment_cap country_ie_env)
+/* Internal version that assumes mutex is already held by caller */
+int __mt7921_mcu_regd_update(struct mt792x_dev *dev, u8 *alpha2,
+			     enum environment_cap country_ie_env)
 {
 	struct mt76_dev *mdev = &dev->mt76;
 	struct ieee80211_hw *hw = mdev->hw;
 	struct wiphy *wiphy = hw->wiphy;
 	int ret = 0;
 
-	dev->regd_in_progress = true;
-
-	mt792x_mutex_acquire(dev);
 	if (!dev->regd_change)
-		goto err;
+		return 0;
 
 	ret = mt7921_mcu_set_clc(dev, alpha2, country_ie_env);
 	if (ret < 0)
-		goto err;
+		return ret;
 
 	mt7921_regd_channel_update(wiphy, dev);
 
 	ret = mt76_connac_mcu_set_channel_domain(hw->priv);
 	if (ret < 0)
-		goto err;
+		return ret;
 
 	ret = mt7921_set_tx_sar_pwr(hw, NULL);
-	if (ret < 0)
-		goto err;
 
-err:
+	return ret;
+}
+
+int mt7921_mcu_regd_update(struct mt792x_dev *dev, u8 *alpha2,
+			   enum environment_cap country_ie_env)
+{
+	int ret = 0;
+
+	dev->regd_in_progress = true;
+
+	mt792x_mutex_acquire(dev);
+	ret = __mt7921_mcu_regd_update(dev, alpha2, country_ie_env);
 	mt792x_mutex_release(dev);
+
 	dev->regd_change = false;
 	dev->regd_in_progress = false;
 	wake_up(&dev->wait);
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/regd.h b/drivers/net/wireless/mediatek/mt76/mt7921/regd.h
index 571f31629e9e..5b24d0902c36 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/regd.h
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/regd.h
@@ -10,6 +10,8 @@ struct regulatory_request;
 
 int mt7921_mcu_regd_update(struct mt792x_dev *dev, u8 *alpha2,
 			   enum environment_cap country_ie_env);
+int __mt7921_mcu_regd_update(struct mt792x_dev *dev, u8 *alpha2,
+			     enum environment_cap country_ie_env);
 void mt7921_regd_notifier(struct wiphy *wiphy,
 			  struct regulatory_request *request);
 bool mt7921_regd_clc_supported(struct mt792x_dev *dev);
-- 
2.45.2


^ permalink raw reply related

* Re: ath11k: BigEndian platform support?
From: Alexander Wilhelm @ 2026-06-29  8:35 UTC (permalink / raw)
  To: Jeff Johnson; +Cc: ath11k, ath12k, linux-wireless
In-Reply-To: <87cz0y96j1.fsf@kernel.org>

On Tue, Jul 11, 2023 at 11:49:54AM +0300, Kalle Valo wrote:
> Alexander Wilhelm <alexander.wilhelm@westermo.com> writes:
> 
> > I am trying to get the QCN9074 module to work on a BigEndian PowerPC
> > platform. My question would be, has anyone done it yet? If not, what
> > kind of effort would you estimate for porting or are there any
> > firmware limitations?
> 
> This is a good question. The short answer is that it _might_ work with
> QCN9074 but AFAIK nobody has tested it and I'm not really optimistic.
> 
> The long answer is that the big endian support in ath11k is implemented
> in a weird way which I regret big time. The idea is that the firmware
> does the translation instead of ath11k driver with this flag:
> 
> /* Host software's Copy Engine configuration. */
> #ifdef __BIG_ENDIAN
> #define CE_ATTR_FLAGS CE_ATTR_BYTE_SWAP_DATA
> #else
> #define CE_ATTR_FLAGS 0
> #endif
> 
> But later I was told that not all firmware branches actually support
> this feature, sigh. To my knowledge QCA6390 and WCN6855 firmwares do not
> support this CE_ATTR_BYTE_SWAP_DATA but I'm hoping QCN9074 firmware
> would support it. Grep for BIG_ENDIAN to see more big endian specific
> changes.
> 
> In ath12k the endian support was implemented in a proper way using
> __le32 type family and cpu_to_le32() & co macros, but it's also
> untested. It's on my todo list to convert ath11k to do the same but no
> idea when I'm able to work on it. Patches very welcome.
> 
> Do let me know if you test ath11k on big endian, I'm very curious to
> know the results.

Hello Jeff and the `ath` developers,

there are still a number of pending patch requests from my side for `ath12k`
addressing various big endian issues. I assume there may still be gaps that I
did not uncover during my testing. Nevertheless, `ath12k` is now running stable
for me in both AP and STA modes, so I have started to look into `ath11k`.

While working on `ath11k`, I noticed that the firmware swap handling is not
applied consistently. As a result, the driver does not work correctly on big
endian platforms. Based on discussions with Kalle Valo, there is also a risk
that the swap behavior may differ depending on the firmware version in use. To
achieve a stable `ath11k` implementation, Kalle suggested disabling the
firmware-side swapping entirely and restructuring `ath11k` to follow the
`ath12k` approach, by handling endianness exclusively in the driver.

I now have `ath11k` running on a big endian platform and would like to upstream
the corresponding patches to reduce local maintenance. However, the patch set is
quite large (~10k lines), which makes review difficult. My initial idea was to
split the changes into smaller pieces and submit them incrementally. The
challenge is that disabling firmware swapping without simultaneously applying
the full driver-side changes would effectively introduce a regression. Given
that `ath11k` does not currently work on big endian systems anyway, this
“practical regression” might be acceptable, but I would like to hear your
opinion on that.

As an alternative upstreaming approach, I could also imagine sending the patches
via a separate branch, so that the full set of changes can be reviewed and
integrated in a more controlled way. I would appreciate your guidance on how to
best approach upstreaming in this situation, and what would be acceptable from a
reviewer’s perspective before I start sending patches. Additionally, I noticed
that `ath12k` has introduced the `ath12k-ng` branch to separate out Wi-Fi 7
parts and prepare for future Wi-Fi 8 functionality. Since `ath12k` originally
evolved from `ath11k`, are there any plans to consolidate the two, or will
`ath11k` continue as a separate codebase going forward?


Best regards
Alexander Wilhelm

^ permalink raw reply

* Re: [PATCH 1/1] wifi: ath12k: support calibration-variant from device tree
From: Ernest Van Hoecke @ 2026-06-29  8:21 UTC (permalink / raw)
  To: Andrew LaMarche
  Cc: Jeff Johnson, Jeff Johnson, linux-wireless, ath12k, linux-kernel
In-Reply-To: <23fr45actdrqt6rp6fozcaugyk3egs5zm7imschl7gyuuj6cme@3pvdhqv7xvkq>

On Mon, Jun 15, 2026 at 03:36:50PM +0200, Ernest Van Hoecke wrote:
> On Wed, May 27, 2026 at 05:01:51PM -0400, Andrew LaMarche wrote:
> > Ack on the deprecation of qcom,ath12k-calibration-variant in favor of the
> > generic qcom,calibration-variant. 
> > 
> > However, drivers/net/wireless/ath/ath12k/core.c still misses the logic to 
> > actually load in the BDF, which this patch also accomplishes. I don’t see that
> > in the Qualcomm-authored series you linked. Perhaps a v2 to address this?
> > 
> > Andrew
> > 
> > > On May 27, 2026, at 3:52 PM, Jeff Johnson <jeff.johnson@oss.qualcomm.com> wrote:
> > > 
> > > On 5/27/2026 9:12 AM, Andrew LaMarche wrote:
> > >> Hi,
> > >> 
> > >> A kind ping here. I’m not sure why this functionality is missing in the first place, but it is needed for loading caldata from the device tree.
> > > 
> > > Your patch duplicates functionality in the Qualcomm authored series:
> > > https://msgid.link/20250228184214.337119-1-quic_rajkbhag@quicinc.com
> > > 
> > > And note the upstream device bindings for ath10k and ath11k only support the
> > > generic binding qcom,calibration-variant.
> > > 
> > > There are no longer any generation-specific bindings, see:
> > > https://msgid.link/20250225-b-wifi-qcom-calibration-variant-v1-0-3b2aa3f89c53@linaro.org
> > > 
> > > /jeff
> > 
> 
> Hi Jeff,
> Hi Andrew,
> 
> We also need this functionality, and as Andrew noted, the patch series
> from Qualcomm does not actually address this.
> 
> I believe some confusion arose because the patch series mentions the
> "qcom,calibration-variant" DT property, but it does nothing to implement
> this in the driver. In that series it only exists within a schema file:
> Documentation/devicetree/bindings/net/wireless/qcom,ipq5332-wifi.yaml
> 
> Our need for this property was previously discussed here, and for now I
> don't see a way forward without it:
> https://lore.kernel.org/all/77vowy4ax4cl6dlc45i2q3fjmwn3q676wqghq267tmbix7773b@27h5t66mflur/
> 
> Thanks a lot for your work here.
> 
> Best regards,
> Ernest
> 

Hi Andrew,

Are you planning to send a v2 of this?

If not, I'm considering sending a version of this with the
qcom,calibration-variant binding to move this forward.

Thanks for your work here!

Kind regards,
Ernest


^ permalink raw reply

* [PATCH RESEND] wifi: ath12k: fix channel list copy on big endian
From: Alexander Wilhelm @ 2026-06-29  7:46 UTC (permalink / raw)
  To: Jeff Johnson; +Cc: linux-wireless, ath12k, linux-kernel

The ath12k_wmi_scan_req_arg structure defines the channel list in
CPU-native order, while wmi_start_scan_cmd expects the values in
little-endian format. The simple memcpy causes the hardware scan to fail on
big-endian architectures. Set __le32* type for the tmp_ptr and swap channel
values to support both architectures correctly.

Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
---
 drivers/net/wireless/ath/ath12k/wmi.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index 65a05a9520ff..9e1d3c662852 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -2571,7 +2571,8 @@ int ath12k_wmi_send_scan_start_cmd(struct ath12k *ar,
 	struct wmi_tlv *tlv;
 	void *ptr;
 	int i, ret, len;
-	u32 *tmp_ptr, extraie_len_with_pad = 0;
+	__le32 *tmp_ptr;
+	u32 extraie_len_with_pad = 0;
 	struct ath12k_wmi_hint_short_ssid_arg *s_ssid = NULL;
 	struct ath12k_wmi_hint_bssid_arg *hint_bssid = NULL;
 
@@ -2656,9 +2657,10 @@ int ath12k_wmi_send_scan_start_cmd(struct ath12k *ar,
 	tlv = ptr;
 	tlv->header = ath12k_wmi_tlv_hdr(WMI_TAG_ARRAY_UINT32, len);
 	ptr += TLV_HDR_SIZE;
-	tmp_ptr = (u32 *)ptr;
+	tmp_ptr = (__le32 *)ptr;
 
-	memcpy(tmp_ptr, arg->chan_list, arg->num_chan * 4);
+	for (i = 0; i < arg->num_chan; i++)
+		tmp_ptr[i] = cpu_to_le32(arg->chan_list[i]);
 
 	ptr += len;
 

---
base-commit: 702847e8cfd51856836a282db2073defd7cfd80c
change-id: 20260317-fix-channel-list-copy-cef5cad24fb6

Best regards,
-- 
Alexander Wilhelm <alexander.wilhelm@westermo.com>


^ permalink raw reply related

* [PATCH RESEND] wifi: ath12k: fix HE/EHT capability handling on big endian
From: Alexander Wilhelm @ 2026-06-29  7:52 UTC (permalink / raw)
  To: Jeff Johnson; +Cc: linux-wireless, ath12k, linux-kernel

Currently the driver uses u32 data types for the HE/EHT capabilities in
CPU‑native order. However, the ieee80211.h header defines these fields as
u8 arrays. This causes the ieee80211 registration failure on big‑endian
platforms, as shown in the following log:

    ath12k_pci 0001:01:00.0: BAR 0: assigned [mem 0xc00000000-0xc001fffff 64bit]
    ath12k_pci 0001:01:00.0: MSI vectors: 1
    ath12k_pci 0001:01:00.0: Hardware name: qcn9274 hw2.0
    ath12k_pci 0001:01:00.0: qmi dma allocation failed (29360128 B type 1), will try later with small size
    ath12k_pci 0001:01:00.0: memory type 10 not supported
    ath12k_pci 0001:01:00.0: chip_id 0x0 chip_family 0xb board_id 0x1005 soc_id 0x401a2200
    ath12k_pci 0001:01:00.0: fw_version 0x111300d6 fw_build_timestamp 2024-08-06 08:43 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.WBE.1.1.1-00214-QCAHKSWPL_SILICONZ-1
    ath12k_pci 0001:01:00.0: leaving PCI ASPM disabled to avoid MHI M2 problems
    ath12k_pci 0001:01:00.0: Invalid module id 2
    ath12k_pci 0001:01:00.0: failed to parse tlv -22
    ath12k_pci 0001:01:00.0: ieee80211 registration failed: -22
    ath12k_pci 0001:01:00.0: failed register the radio with mac80211: -22
    ath12k_pci 0001:01:00.0: failed to create pdev core: -22
    ath12k_pci 0001:01:00.0: qmi failed set mode request, mode: 4, err = -110
    ath12k_pci 0001:01:00.0: qmi failed to send wlan mode off

Use the __le32 data type for the HE/EHT capabilities instead and avoid
swapping, so that both platform endiannesses are supported.

Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
---
Changes in v2:
- Rebase on latest ath master
- Fix endianness in extra_mcs_supported bool in debugfs
- Link to v1: https://lore.kernel.org/r/20260317-fix-he-eht-capabilities-on-big-endian-v1-1-e7b937b32768@westermo.com
---
 drivers/net/wireless/ath/ath12k/core.h    |  8 ++---
 drivers/net/wireless/ath/ath12k/debugfs.c |  4 +--
 drivers/net/wireless/ath/ath12k/wmi.c     | 58 +++++++++++++++----------------
 drivers/net/wireless/ath/ath12k/wmi.h     |  4 +--
 4 files changed, 36 insertions(+), 38 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/core.h b/drivers/net/wireless/ath/ath12k/core.h
index 59c193b24764..8481015dcda6 100644
--- a/drivers/net/wireless/ath/ath12k/core.h
+++ b/drivers/net/wireless/ath/ath12k/core.h
@@ -788,13 +788,13 @@ struct ath12k_band_cap {
 	u32 phy_id;
 	u32 max_bw_supported;
 	u32 ht_cap_info;
-	u32 he_cap_info[2];
+	__le32 he_cap_info[2];
 	u32 he_mcs;
-	u32 he_cap_phy_info[PSOC_HOST_MAX_PHY_SIZE];
+	__le32 he_cap_phy_info[PSOC_HOST_MAX_PHY_SIZE];
 	struct ath12k_wmi_ppe_threshold_arg he_ppet;
 	u16 he_6ghz_capa;
-	u32 eht_cap_mac_info[WMI_MAX_EHTCAP_MAC_SIZE];
-	u32 eht_cap_phy_info[WMI_MAX_EHTCAP_PHY_SIZE];
+	__le32 eht_cap_mac_info[WMI_MAX_EHTCAP_MAC_SIZE];
+	__le32 eht_cap_phy_info[WMI_MAX_EHTCAP_PHY_SIZE];
 	u32 eht_mcs_20_only;
 	u32 eht_mcs_80;
 	u32 eht_mcs_160;
diff --git a/drivers/net/wireless/ath/ath12k/debugfs.c b/drivers/net/wireless/ath/ath12k/debugfs.c
index 358031fa14eb..f71ac5853cda 100644
--- a/drivers/net/wireless/ath/ath12k/debugfs.c
+++ b/drivers/net/wireless/ath/ath12k/debugfs.c
@@ -410,8 +410,8 @@ static bool ath12k_he_supports_extra_mcs(struct ath12k *ar, int freq)
 	else
 		cap_band = &cap->band[NL80211_BAND_6GHZ];
 
-	extra_mcs_supported = u32_get_bits(cap_band->he_cap_info[1],
-					   HE_EXTRA_MCS_SUPPORT);
+	extra_mcs_supported = le32_get_bits(cap_band->he_cap_info[1],
+					    HE_EXTRA_MCS_SUPPORT);
 	return extra_mcs_supported;
 }
 
diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c
index 65a05a9520ff..f5cd1eb27685 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.c
+++ b/drivers/net/wireless/ath/ath12k/wmi.c
@@ -487,12 +487,11 @@ ath12k_pull_mac_phy_cap_svc_ready_ext(struct ath12k_wmi_pdev *wmi_handle,
 		cap_band->phy_id = le32_to_cpu(mac_caps->phy_id);
 		cap_band->max_bw_supported = le32_to_cpu(mac_caps->max_bw_supported_2g);
 		cap_band->ht_cap_info = le32_to_cpu(mac_caps->ht_cap_info_2g);
-		cap_band->he_cap_info[0] = le32_to_cpu(mac_caps->he_cap_info_2g);
-		cap_band->he_cap_info[1] = le32_to_cpu(mac_caps->he_cap_info_2g_ext);
+		cap_band->he_cap_info[0] = mac_caps->he_cap_info_2g;
+		cap_band->he_cap_info[1] = mac_caps->he_cap_info_2g_ext;
 		cap_band->he_mcs = le32_to_cpu(mac_caps->he_supp_mcs_2g);
-		for (i = 0; i < WMI_MAX_HECAP_PHY_SIZE; i++)
-			cap_band->he_cap_phy_info[i] =
-				le32_to_cpu(mac_caps->he_cap_phy_info_2g[i]);
+		memcpy(&cap_band->he_cap_phy_info, &mac_caps->he_cap_phy_info_2g,
+		       sizeof(u32) * WMI_MAX_HECAP_PHY_SIZE);
 
 		cap_band->he_ppet.numss_m1 = le32_to_cpu(mac_caps->he_ppet2g.numss_m1);
 		cap_band->he_ppet.ru_bit_mask = le32_to_cpu(mac_caps->he_ppet2g.ru_info);
@@ -508,12 +507,11 @@ ath12k_pull_mac_phy_cap_svc_ready_ext(struct ath12k_wmi_pdev *wmi_handle,
 		cap_band->max_bw_supported =
 			le32_to_cpu(mac_caps->max_bw_supported_5g);
 		cap_band->ht_cap_info = le32_to_cpu(mac_caps->ht_cap_info_5g);
-		cap_band->he_cap_info[0] = le32_to_cpu(mac_caps->he_cap_info_5g);
-		cap_band->he_cap_info[1] = le32_to_cpu(mac_caps->he_cap_info_5g_ext);
+		cap_band->he_cap_info[0] = mac_caps->he_cap_info_5g;
+		cap_band->he_cap_info[1] = mac_caps->he_cap_info_5g_ext;
 		cap_band->he_mcs = le32_to_cpu(mac_caps->he_supp_mcs_5g);
-		for (i = 0; i < WMI_MAX_HECAP_PHY_SIZE; i++)
-			cap_band->he_cap_phy_info[i] =
-				le32_to_cpu(mac_caps->he_cap_phy_info_5g[i]);
+		memcpy(&cap_band->he_cap_phy_info, &mac_caps->he_cap_phy_info_5g,
+		       sizeof(u32) * WMI_MAX_HECAP_PHY_SIZE);
 
 		cap_band->he_ppet.numss_m1 = le32_to_cpu(mac_caps->he_ppet5g.numss_m1);
 		cap_band->he_ppet.ru_bit_mask = le32_to_cpu(mac_caps->he_ppet5g.ru_info);
@@ -526,12 +524,11 @@ ath12k_pull_mac_phy_cap_svc_ready_ext(struct ath12k_wmi_pdev *wmi_handle,
 		cap_band->max_bw_supported =
 			le32_to_cpu(mac_caps->max_bw_supported_5g);
 		cap_band->ht_cap_info = le32_to_cpu(mac_caps->ht_cap_info_5g);
-		cap_band->he_cap_info[0] = le32_to_cpu(mac_caps->he_cap_info_5g);
-		cap_band->he_cap_info[1] = le32_to_cpu(mac_caps->he_cap_info_5g_ext);
+		cap_band->he_cap_info[0] = mac_caps->he_cap_info_5g;
+		cap_band->he_cap_info[1] = mac_caps->he_cap_info_5g_ext;
 		cap_band->he_mcs = le32_to_cpu(mac_caps->he_supp_mcs_5g);
-		for (i = 0; i < WMI_MAX_HECAP_PHY_SIZE; i++)
-			cap_band->he_cap_phy_info[i] =
-				le32_to_cpu(mac_caps->he_cap_phy_info_5g[i]);
+		memcpy(&cap_band->he_cap_phy_info, &mac_caps->he_cap_phy_info_5g,
+		       sizeof(u32) * WMI_MAX_HECAP_PHY_SIZE);
 
 		cap_band->he_ppet.numss_m1 = le32_to_cpu(mac_caps->he_ppet5g.numss_m1);
 		cap_band->he_ppet.ru_bit_mask = le32_to_cpu(mac_caps->he_ppet5g.ru_info);
@@ -2226,14 +2223,13 @@ int ath12k_wmi_send_peer_assoc_cmd(struct ath12k *ar,
 	cmd->peer_phymode = cpu_to_le32(arg->peer_phymode);
 
 	/* Update 11ax capabilities */
-	cmd->peer_he_cap_info = cpu_to_le32(arg->peer_he_cap_macinfo[0]);
-	cmd->peer_he_cap_info_ext = cpu_to_le32(arg->peer_he_cap_macinfo[1]);
+	cmd->peer_he_cap_info = arg->peer_he_cap_macinfo[0];
+	cmd->peer_he_cap_info_ext = arg->peer_he_cap_macinfo[1];
 	cmd->peer_he_cap_info_internal = cpu_to_le32(arg->peer_he_cap_macinfo_internal);
 	cmd->peer_he_caps_6ghz = cpu_to_le32(arg->peer_he_caps_6ghz);
 	cmd->peer_he_ops = cpu_to_le32(arg->peer_he_ops);
-	for (i = 0; i < WMI_MAX_HECAP_PHY_SIZE; i++)
-		cmd->peer_he_cap_phy[i] =
-			cpu_to_le32(arg->peer_he_cap_phyinfo[i]);
+	memcpy(cmd->peer_he_cap_phy, arg->peer_he_cap_phyinfo,
+	       sizeof(u32) * WMI_MAX_HECAP_PHY_SIZE);
 	cmd->peer_ppet.numss_m1 = cpu_to_le32(arg->peer_ppet.numss_m1);
 	cmd->peer_ppet.ru_info = cpu_to_le32(arg->peer_ppet.ru_bit_mask);
 	for (i = 0; i < WMI_MAX_NUM_SS; i++)
@@ -5034,17 +5030,17 @@ static void ath12k_wmi_eht_caps_parse(struct ath12k_pdev *pdev, u32 band,
 	u8 i;
 
 	if (band == NL80211_BAND_6GHZ)
-		support_320mhz = cap_band->eht_cap_phy_info[0] &
-					IEEE80211_EHT_PHY_CAP0_320MHZ_IN_6GHZ;
+		support_320mhz = le32_to_cpu(cap_band->eht_cap_phy_info[0]) &
+				 IEEE80211_EHT_PHY_CAP0_320MHZ_IN_6GHZ;
 
-	for (i = 0; i < WMI_MAX_EHTCAP_MAC_SIZE; i++)
-		cap_band->eht_cap_mac_info[i] = le32_to_cpu(cap_mac_info[i]);
+	memcpy(cap_band->eht_cap_mac_info, cap_mac_info,
+	       sizeof(u32) * WMI_MAX_EHTCAP_MAC_SIZE);
 
-	for (i = 0; i < WMI_MAX_EHTCAP_PHY_SIZE; i++)
-		cap_band->eht_cap_phy_info[i] = le32_to_cpu(cap_phy_info[i]);
+	memcpy(cap_band->eht_cap_phy_info, cap_phy_info,
+	       sizeof(u32) * WMI_MAX_EHTCAP_PHY_SIZE);
 
 	if (band == NL80211_BAND_6GHZ)
-		cap_band->eht_cap_phy_info[0] |= support_320mhz;
+		cap_band->eht_cap_phy_info[0] |= cpu_to_le32(support_320mhz);
 
 	cap_band->eht_mcs_20_only = le32_to_cpu(supp_mcs[0]);
 	cap_band->eht_mcs_80 = le32_to_cpu(supp_mcs[1]);
@@ -5132,10 +5128,12 @@ static int ath12k_wmi_tlv_mac_phy_caps_ext(struct ath12k_base *ab, u16 tag,
 
 	if (ab->hw_params->single_pdev_only) {
 		if (caps->hw_mode_id == WMI_HOST_HW_MODE_SINGLE) {
-			support_320mhz = le32_to_cpu(caps->eht_cap_phy_info_5ghz[0]) &
-					 IEEE80211_EHT_PHY_CAP0_320MHZ_IN_6GHZ;
+			support_320mhz =
+				le32_to_cpu(caps->eht_cap_phy_info_5ghz[0]) &
+				IEEE80211_EHT_PHY_CAP0_320MHZ_IN_6GHZ;
 			cap_band = &ab->pdevs[0].cap.band[NL80211_BAND_6GHZ];
-			cap_band->eht_cap_phy_info[0] |= support_320mhz;
+			cap_band->eht_cap_phy_info[0] |=
+				cpu_to_le32(support_320mhz);
 		}
 
 		if (ab->wmi_ab.preferred_hw_mode != le32_to_cpu(caps->hw_mode_id))
diff --git a/drivers/net/wireless/ath/ath12k/wmi.h b/drivers/net/wireless/ath/ath12k/wmi.h
index 5ba9b7d3a888..ea680a1a5464 100644
--- a/drivers/net/wireless/ath/ath12k/wmi.h
+++ b/drivers/net/wireless/ath/ath12k/wmi.h
@@ -3911,11 +3911,11 @@ struct ath12k_wmi_peer_assoc_arg {
 	u8 peer_mac[ETH_ALEN];
 
 	bool he_flag;
-	u32 peer_he_cap_macinfo[2];
+	__le32 peer_he_cap_macinfo[2];
 	u32 peer_he_cap_macinfo_internal;
 	u32 peer_he_caps_6ghz;
 	u32 peer_he_ops;
-	u32 peer_he_cap_phyinfo[WMI_HOST_MAX_HECAP_PHY_SIZE];
+	__le32 peer_he_cap_phyinfo[WMI_HOST_MAX_HECAP_PHY_SIZE];
 	u32 peer_he_mcs_count;
 	u32 peer_he_rx_mcs_set[WMI_HOST_MAX_HE_RATE_SET];
 	u32 peer_he_tx_mcs_set[WMI_HOST_MAX_HE_RATE_SET];

---
base-commit: e77fa9aaf082d1774b205275c5bffac5a5d1dcb3
change-id: 20260317-fix-he-eht-capabilities-on-big-endian-d941c42f65e5

Best regards,
-- 
Alexander Wilhelm <alexander.wilhelm@westermo.com>


^ permalink raw reply related

* [PATCH RESEND v5] wifi: ath12k: fix endianness handling for SRNG ring pointer accesses
From: Alexander Wilhelm @ 2026-06-29  7:58 UTC (permalink / raw)
  To: Jeff Johnson; +Cc: Baochen Qiang, linux-wireless, ath12k, linux-kernel

The SRNG head and tail ring pointers are stored in device memory as
little-endian values. On big-endian systems, direct dereferencing of these
pointers leads to incorrect values being read or written, causing ring
management issues and potentially breaking data flow.

This patch ensures all accesses to SRNG ring pointers use the appropriate
endianness conversions. This affects both read and write paths for source
and destination rings, as well as debug output. The changes guarantee
correct operation on both little- and big-endian architectures.

Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
---
Changes in v5:
- Revert removing volatile from `hp_addr`

Changes in v4:
- Rebase on latest 'ath' master
- Remove volatile from `hp_addr` due to the `checkpatch.pl` warning
- Fix opening braces at the end of line due to the `checkpatch.pl` error
- Fix `u32 *` cast in `wifi7/hal.c` due to the `sparse` error

Changes in v3:
- Rebase on latest 'ath' master
- Use always 'le32_to_cpu()' macro for conversions

Changes in v2:
- Set '__le32 *' type for 'hp_addr/tp_addr' in both 'dst_ring' and 'src_ring'
---
 drivers/net/wireless/ath/ath12k/hal.c       | 31 +++++++++++++++++------------
 drivers/net/wireless/ath/ath12k/hal.h       |  8 ++++----
 drivers/net/wireless/ath/ath12k/wifi7/hal.c | 14 +++++++------
 3 files changed, 30 insertions(+), 23 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/hal.c b/drivers/net/wireless/ath/ath12k/hal.c
index a164563fff28..9b55c516c9eb 100644
--- a/drivers/net/wireless/ath/ath12k/hal.c
+++ b/drivers/net/wireless/ath/ath12k/hal.c
@@ -355,7 +355,7 @@ int ath12k_hal_srng_dst_num_free(struct ath12k_base *ab, struct hal_srng *srng,
 	tp = srng->u.dst_ring.tp;
 
 	if (sync_hw_ptr) {
-		hp = *srng->u.dst_ring.hp_addr;
+		hp = le32_to_cpu(*srng->u.dst_ring.hp_addr);
 		srng->u.dst_ring.cached_hp = hp;
 	} else {
 		hp = srng->u.dst_ring.cached_hp;
@@ -379,7 +379,7 @@ int ath12k_hal_srng_src_num_free(struct ath12k_base *ab, struct hal_srng *srng,
 	hp = srng->u.src_ring.hp;
 
 	if (sync_hw_ptr) {
-		tp = *srng->u.src_ring.tp_addr;
+		tp = le32_to_cpu(*srng->u.src_ring.tp_addr);
 		srng->u.src_ring.cached_tp = tp;
 	} else {
 		tp = srng->u.src_ring.cached_tp;
@@ -501,9 +501,9 @@ void ath12k_hal_srng_access_begin(struct ath12k_base *ab, struct hal_srng *srng)
 
 	if (srng->ring_dir == HAL_SRNG_DIR_SRC) {
 		srng->u.src_ring.cached_tp =
-			*(volatile u32 *)srng->u.src_ring.tp_addr;
+			le32_to_cpu(*(volatile __le32 *)srng->u.src_ring.tp_addr);
 	} else {
-		hp = READ_ONCE(*srng->u.dst_ring.hp_addr);
+		hp = le32_to_cpu(READ_ONCE(*srng->u.dst_ring.hp_addr));
 
 		if (hp != srng->u.dst_ring.cached_hp) {
 			srng->u.dst_ring.cached_hp = hp;
@@ -529,24 +529,27 @@ void ath12k_hal_srng_access_end(struct ath12k_base *ab, struct hal_srng *srng)
 		 */
 		if (srng->ring_dir == HAL_SRNG_DIR_SRC) {
 			srng->u.src_ring.last_tp =
-				*(volatile u32 *)srng->u.src_ring.tp_addr;
+				le32_to_cpu(*(volatile __le32 *)srng->u.src_ring.tp_addr);
 			/* Make sure descriptor is written before updating the
 			 * head pointer.
 			 */
 			dma_wmb();
-			WRITE_ONCE(*srng->u.src_ring.hp_addr, srng->u.src_ring.hp);
+			WRITE_ONCE(*srng->u.src_ring.hp_addr,
+				   cpu_to_le32(srng->u.src_ring.hp));
 		} else {
-			srng->u.dst_ring.last_hp = *srng->u.dst_ring.hp_addr;
+			srng->u.dst_ring.last_hp =
+				le32_to_cpu(*srng->u.dst_ring.hp_addr);
 			/* Make sure descriptor is read before updating the
 			 * tail pointer.
 			 */
 			dma_mb();
-			WRITE_ONCE(*srng->u.dst_ring.tp_addr, srng->u.dst_ring.tp);
+			WRITE_ONCE(*srng->u.dst_ring.tp_addr,
+				   cpu_to_le32(srng->u.dst_ring.tp));
 		}
 	} else {
 		if (srng->ring_dir == HAL_SRNG_DIR_SRC) {
 			srng->u.src_ring.last_tp =
-				*(volatile u32 *)srng->u.src_ring.tp_addr;
+				le32_to_cpu(*(volatile __le32 *)srng->u.src_ring.tp_addr);
 			/* Assume implementation use an MMIO write accessor
 			 * which has the required wmb() so that the descriptor
 			 * is written before the updating the head pointer.
@@ -556,7 +559,8 @@ void ath12k_hal_srng_access_end(struct ath12k_base *ab, struct hal_srng *srng)
 					   (unsigned long)ab->mem,
 					   srng->u.src_ring.hp);
 		} else {
-			srng->u.dst_ring.last_hp = *srng->u.dst_ring.hp_addr;
+			srng->u.dst_ring.last_hp =
+				le32_to_cpu(*srng->u.dst_ring.hp_addr);
 			/* Make sure descriptor is read before updating the
 			 * tail pointer.
 			 */
@@ -711,7 +715,7 @@ void ath12k_hal_srng_shadow_update_hp_tp(struct ath12k_base *ab,
 	 * HP only when then ring isn't' empty.
 	 */
 	if (srng->ring_dir == HAL_SRNG_DIR_SRC &&
-	    *srng->u.src_ring.tp_addr != srng->u.src_ring.hp)
+	    le32_to_cpu(*srng->u.src_ring.tp_addr) != srng->u.src_ring.hp)
 		ath12k_hal_srng_access_end(ab, srng);
 }
 
@@ -810,14 +814,15 @@ void ath12k_hal_dump_srng_stats(struct ath12k_base *ab)
 				   "src srng id %u hp %u, reap_hp %u, cur tp %u, cached tp %u last tp %u napi processed before %ums\n",
 				   srng->ring_id, srng->u.src_ring.hp,
 				   srng->u.src_ring.reap_hp,
-				   *srng->u.src_ring.tp_addr, srng->u.src_ring.cached_tp,
+				   le32_to_cpu(*srng->u.src_ring.tp_addr),
+				   srng->u.src_ring.cached_tp,
 				   srng->u.src_ring.last_tp,
 				   jiffies_to_msecs(jiffies - srng->timestamp));
 		else if (srng->ring_dir == HAL_SRNG_DIR_DST)
 			ath12k_err(ab,
 				   "dst srng id %u tp %u, cur hp %u, cached hp %u last hp %u napi processed before %ums\n",
 				   srng->ring_id, srng->u.dst_ring.tp,
-				   *srng->u.dst_ring.hp_addr,
+				   le32_to_cpu(*srng->u.dst_ring.hp_addr),
 				   srng->u.dst_ring.cached_hp,
 				   srng->u.dst_ring.last_hp,
 				   jiffies_to_msecs(jiffies - srng->timestamp));
diff --git a/drivers/net/wireless/ath/ath12k/hal.h b/drivers/net/wireless/ath/ath12k/hal.h
index 43e3880f8257..ff6148be94c8 100644
--- a/drivers/net/wireless/ath/ath12k/hal.h
+++ b/drivers/net/wireless/ath/ath12k/hal.h
@@ -914,7 +914,7 @@ struct hal_srng {
 			u32 tp;
 
 			/* Shadow head pointer location to be updated by HW */
-			volatile u32 *hp_addr;
+			volatile __le32 *hp_addr;
 
 			/* Cached head pointer */
 			u32 cached_hp;
@@ -923,7 +923,7 @@ struct hal_srng {
 			 * will be a register address and need not be
 			 * accessed through SW structure
 			 */
-			u32 *tp_addr;
+			__le32 *tp_addr;
 
 			/* Current SW loop cnt */
 			u32 loop_cnt;
@@ -943,7 +943,7 @@ struct hal_srng {
 			u32 reap_hp;
 
 			/* Shadow tail pointer location to be updated by HW */
-			u32 *tp_addr;
+			__le32 *tp_addr;
 
 			/* Cached tail pointer */
 			u32 cached_tp;
@@ -952,7 +952,7 @@ struct hal_srng {
 			 * will be a register address and need not be accessed
 			 * through SW structure
 			 */
-			u32 *hp_addr;
+			__le32 *hp_addr;
 
 			/* Low threshold - in number of ring entries */
 			u32 low_threshold;
diff --git a/drivers/net/wireless/ath/ath12k/wifi7/hal.c b/drivers/net/wireless/ath/ath12k/wifi7/hal.c
index bd1753ca0db6..c05bfcffdf5c 100644
--- a/drivers/net/wireless/ath/ath12k/wifi7/hal.c
+++ b/drivers/net/wireless/ath/ath12k/wifi7/hal.c
@@ -320,7 +320,7 @@ void ath12k_wifi7_hal_set_umac_srng_ptr_addr(struct ath12k_base *ab,
 	if (srng->ring_dir == HAL_SRNG_DIR_SRC) {
 		if (!ab->hw_params->supports_shadow_regs) {
 			srng->u.src_ring.hp_addr =
-				(u32 *)((unsigned long)ab->mem + reg_base);
+				(__le32 *)((unsigned long)ab->mem + reg_base);
 		} else {
 			ath12k_dbg(ab, ATH12K_DBG_HAL,
 				   "hal reg_base 0x%x shadow 0x%lx\n",
@@ -331,7 +331,7 @@ void ath12k_wifi7_hal_set_umac_srng_ptr_addr(struct ath12k_base *ab,
 	} else  {
 		if (!ab->hw_params->supports_shadow_regs) {
 			srng->u.dst_ring.tp_addr =
-				(u32 *)((unsigned long)ab->mem + reg_base +
+				(__le32 *)((unsigned long)ab->mem + reg_base +
 						(HAL_REO1_RING_TP - HAL_REO1_RING_HP));
 		} else {
 			ath12k_dbg(ab, ATH12K_DBG_HAL,
@@ -384,11 +384,13 @@ void ath12k_wifi7_hal_srng_update_hp_tp_addr(struct ath12k_base *ab,
 	srng = &hal->srng_list[ring_id];
 
 	if (srng_config->ring_dir == HAL_SRNG_DIR_DST)
-		srng->u.dst_ring.tp_addr = (u32 *)(HAL_SHADOW_REG(shadow_cfg_idx) +
-						   (unsigned long)ab->mem);
+		srng->u.dst_ring.tp_addr =
+			(__le32 *)(HAL_SHADOW_REG(shadow_cfg_idx) +
+				   (unsigned long)ab->mem);
 	else
-		srng->u.src_ring.hp_addr = (u32 *)(HAL_SHADOW_REG(shadow_cfg_idx) +
-						   (unsigned long)ab->mem);
+		srng->u.src_ring.hp_addr =
+			(__le32 *)(HAL_SHADOW_REG(shadow_cfg_idx) +
+				   (unsigned long)ab->mem);
 }
 
 u32 ath12k_wifi7_hal_ce_get_desc_size(enum hal_ce_desc type)

---
base-commit: 0138af2472dfdef0d56fc4697416eaa0ff2589bd
change-id: 20260326-fix-srng-ring-pointer-accesses-657f59b1c10b

Best regards,
-- 
Alexander Wilhelm <alexander.wilhelm@westermo.com>


^ permalink raw reply related

* [PATCH RESEND] wifi: ath12k: fix SPT vaddr handling on big endian systems
From: Alexander Wilhelm @ 2026-06-29  7:56 UTC (permalink / raw)
  To: Jeff Johnson, Baochen Qiang
  Cc: linux-wireless, ath12k, linux-kernel, Alexander Wilhelm

SPT pages store descriptor addresses in their vaddr field as little endian
64 bit values. Treating these entries as native pointers produces invalid
addresses on big endian systems.

Convert vaddr to __le64 and update all access paths. Write descriptor
addresses as endian annotated 64 bit values and load them by converting
back to native pointers. Return __le64* instead of void* from the SPT
lookup and translate the stored value in the descriptor getters.

This ensures correct and consistent handling of descriptor addresses on big
endian systems, while little endian systems remain unaffected.

Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
---
 drivers/net/wireless/ath/ath12k/dp.c | 26 ++++++++++++++++----------
 drivers/net/wireless/ath/ath12k/dp.h |  2 +-
 2 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/dp.c b/drivers/net/wireless/ath/ath12k/dp.c
index 1c82d927d27b..2076ae65e9e7 100644
--- a/drivers/net/wireless/ath/ath12k/dp.c
+++ b/drivers/net/wireless/ath/ath12k/dp.c
@@ -1149,8 +1149,8 @@ static u32 ath12k_dp_cc_cookie_gen(u16 ppt_idx, u16 spt_idx)
 	return (u32)ppt_idx << ATH12K_CC_PPT_SHIFT | spt_idx;
 }
 
-static void *ath12k_dp_cc_get_desc_addr_ptr(struct ath12k_dp *dp,
-					    u16 ppt_idx, u16 spt_idx)
+static __le64 *ath12k_dp_cc_get_desc_addr_ptr(struct ath12k_dp *dp,
+					      u16 ppt_idx, u16 spt_idx)
 {
 	return dp->spt_info[ppt_idx].vaddr + spt_idx;
 }
@@ -1158,8 +1158,9 @@ static void *ath12k_dp_cc_get_desc_addr_ptr(struct ath12k_dp *dp,
 struct ath12k_rx_desc_info *ath12k_dp_get_rx_desc(struct ath12k_dp *dp,
 						  u32 cookie)
 {
-	struct ath12k_rx_desc_info **desc_addr_ptr;
 	u16 start_ppt_idx, end_ppt_idx, ppt_idx, spt_idx;
+	__le64 *desc_addr_ptr;
+	uintptr_t desc_addr;
 
 	ppt_idx = u32_get_bits(cookie, ATH12K_DP_CC_COOKIE_PPT);
 	spt_idx = u32_get_bits(cookie, ATH12K_DP_CC_COOKIE_SPT);
@@ -1174,16 +1175,18 @@ struct ath12k_rx_desc_info *ath12k_dp_get_rx_desc(struct ath12k_dp *dp,
 
 	ppt_idx = ppt_idx - dp->rx_ppt_base;
 	desc_addr_ptr = ath12k_dp_cc_get_desc_addr_ptr(dp, ppt_idx, spt_idx);
+	desc_addr = (uintptr_t)le64_to_cpu(*desc_addr_ptr);
 
-	return *desc_addr_ptr;
+	return (struct ath12k_rx_desc_info *)desc_addr;
 }
 EXPORT_SYMBOL(ath12k_dp_get_rx_desc);
 
 struct ath12k_tx_desc_info *ath12k_dp_get_tx_desc(struct ath12k_dp *dp,
 						  u32 cookie)
 {
-	struct ath12k_tx_desc_info **desc_addr_ptr;
 	u16 start_ppt_idx, end_ppt_idx, ppt_idx, spt_idx;
+	__le64 *desc_addr_ptr;
+	uintptr_t desc_addr;
 
 	ppt_idx = u32_get_bits(cookie, ATH12K_DP_CC_COOKIE_PPT);
 	spt_idx = u32_get_bits(cookie, ATH12K_DP_CC_COOKIE_SPT);
@@ -1198,19 +1201,22 @@ struct ath12k_tx_desc_info *ath12k_dp_get_tx_desc(struct ath12k_dp *dp,
 		return NULL;
 
 	desc_addr_ptr = ath12k_dp_cc_get_desc_addr_ptr(dp, ppt_idx, spt_idx);
+	desc_addr = (uintptr_t)le64_to_cpu(*desc_addr_ptr);
 
-	return *desc_addr_ptr;
+	return (struct ath12k_tx_desc_info *)desc_addr;
 }
 EXPORT_SYMBOL(ath12k_dp_get_tx_desc);
 
 static int ath12k_dp_cc_desc_init(struct ath12k_base *ab)
 {
 	struct ath12k_dp *dp = ath12k_ab_to_dp(ab);
-	struct ath12k_rx_desc_info *rx_descs, **rx_desc_addr;
-	struct ath12k_tx_desc_info *tx_descs, **tx_desc_addr;
+	struct ath12k_rx_desc_info *rx_descs;
+	struct ath12k_tx_desc_info *tx_descs;
 	u32 num_rx_spt_pages = ATH12K_NUM_RX_SPT_PAGES(ab);
 	u32 i, j, pool_id, tx_spt_page;
 	u32 ppt_idx, cookie_ppt_idx;
+	__le64 *rx_desc_addr;
+	__le64 *tx_desc_addr;
 
 	spin_lock_bh(&dp->rx_desc_lock);
 
@@ -1246,7 +1252,7 @@ static int ath12k_dp_cc_desc_init(struct ath12k_base *ab)
 
 			/* Update descriptor VA in SPT */
 			rx_desc_addr = ath12k_dp_cc_get_desc_addr_ptr(dp, ppt_idx, j);
-			*rx_desc_addr = &rx_descs[j];
+			*rx_desc_addr = cpu_to_le64((u64)(uintptr_t)&rx_descs[j]);
 		}
 	}
 
@@ -1286,7 +1292,7 @@ static int ath12k_dp_cc_desc_init(struct ath12k_base *ab)
 				/* Update descriptor VA in SPT */
 				tx_desc_addr =
 					ath12k_dp_cc_get_desc_addr_ptr(dp, ppt_idx, j);
-				*tx_desc_addr = &tx_descs[j];
+				*tx_desc_addr = cpu_to_le64((u64)(uintptr_t)&tx_descs[j]);
 			}
 		}
 		spin_unlock_bh(&dp->tx_desc_lock[pool_id]);
diff --git a/drivers/net/wireless/ath/ath12k/dp.h b/drivers/net/wireless/ath/ath12k/dp.h
index f8cfc7bb29dd..0d7fc2aea241 100644
--- a/drivers/net/wireless/ath/ath12k/dp.h
+++ b/drivers/net/wireless/ath/ath12k/dp.h
@@ -357,7 +357,7 @@ struct ath12k_tx_desc_params {
 
 struct ath12k_spt_info {
 	dma_addr_t paddr;
-	u64 *vaddr;
+	__le64 *vaddr;
 };
 
 struct ath12k_reo_queue_ref {

---
base-commit: 988707e4b5a73aa78f2fa260727c36fe725fa816
change-id: 20260325-fix-rx-tx-description-virtual-address-91f511690671

Best regards,
-- 
Alexander Wilhelm <alexander.wilhelm@westermo.com>


^ permalink raw reply related

* [PATCH RESEND] wifi: ath12k: fix MAC address copy on big endian
From: Alexander Wilhelm @ 2026-06-29  7:55 UTC (permalink / raw)
  To: Jeff Johnson; +Cc: linux-wireless, ath12k, linux-kernel, Alexander Wilhelm

The ath12k_dp_get_mac_addr function performs a simple memcpy from a
CPU-native data types into an u8 array. On a big-endian architecture, this
later results in a null‑pointer dereference. Convert the data to
little‑endian first, then copy it into the target array.

Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
---
 drivers/net/wireless/ath/ath12k/dp.h | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/dp.h b/drivers/net/wireless/ath/ath12k/dp.h
index f8cfc7bb29dd..50957915dbf4 100644
--- a/drivers/net/wireless/ath/ath12k/dp.h
+++ b/drivers/net/wireless/ath/ath12k/dp.h
@@ -647,8 +647,11 @@ int ath12k_dp_arch_rx_tid_delete_handler(struct ath12k_dp *dp,
 
 static inline void ath12k_dp_get_mac_addr(u32 addr_l32, u16 addr_h16, u8 *addr)
 {
-	memcpy(addr, &addr_l32, 4);
-	memcpy(addr + 4, &addr_h16, ETH_ALEN - 4);
+	__le32 le_addr_l32 = cpu_to_le32(addr_l32);
+	__le16 le_addr_h16 = cpu_to_le16(addr_h16);
+
+	memcpy(addr, &le_addr_l32, 4);
+	memcpy(addr + 4, &le_addr_h16, ETH_ALEN - 4);
 }
 
 static inline struct ath12k_dp *

---
base-commit: 702847e8cfd51856836a282db2073defd7cfd80c
change-id: 20260317-fix-mac-addr-copy-on-big-endian-f1a4fea40184

Best regards,
-- 
Alexander Wilhelm <alexander.wilhelm@westermo.com>


^ permalink raw reply related

* Re: [PATCH ath-next] wifi: ath12k: Advertise multicast Ethernet encapsulation offload support
From: Baochen Qiang @ 2026-06-29  7:28 UTC (permalink / raw)
  To: Tamizh Chelvam Raja, ath12k; +Cc: linux-wireless
In-Reply-To: <20260623100501.2100119-1-tamizh.raja@oss.qualcomm.com>



On 6/23/2026 6:05 PM, Tamizh Chelvam Raja wrote:
> Advertise IEEE80211_OFFLOAD_ENCAP_MCAST to inform mac80211 that
> multicast frame encapsulation is handled in hardware. This allows
> mac80211 to pass Ethernet-formatted multicast frames directly to
> the driver.
> 
> In ath12k_wifi7_mac_op_tx(), refine the logic that selects the MLO
> multicast replication path. Add a sta pointer check so that only unicast
> Hardware-encap frames use the direct transmit path, while multicast
> Hardware-encap frames fall through to the MLO replication loop and are
> transmitted on each active link.
> 
> In the MLO replication loop, use skb_clone() for Hardware-encap frames.
> These frames are already in Ethernet format and do not require
> 802.11 link address rewriting by ath12k_mlo_mcast_update_tx_link_address().
> 
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1
> 
> Signed-off-by: Tamizh Chelvam Raja <tamizh.raja@oss.qualcomm.com>

Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>

^ permalink raw reply

* Re: [PATCH ath-next v2 0/3] wifi: ath12k: Improve dp stats
From: Baochen Qiang @ 2026-06-29  7:25 UTC (permalink / raw)
  To: Sreeramya Soratkal, ath12k; +Cc: linux-wireless
In-Reply-To: <20260626085253.3927269-1-sreeramya.soratkal@oss.qualcomm.com>



On 6/26/2026 4:52 PM, Sreeramya Soratkal wrote:
> This short series improves the device_dp_stats debugfs interface in
> ath12k to produce more useful and accurate diagnostic output in MLO
> configurations.
> 
> Patch 1 fixes a latent correctness issue where the REO Rx and WBM
> release error tables were unconditionally printed for
> ATH12K_MAX_DEVICES columns showing zero-filled entries for device
> slots that have no hardware. Replacing the compile-time constant
> with the runtime device count keeps the output compact and correct.
> 
> Patch 2 prepends a ktime-based millisecond timestamp to the top of
> the dump. In MLO setups the per-device file is to be read
> independently for each ath12k instance, so without a common timestamp
> it is difficult to verify whether two snapshots are contemporaneous,
> making cross-device counter comparisons unreliable.
> 
> Patch 3 extends the existing per-radio section to report the center
> frequency on which each radio is currently operating.  This allows
> the reader to correlate throughput and error counters with the channel
> without having to cross-reference iw/nl80211 output separately.
> 
> ---
> Changes in v2:
> - Rebased the patch series on the latest tip of ath-next
> ---
> 
> Sreeramya Soratkal (3):
>   wifi: ath12k: Use runtime device count in dp stats display
>   wifi: ath12k: Add timestamp to dp stats display
>   wifi: ath12k: Show per-radio center freq in dp stats
> 
>  drivers/net/wireless/ath/ath12k/debugfs.c | 14 ++++++++++++--
>  1 file changed, 12 insertions(+), 2 deletions(-)
> 
> 
> base-commit: 972c4dd19cb92e03d75b66c426cfade07582a1ba

Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>


^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox