Pi 5: VL805 on external PCIe fails to probe with "can't setup: -12" on 6.12.109, works on 6.12.75

Đang mở
#7,715 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
c, linux
Lĩnh vực
backend, operating-systems

Hướng nghiên cứu

Start by comparing the Raspberry Pi kernel changes between 6.12.75 and 6.12.109, then trace the xhci_hcd probe path that reports “can't setup: -12” and the VL805 initialization. Reproduce on a Pi 5 with the listed HAT and configuration, checking whether the failure is specific to this controller. Done means identifying and fixing the regression so both root hubs register and USB devices enumerate on 6.12.109.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Describe the bug

A VIA VL805 xHCI controller on a PCIe HAT connected to the Pi 5 external
PCIe connector fails to initialise on 6.12.109+rpt-rpi-2712. xhci_hcd
probe fails with -ENOMEM, no root hubs are registered, and no devices behind
the controller enumerate.

On the same system, with the same config.txt and the same boot firmware
(raspi-firmware 1:1.20260915-1~bookworm), 6.12.75+rpt-rpi-2712 works
normally: two root hubs appear, and USB devices (UVC cameras, an STM32 USB
device) enumerate and run.

Steps to reproduce the behaviour
  1. Pi 5 with Waveshare "PCIe to 4-Ch USB3.2 Gen1" HAT (VL805),
    dtparam=pciex1 in config.txt
  2. Boot 6.12.109+rpt-rpi-2712 -> probe fails with -12
  3. Boot 6.12.75+rpt-rpi-2712 (same firmware, same config) -> works
Device (s)

Raspberry Pi 5

System
  • Bad: 6.12.109+rpt-rpi-2712, also 6.12.109+rpt-rpi-v8 (4K pages)
  • Good: 6.12.75+rpt-rpi-2712
  • raspi-firmware 1:1.20260915-1~bookworm, rpi-eeprom 28.33-1
Logs

xhci_hcd 0001:01:00.0: xHCI Host Controller
xhci_hcd 0001:01:00.0: new USB bus registered, assigned bus number 1
xhci_hcd 0001:01:00.0: can't setup: -12
xhci_hcd 0001:01:00.0: USB bus 1 deregistered
xhci_hcd 0001:01:00.0: init 0001:01:00.0 fail, -12
xhci_hcd 0001:01:00.0: probe with driver xhci_hcd failed with error -12

PCIe enumeration is fine: "ASPM: VL805 fixup applied", BAR 0 assigned at
0x1b80000000, link 5 GT/s x1, no AER errors.

Additional context

Ruled out on 6.12.109:

  • CMA: 64 MiB total, ~54 MiB free at time of failure

  • Page size: fails identically on the 4K-page rpi-v8 kernel

  • dtoverlay=pciex1-compat-pi5,no-mip: no change

  • Removing a duplicate auto-detected DSI overlay: no change

  • Controller state: VL805 firmware 0x00013705 running, capability
    registers read via BAR0 on the failing kernel are sane:

    CAPLEN/HCIVER 01000020
    HCSPARAMS1 05000420 (32 slots, 4 intrs, 5 ports)
    HCSPARAMS2 fc000031 (31 scratchpad bufs, ERST max 2^3)
    HCSPARAMS3 00e70004
    HCCPARAMS1 002841eb (AC64, xECP 0xA0)
    DBOFF 00000100
    RTSOFF 00000200
    USBSTS 00000011 (HCH set, CNR clear)
    PAGESIZE 00000001

The kernels between 6.12.75 and 6.12.109 were not installed, so I could not
narrow the range further. Happy to test builds.

Ngôn ngữ chính
C
Star
13.3k
Fork
5.5k
Merge trung bình
1 ngày 7 giờ
Pull request đã merge (30 ngày)
16

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của raspberrypi/linux

Tất cả issue của raspberrypi/linux

Issue tương tự

Thêm issue về C

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.