diff --git a/memide.c b/memide.c index 38be9a4..63f0a24 100644 --- a/memide.c +++ b/memide.c @@ -39,8 +39,8 @@ iderw(struct buf *b) { uchar *p; - if(!(b->flags & B_BUSY)) - panic("iderw: buf not busy"); + if(!holdingsleep(&b->lock)) + panic("iderw: buf not locked"); if((b->flags & (B_VALID|B_DIRTY)) == B_VALID) panic("iderw: nothing to do"); if(b->dev != 1)