|
@@ -272,7 +272,7 @@ static struct request *get_req(struct scsi_device *sdev, int cmd,
|
|
|
int len = 0;
|
|
|
|
|
|
rq = blk_get_request(sdev->request_queue,
|
|
|
- (cmd == MODE_SELECT) ? WRITE : READ, GFP_NOIO);
|
|
|
+ (cmd != INQUIRY) ? WRITE : READ, GFP_NOIO);
|
|
|
if (!rq) {
|
|
|
sdev_printk(KERN_INFO, sdev, "get_req: blk_get_request failed");
|
|
|
return NULL;
|
|
@@ -286,14 +286,17 @@ static struct request *get_req(struct scsi_device *sdev, int cmd,
|
|
|
len = sizeof(short_trespass);
|
|
|
rq->cmd_flags |= REQ_RW;
|
|
|
rq->cmd[1] = 0x10;
|
|
|
+ rq->cmd[4] = len;
|
|
|
break;
|
|
|
case MODE_SELECT_10:
|
|
|
len = sizeof(long_trespass);
|
|
|
rq->cmd_flags |= REQ_RW;
|
|
|
rq->cmd[1] = 0x10;
|
|
|
+ rq->cmd[8] = len;
|
|
|
break;
|
|
|
case INQUIRY:
|
|
|
len = CLARIION_BUFFER_SIZE;
|
|
|
+ rq->cmd[4] = len;
|
|
|
memset(buffer, 0, len);
|
|
|
break;
|
|
|
default:
|
|
@@ -301,7 +304,6 @@ static struct request *get_req(struct scsi_device *sdev, int cmd,
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- rq->cmd[4] = len;
|
|
|
rq->cmd_type = REQ_TYPE_BLOCK_PC;
|
|
|
rq->cmd_flags |= REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT |
|
|
|
REQ_FAILFAST_DRIVER;
|