mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 05:48:40 +00:00
update scsi_wait_req to new format for blk_rq_map_kern()
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
e537a36d52
commit
8e6401187e
1 changed files with 10 additions and 7 deletions
|
@ -246,15 +246,18 @@ void scsi_wait_req(struct scsi_request *sreq, const void *cmnd, void *buffer,
|
|||
unsigned bufflen, int timeout, int retries)
|
||||
{
|
||||
DECLARE_COMPLETION(wait);
|
||||
int write = sreq->sr_data_direction == DMA_TO_DEVICE;
|
||||
struct request *req;
|
||||
|
||||
if (bufflen)
|
||||
req = blk_rq_map_kern(sreq->sr_device->request_queue,
|
||||
sreq->sr_data_direction == DMA_TO_DEVICE,
|
||||
buffer, bufflen, __GFP_WAIT);
|
||||
else
|
||||
req = blk_get_request(sreq->sr_device->request_queue, READ,
|
||||
__GFP_WAIT);
|
||||
req = blk_get_request(sreq->sr_device->request_queue, write,
|
||||
__GFP_WAIT);
|
||||
if (bufflen && blk_rq_map_kern(sreq->sr_device->request_queue, req,
|
||||
buffer, bufflen, __GFP_WAIT)) {
|
||||
sreq->sr_result = DRIVER_ERROR << 24;
|
||||
blk_put_request(req);
|
||||
return;
|
||||
}
|
||||
|
||||
req->flags |= REQ_NOMERGE;
|
||||
req->waiting = &wait;
|
||||
req->end_io = scsi_wait_req_end_io;
|
||||
|
|
Loading…
Reference in a new issue