The regression comes from commit 3958bf16e2fe ("PCI: Stop over-estimating bridge window size"). It was written against a 6.19-rc1 base in the PCI maintainer's tree, but it didn't land in Linus's tree until the 7.0 merge window, so no 6.19.y release ever picked it up. I confirmed this by comparing drivers/pci/setup-bus.c at the v6.19 and v7.0 tags: 6.19 still has the old window sizing, 7.0 has the new tight-fit code.
On the 7.0 side, the bug is still present in 7.0.12 (which is what Ubuntu 24.04 HWE's 7.0.0-30 is built from). The two follow-up fixes already in 7.0.12 (8cb081667377 and dc4b4d04e1ca) address different cases and don't cover this one, and current mainline has no further change to that logic. So as of today there is no released 7.0.x kernel that works.
This includes the t2linux kernels. Their 7.0 builds are upstream 7.0.x plus the T2 patch set, and none of those patches touch the PCI bridge window sizing code, so every t2linux 7.0 kernel has the same bug. If you're on a T2 Mac, stay on the t2linux 6.19 (or earlier 6.x) kernel for now.
Further information about this bug:
Patch: https://github.com/nbritton/lab/blob/main/ubuild/0001-PCI-Account-for-alignment-padding-of-resources-larger.patch
The regression comes from commit 3958bf16e2fe ("PCI: Stop over-estimating bridge window size"). It was written against a 6.19-rc1 base in the PCI maintainer's tree, but it didn't land in Linus's tree until the 7.0 merge window, so no 6.19.y release ever picked it up. I confirmed this by comparing drivers/pci/setup-bus.c at the v6.19 and v7.0 tags: 6.19 still has the old window sizing, 7.0 has the new tight-fit code.
On the 7.0 side, the bug is still present in 7.0.12 (which is what Ubuntu 24.04 HWE's 7.0.0-30 is built from). The two follow-up fixes already in 7.0.12 (8cb081667377 and dc4b4d04e1ca) address different cases and don't cover this one, and current mainline has no further change to that logic. So as of today there is no released 7.0.x kernel that works.
This includes the t2linux kernels. Their 7.0 builds are upstream 7.0.x plus the T2 patch set, and none of those patches touch the PCI bridge window sizing code, so every t2linux 7.0 kernel has the same bug. If you're on a T2 Mac, stay on the t2linux 6.19 (or earlier 6.x) kernel for now.
Further information about this bug:
Patch: https://github.com/nbritton/lab/blob/main/ubuild/0001-PCI-Account-for-alignment-padding-of-resources-larger.patch