|
@@ -252,9 +252,9 @@ int scsi_execute(struct scsi_device *sdev, const unsigned char *cmd,
|
|
|
struct scsi_request *rq;
|
|
|
int ret = DRIVER_ERROR << 24;
|
|
|
|
|
|
- req = blk_get_request(sdev->request_queue,
|
|
|
+ req = blk_get_request_flags(sdev->request_queue,
|
|
|
data_direction == DMA_TO_DEVICE ?
|
|
|
- REQ_OP_SCSI_OUT : REQ_OP_SCSI_IN, __GFP_RECLAIM);
|
|
|
+ REQ_OP_SCSI_OUT : REQ_OP_SCSI_IN, BLK_MQ_REQ_PREEMPT);
|
|
|
if (IS_ERR(req))
|
|
|
return ret;
|
|
|
rq = scsi_req(req);
|
|
@@ -268,7 +268,7 @@ int scsi_execute(struct scsi_device *sdev, const unsigned char *cmd,
|
|
|
rq->retries = retries;
|
|
|
req->timeout = timeout;
|
|
|
req->cmd_flags |= flags;
|
|
|
- req->rq_flags |= rq_flags | RQF_QUIET | RQF_PREEMPT;
|
|
|
+ req->rq_flags |= rq_flags | RQF_QUIET;
|
|
|
|
|
|
/*
|
|
|
* head injection *required* here otherwise quiesce won't work
|