summaryrefslogtreecommitdiffstats
path: root/sys/dev/ata/ata-queue.c
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2004-01-12 09:33:10 +0000
committersos <sos@FreeBSD.org>2004-01-12 09:33:10 +0000
commit58a7725eaf7f7f39f8863317d2eacb1174c0ee36 (patch)
tree225304cc5939c48119f41266b873051fb75634dd /sys/dev/ata/ata-queue.c
parent20e731302f5e94c769a9e771cc03119cdda8481f (diff)
downloadFreeBSD-src-58a7725eaf7f7f39f8863317d2eacb1174c0ee36.zip
FreeBSD-src-58a7725eaf7f7f39f8863317d2eacb1174c0ee36.tar.gz
Always return ENOMEM if ata_request_alloc fails so GEOM can dtrt.
Diffstat (limited to 'sys/dev/ata/ata-queue.c')
-rw-r--r--sys/dev/ata/ata-queue.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/ata/ata-queue.c b/sys/dev/ata/ata-queue.c
index 415d398..aa47437 100644
--- a/sys/dev/ata/ata-queue.c
+++ b/sys/dev/ata/ata-queue.c
@@ -153,11 +153,11 @@ ata_atapicmd(struct ata_device *atadev, u_int8_t *ccb, caddr_t data,
struct ata_request *request = ata_alloc_request();
int packet_size, error = ENOMEM;
- if ((atadev->param->config & ATA_PROTO_MASK) == ATA_PROTO_ATAPI_12)
- packet_size = 12;
- else
- packet_size = 16;
if (request) {
+ if ((atadev->param->config & ATA_PROTO_MASK) == ATA_PROTO_ATAPI_12)
+ packet_size = 12;
+ else
+ packet_size = 16;
request->device = atadev;
bcopy(ccb, request->u.atapi.ccb, packet_size);
request->data = data;
OpenPOWER on IntegriCloud