From 48352be82574e39a54e44b5ed38d407dcb66a0bb Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Mon, 31 Jul 2017 16:05:58 +0200 Subject: usbxhci: provide shutdown function to halt the controller --- sys/src/9/pc/usbxhci.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sys/src/9/pc/usbxhci.c b/sys/src/9/pc/usbxhci.c index 9ab4b648c..dcb1ab10f 100644 --- a/sys/src/9/pc/usbxhci.c +++ b/sys/src/9/pc/usbxhci.c @@ -765,8 +765,16 @@ allocslot(Ctlr *ctlr, Udev *dev) } static void -shutdown(Hci *) +shutdown(Hci *hp) { + Ctlr *ctlr = hp->aux; + int i; + + ctlr->opr[USBCMD] = 0; + for(i=0; (ctlr->opr[USBSTS] & HCH) == 0 && i < 10; i++) + delay(10); + intrdisable(ctlr->pcidev->intl, hp->interrupt, hp, ctlr->pcidev->tbdf, hp->type); + pciclrbme(ctlr->pcidev); } static void @@ -1384,7 +1392,7 @@ portstatus(Hci *hp, int port) } static int -portenable(Hci *, int port, int on) +portenable(Hci*, int, int) { return 0; } -- cgit v1.2.3