Lines Matching refs:rq

173 					   struct esas2r_request *rq,
181 if (unlikely(rq->req_stat != RS_SUCCESS)) {
182 memcpy(&rq->func_rsp, &rsp->func_rsp, sizeof(rsp->func_rsp));
184 if (rq->req_stat == RS_ABORTED) {
185 if (rq->timeout > RQ_MAX_TIMEOUT)
186 rq->req_stat = RS_TIMEOUT;
187 } else if (rq->req_stat == RS_SCSI_ERROR) {
188 u8 scsistatus = rq->func_rsp.scsi_rsp.scsi_stat;
197 rq->req_stat = RS_SUCCESS;
198 rq->func_rsp.scsi_rsp.scsi_stat =
210 struct esas2r_request *rq;
262 rq = a->req_table[LOWORD(handle)];
264 if (unlikely(rq == NULL || rq->vrq->scsi.handle != handle)) {
269 list_del(&rq->req_list);
272 rq->req_stat = rsp->req_stat;
275 esas2r_trace("rq: %p", rq);
276 esas2r_trace("req_status: %x", rq->req_stat);
278 if (likely(rq->vrq->scsi.function == VDA_FUNC_SCSI)) {
279 esas2r_handle_outbound_rsp_err(a, rq, rsp);
285 memcpy(&rq->func_rsp, &rsp->func_rsp,
290 list_add_tail(&rq->comp_list, &comp_list);
309 struct esas2r_request *rq;
347 rq = list_entry(element, struct esas2r_request,
350 if (rq->req_stat != RS_PENDING) {
352 list_add_tail(&rq->comp_list, &comp_list);
360 else if (rq->req_type == RT_DISC_REQ) {
362 esas2r_disc_local_start_request(a, rq);
365 esas2r_local_start_request(a, rq);
390 struct esas2r_request *rq = &a->general_req;
403 if (rq->interrupt_cx) {
404 dc = (struct esas2r_disc_context *)rq->interrupt_cx;
418 rq->interrupt_cx = NULL;
419 rq->interrupt_cb = NULL;
421 rq->comp_cb = esas2r_dummy_complete;
433 rq = list_entry(element, struct esas2r_request, req_list);
435 if (rq->req_stat == RS_STARTED)
436 if (esas2r_ioreq_aborted(a, rq, RS_ABORTED))
437 list_add_tail(&rq->comp_list, &comp_list);
448 struct esas2r_request *rq;
462 rq = list_entry(element, struct esas2r_request, req_list);
463 if (esas2r_ioreq_aborted(a, rq, RS_ABORTED))
464 list_add_tail(&rq->comp_list, &comp_list);
749 void esas2r_ae_complete(struct esas2r_adapter *a, struct esas2r_request *rq)
752 (union atto_vda_ae *)rq->vda_rsp_data->ae_data.event_data;
753 u32 length = le32_to_cpu(rq->func_rsp.ae_rsp.length);
755 (union atto_vda_ae *)(rq->vda_rsp_data->ae_data.event_data
766 rq, length);
848 esas2r_start_ae_request(a, rq);
876 void esas2r_dummy_complete(struct esas2r_adapter *a, struct esas2r_request *rq)
880 struct esas2r_request *rq)
884 snslen = snslen2 = rq->func_rsp.scsi_rsp.sense_len;
886 if (snslen > rq->sense_len)
887 snslen = rq->sense_len;
890 if (rq->sense_buf)
891 memcpy(rq->sense_buf, rq->data_buf, snslen);
893 rq->sense_buf = (u8 *)rq->data_buf;
897 u8 *s = (u8 *)rq->data_buf;
903 esas2r_trace("rq->target_id: %d",
904 rq->target_id);
905 esas2r_target_state_changed(a, rq->target_id,
915 rq->sense_len = snslen;
920 struct esas2r_request *rq)
922 if (rq->vrq->scsi.function == VDA_FUNC_FLASH
923 && rq->vrq->flash.sub_func == VDA_FLASH_COMMIT)
928 if (rq->interrupt_cb) {
929 (*rq->interrupt_cb)(a, rq);
931 if (rq->req_stat == RS_PENDING) {
932 esas2r_start_request(a, rq);
937 if (likely(rq->vrq->scsi.function == VDA_FUNC_SCSI)
938 && unlikely(rq->req_stat != RS_SUCCESS)) {
939 esas2r_check_req_rsp_sense(a, rq);
940 esas2r_log_request_failure(a, rq);
943 (*rq->comp_cb)(a, rq);