summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/port/usbxhci.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/src/9/port/usbxhci.c b/sys/src/9/port/usbxhci.c
index f9b61438e..5842a7b18 100644
--- a/sys/src/9/port/usbxhci.c
+++ b/sys/src/9/port/usbxhci.c
@@ -254,7 +254,7 @@ struct Ctlr
Rendez recover;
void *active;
- uintptr base;
+ uvlong base;
};
struct Epio
@@ -1697,7 +1697,7 @@ scanpci(void)
{
static int already = 0;
int i;
- uintptr io;
+ uvlong io;
Ctlr *ctlr;
Pcidev *p;
u32int *mmio;
@@ -1712,10 +1712,12 @@ scanpci(void)
*/
if(p->ccrb != Pcibcserial || p->ccru != Pciscusb || p->ccrp != 0x30)
continue;
+ if(p->mem[0].bar & 1)
+ continue;
io = p->mem[0].bar & ~0x0f;
if(io == 0)
continue;
- print("usbxhci: %#x %#x: port %#p size %#x irq %d\n",
+ print("usbxhci: %#x %#x: port %llux size %d irq %d\n",
p->vid, p->did, io, p->mem[0].size, p->intl);
mmio = vmap(io, p->mem[0].size);
if(mmio == nil){