Commit c94a7c69 authored by Gerd Hoffmann's avatar Gerd Hoffmann
Browse files

xhci: fix numintrs sanity checks

Make sure numintrs is a power of two, msi requires this.

https://bugzilla.redhat.com/show_bug.cgi?id=918035



Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
parent c874ea97
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -3290,6 +3290,9 @@ static int usb_xhci_initfn(struct PCIDevice *dev)
    if (xhci->numintrs > MAXINTRS) {
        xhci->numintrs = MAXINTRS;
    }
    while (xhci->numintrs & (xhci->numintrs - 1)) {   /* ! power of 2 */
        xhci->numintrs++;
    }
    if (xhci->numintrs < 1) {
        xhci->numintrs = 1;
    }