From cd108e2f0b45fd44503528e210d82e47acceebe7 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sat, 29 Jul 2017 01:12:32 +0200 Subject: [PATCH] usbxhci: simplify xecp() --- sys/src/9/pc/usbxhci.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/sys/src/9/pc/usbxhci.c b/sys/src/9/pc/usbxhci.c index 4851368c8..c23ee0a66 100644 --- a/sys/src/9/pc/usbxhci.c +++ b/sys/src/9/pc/usbxhci.c @@ -317,22 +317,20 @@ xecp(Ctlr *ctlr, uchar id, u32int *p) { u32int x; - if(p != nil) { - x = *p; - goto Next; - } - x = ctlr->hccparams>>16; - if(x == 0) - return nil; - p = ctlr->mmio + x; - while(((x = *p) & 255) != id){ - Next: - x >>= 8, x &= 255; - if(x == 0) - return nil; + if(p == nil){ + p = ctlr->mmio; + x = ctlr->hccparams>>16; + } else + x = (*p>>8) & 255; + while(x != 0){ p += x; + x = *p; + if((x & 255) == id) + return p; + x >>= 8; + x &= 255; } - return p; + return nil; } static void