Lines Matching refs:req

55 	struct request *req = job->req;  in bsg_job_done()  local
56 struct request *rsp = req->next_rq; in bsg_job_done()
59 err = job->req->errors = result; in bsg_job_done()
62 job->req->sense_len = sizeof(u32); in bsg_job_done()
64 job->req->sense_len = job->reply_len; in bsg_job_done()
66 req->resid_len = 0; in bsg_job_done()
74 blk_complete_request(req); in bsg_job_done()
90 static int bsg_map_buffer(struct bsg_buffer *buf, struct request *req) in bsg_map_buffer() argument
92 size_t sz = (sizeof(struct scatterlist) * req->nr_phys_segments); in bsg_map_buffer()
94 BUG_ON(!req->nr_phys_segments); in bsg_map_buffer()
99 sg_init_table(buf->sg_list, req->nr_phys_segments); in bsg_map_buffer()
100 buf->sg_cnt = blk_rq_map_sg(req->q, req, buf->sg_list); in bsg_map_buffer()
101 buf->payload_len = blk_rq_bytes(req); in bsg_map_buffer()
110 static int bsg_create_job(struct device *dev, struct request *req) in bsg_create_job() argument
112 struct request *rsp = req->next_rq; in bsg_create_job()
113 struct request_queue *q = req->q; in bsg_create_job()
117 BUG_ON(req->special); in bsg_create_job()
123 req->special = job; in bsg_create_job()
124 job->req = req; in bsg_create_job()
127 job->request = req->cmd; in bsg_create_job()
128 job->request_len = req->cmd_len; in bsg_create_job()
129 job->reply = req->sense; in bsg_create_job()
132 if (req->bio) { in bsg_create_job()
133 ret = bsg_map_buffer(&job->request_payload, req); in bsg_create_job()
166 struct request *req; in bsg_request_fn() local
174 req = blk_fetch_request(q); in bsg_request_fn()
175 if (!req) in bsg_request_fn()
179 ret = bsg_create_job(dev, req); in bsg_request_fn()
181 req->errors = ret; in bsg_request_fn()
182 blk_end_request_all(req, ret); in bsg_request_fn()
187 job = req->special; in bsg_request_fn()