diff options
Diffstat (limited to 'sys/dev/ata/ata-disk.c')
-rw-r--r-- | sys/dev/ata/ata-disk.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c index 598d6df..619f1fe 100644 --- a/sys/dev/ata/ata-disk.c +++ b/sys/dev/ata/ata-disk.c @@ -301,6 +301,13 @@ adstrategy(struct buf *bp) struct ad_softc *adp = bp->b_dev->si_drv1; int32_t s; + /* if it's a null transfer, return immediatly. */ + if (bp->b_bcount == 0) { + bp->b_resid = 0; + biodone(bp); + return; + } + s = splbio(); bufqdisksort(&adp->queue, bp); ad_start(adp); |