diff options
| author | Søren Schmidt <sos@FreeBSD.org> | 2008-04-17 12:29:35 +0000 |
|---|---|---|
| committer | Søren Schmidt <sos@FreeBSD.org> | 2008-04-17 12:29:35 +0000 |
| commit | 104c094e0674fcaccab37258f5bf53b8471bd396 (patch) | |
| tree | b12f34c4c9498ff9f554b3fab04f8ac66236b802 /sys/dev/ata/ata-disk.c | |
| parent | 1690c6c1be7dbbfa140aa17b11332b77aa44a07e (diff) | |
Notes
Diffstat (limited to 'sys/dev/ata/ata-disk.c')
| -rw-r--r-- | sys/dev/ata/ata-disk.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c index 668ae72d9f83..6bf9fd98b3b6 100644 --- a/sys/dev/ata/ata-disk.c +++ b/sys/dev/ata/ata-disk.c @@ -224,10 +224,11 @@ ad_spindown(void *priv) return; device_printf(dev, "Idle, spin down\n"); atadev->spindown_state = 1; - if (!(request = ata_alloc_request(dev))) { + if (!(request = ata_alloc_request())) { device_printf(dev, "FAILURE - out of memory in ad_spindown\n"); return; } + request->dev = dev; request->flags = ATA_R_CONTROL; request->timeout = 5; request->retries = 1; @@ -248,13 +249,14 @@ ad_strategy(struct bio *bp) callout_reset(&atadev->spindown_timer, hz * atadev->spindown, ad_spindown, dev); - if (!(request = ata_alloc_request(dev))) { + if (!(request = ata_alloc_request())) { device_printf(dev, "FAILURE - out of memory in start\n"); biofinish(bp, NULL, ENOMEM); return; } /* setup request */ + request->dev = dev; request->bio = bp; request->callback = ad_done; if (atadev->spindown_state) { @@ -448,10 +450,11 @@ ad_set_geometry(device_t dev) adp->total_secs / (adp->heads * adp->sectors), adp->heads, adp->sectors); - if (!(request = ata_alloc_request(dev))) + if (!(request = ata_alloc_request())) return; /* get the max native size the device supports */ + request->dev = dev; request->u.ata.command = ATA_READ_NATIVE_MAX_ADDRESS; request->u.ata.lba = 0; request->u.ata.count = 0; |
