aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ata/ata-disk.c
diff options
context:
space:
mode:
authorSøren Schmidt <sos@FreeBSD.org>2008-04-17 12:29:35 +0000
committerSøren Schmidt <sos@FreeBSD.org>2008-04-17 12:29:35 +0000
commit104c094e0674fcaccab37258f5bf53b8471bd396 (patch)
treeb12f34c4c9498ff9f554b3fab04f8ac66236b802 /sys/dev/ata/ata-disk.c
parent1690c6c1be7dbbfa140aa17b11332b77aa44a07e (diff)
Notes
Diffstat (limited to 'sys/dev/ata/ata-disk.c')
-rw-r--r--sys/dev/ata/ata-disk.c9
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;