[SCSI] remove scsi_wait_req
This function has been superceeded by the block request based interfaces and is unused (except for the uncompilable cpqfc driver). Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
474838d5e5
commit
262eef663b
2 changed files with 0 additions and 52 deletions
|
@ -254,55 +254,6 @@ void scsi_do_req(struct scsi_request *sreq, const void *cmnd,
|
|||
}
|
||||
EXPORT_SYMBOL(scsi_do_req);
|
||||
|
||||
/* This is the end routine we get to if a command was never attached
|
||||
* to the request. Simply complete the request without changing
|
||||
* rq_status; this will cause a DRIVER_ERROR. */
|
||||
static void scsi_wait_req_end_io(struct request *req)
|
||||
{
|
||||
BUG_ON(!req->waiting);
|
||||
|
||||
complete(req->waiting);
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
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;
|
||||
req->cmd_len = COMMAND_SIZE(((u8 *)cmnd)[0]);
|
||||
req->sense = sreq->sr_sense_buffer;
|
||||
req->sense_len = 0;
|
||||
memcpy(req->cmd, cmnd, req->cmd_len);
|
||||
req->timeout = timeout;
|
||||
req->flags |= REQ_BLOCK_PC;
|
||||
req->rq_disk = NULL;
|
||||
blk_insert_request(sreq->sr_device->request_queue, req,
|
||||
sreq->sr_data_direction == DMA_TO_DEVICE, NULL);
|
||||
wait_for_completion(&wait);
|
||||
sreq->sr_request->waiting = NULL;
|
||||
sreq->sr_result = req->errors;
|
||||
if (req->errors)
|
||||
sreq->sr_result |= (DRIVER_ERROR << 24);
|
||||
|
||||
blk_put_request(req);
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(scsi_wait_req);
|
||||
|
||||
/**
|
||||
* scsi_execute - insert request and wait for the result
|
||||
* @sdev: scsi device
|
||||
|
|
|
@ -47,9 +47,6 @@ struct scsi_request {
|
|||
|
||||
extern struct scsi_request *scsi_allocate_request(struct scsi_device *, gfp_t);
|
||||
extern void scsi_release_request(struct scsi_request *);
|
||||
extern void scsi_wait_req(struct scsi_request *, const void *cmnd,
|
||||
void *buffer, unsigned bufflen,
|
||||
int timeout, int retries);
|
||||
extern void scsi_do_req(struct scsi_request *, const void *cmnd,
|
||||
void *buffer, unsigned bufflen,
|
||||
void (*done) (struct scsi_cmnd *),
|
||||
|
|
Loading…
Reference in a new issue