diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/virtio_disk.c | 6 | 
1 files changed, 3 insertions, 3 deletions
| diff --git a/kernel/virtio_disk.c b/kernel/virtio_disk.c index df4473d..9ebe695 100644 --- a/kernel/virtio_disk.c +++ b/kernel/virtio_disk.c @@ -239,6 +239,9 @@ virtio_disk_rw(struct buf *b, int write)      sleep(b, &vdisk_lock);    } +  info[idx[0]].b = 0; +  free_chain(idx[0]); +    release(&vdisk_lock);  } @@ -256,9 +259,6 @@ virtio_disk_intr()      info[id].status = 1;      wakeup(info[id].b); -    info[id].b = 0; -    free_chain(id); -      used_idx = (used_idx + 1) % NUM;    } | 
