aboutsummaryrefslogtreecommitdiffstats
path: root/block/scsi_ioctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/scsi_ioctl.c')
-rw-r--r--block/scsi_ioctl.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c
index 9b8eaeca6a79..abb2e65b24cc 100644
--- a/block/scsi_ioctl.c
+++ b/block/scsi_ioctl.c
@@ -316,8 +316,8 @@ static int sg_io(struct request_queue *q, struct gendisk *bd_disk,
316 316
317 ret = -ENOMEM; 317 ret = -ENOMEM;
318 rq = blk_get_request(q, writing ? WRITE : READ, GFP_KERNEL); 318 rq = blk_get_request(q, writing ? WRITE : READ, GFP_KERNEL);
319 if (!rq) 319 if (IS_ERR(rq))
320 goto out; 320 return PTR_ERR(rq);
321 blk_rq_set_block_pc(rq); 321 blk_rq_set_block_pc(rq);
322 322
323 if (hdr->cmd_len > BLK_MAX_CDB) { 323 if (hdr->cmd_len > BLK_MAX_CDB) {
@@ -387,7 +387,6 @@ out_free_cdb:
387 kfree(rq->cmd); 387 kfree(rq->cmd);
388out_put_request: 388out_put_request:
389 blk_put_request(rq); 389 blk_put_request(rq);
390out:
391 return ret; 390 return ret;
392} 391}
393 392
@@ -457,8 +456,8 @@ int sg_scsi_ioctl(struct request_queue *q, struct gendisk *disk, fmode_t mode,
457 } 456 }
458 457
459 rq = blk_get_request(q, in_len ? WRITE : READ, __GFP_WAIT); 458 rq = blk_get_request(q, in_len ? WRITE : READ, __GFP_WAIT);
460 if (!rq) { 459 if (IS_ERR(rq)) {
461 err = -ENOMEM; 460 err = PTR_ERR(rq);
462 goto error; 461 goto error;
463 } 462 }
464 blk_rq_set_block_pc(rq); 463 blk_rq_set_block_pc(rq);
@@ -548,6 +547,8 @@ static int __blk_send_generic(struct request_queue *q, struct gendisk *bd_disk,
548 int err; 547 int err;
549 548
550 rq = blk_get_request(q, WRITE, __GFP_WAIT); 549 rq = blk_get_request(q, WRITE, __GFP_WAIT);
550 if (IS_ERR(rq))
551 return PTR_ERR(rq);
551 blk_rq_set_block_pc(rq); 552 blk_rq_set_block_pc(rq);
552 rq->timeout = BLK_DEFAULT_SG_TIMEOUT; 553 rq->timeout = BLK_DEFAULT_SG_TIMEOUT;
553 rq->cmd[0] = cmd; 554 rq->cmd[0] = cmd;