diff --git a/sys/src/9/pc/ether8169.c b/sys/src/9/pc/ether8169.c index c17d0a51e..6c9a610ec 100644 --- a/sys/src/9/pc/ether8169.c +++ b/sys/src/9/pc/ether8169.c @@ -765,11 +765,13 @@ rtl8169attach(Ether* edev) ctlr->rd = nil; free(ctlr->dtcc); ctlr->dtcc = nil; - qlock(&ctlr->alock); + qunlock(&ctlr->alock); error(Enomem); } ctlr->init = 1; kproc("rtl8169", rtl8169reseter, edev); + + /* rtl8169reseter() does qunlock(&ctlr->alock) when complete */ qlock(&ctlr->alock); } qunlock(&ctlr->alock);