block scsi_ioctl.c lk 2.5.66
Subsystems (2)
PATCH 1/1 block scsi_ioctl.c lk 2.5.66
Changelog:
- extends block SCSI_IOCTL_SEND_COMMAND timeout on SEND DIAGNOSTIC to the same as FORMAT (i.e. 2 hours)
- makes SCSI_IOCTL_SEND_COMMAND return SCSI status (rather than EIO) for compatibility
- make do_blk_rq() a static function
Doug Gilbert
drivers/block/scsi_ioctl.c2566dpg renamed from drivers/block/scsi_ioctl.c +5 -2
@@ -45,7 +45,8 @@ #define SCSI_SENSE_BUFFERSIZE 64 #endif -int blk_do_rq(request_queue_t *q, struct block_device *bdev, struct request *rq) +static int blk_do_rq(request_queue_t *q, struct block_device *bdev, + struct request *rq) { DECLARE_COMPLETION(wait); int err = 0;
@@ -368,6 +369,7 @@ goto error; switch (opcode) { + case SEND_DIAGNOSTIC: case FORMAT_UNIT: rq->timeout = FORMAT_UNIT_TIMEOUT; break;
@@ -398,7 +400,8 @@ if (in_len) rq->flags |= REQ_RW; - err = blk_do_rq(q, bdev, rq); + blk_do_rq(q, bdev, rq); + err = rq->errors & 0xff; /* only 8 bit SCSI status */ if (err) { if (rq->sense_len) if (copy_to_user(sic->data, rq->sense, rq->sense_len))