Page MenuHomeFreeBSD

xhci: Handle the case when MSI-X BAR is same as IO BAR.
ClosedPublic

Authored by kib on Oct 22 2020, 11:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Dec 20 2023, 5:31 AM
Unknown Object (File)
Nov 6 2023, 10:59 AM
Unknown Object (File)
Oct 24 2023, 11:12 PM
Unknown Object (File)
Oct 5 2023, 9:56 AM
Unknown Object (File)
Sep 2 2023, 3:46 AM
Unknown Object (File)
Sep 2 2023, 3:45 AM
Unknown Object (File)
Sep 2 2023, 3:42 AM
Unknown Object (File)
Aug 27 2023, 12:58 PM
Subscribers

Details

Summary

PCIe allows for MSI-X BAR to be either dedicated, or MSI-X Table may be co-located in some functional BAR. In the later case xhci(4) is unable to allocate active resource for the table because BAR is already activated.

Handle it by checking for this special case, and not try to alloc resource if MSI-X BAR is IO.

Reported and tested by: emaste

Note. It seems that a similar issue exists in iflib.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kib requested review of this revision.Oct 22 2020, 11:18 PM

LGTM and confirm it fixes the "Unable to map MSI-X table" issue on the machine I'm testing on.

sys/dev/usb/controller/xhci_pci.c
288 ↗(On Diff #78621)

While here, drop the extraneous space before \n perhaps?

This revision is now accepted and ready to land.Oct 22 2020, 11:44 PM