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
F107368952: D26913.diff
Mon, Jan 13, 3:59 AM
Unknown Object (File)
Sat, Jan 11, 5:02 PM
Unknown Object (File)
Nov 14 2024, 5:34 AM
Unknown Object (File)
Nov 8 2024, 7:39 AM
Unknown Object (File)
Oct 11 2024, 1:50 PM
Unknown Object (File)
Sep 27 2024, 10:28 AM
Unknown Object (File)
Sep 23 2024, 4:22 PM
Unknown Object (File)
Sep 18 2024, 6:49 AM
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