Lines Matching refs:job
300 struct fc_bsg_job *job; in lpfc_bsg_send_mgmt_cmd_cmp() local
313 job = dd_data->set_job; in lpfc_bsg_send_mgmt_cmd_cmp()
314 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp()
316 job->dd_data = NULL; in lpfc_bsg_send_mgmt_cmd_cmp()
334 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp()
353 job->reply->reply_payload_rcv_len = in lpfc_bsg_send_mgmt_cmd_cmp()
354 lpfc_bsg_copy_data(rmp, &job->reply_payload, in lpfc_bsg_send_mgmt_cmd_cmp()
369 if (job) { in lpfc_bsg_send_mgmt_cmd_cmp()
370 job->reply->result = rc; in lpfc_bsg_send_mgmt_cmd_cmp()
371 job->job_done(job); in lpfc_bsg_send_mgmt_cmd_cmp()
381 lpfc_bsg_send_mgmt_cmd(struct fc_bsg_job *job) in lpfc_bsg_send_mgmt_cmd() argument
383 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_send_mgmt_cmd()
385 struct lpfc_rport_data *rdata = job->rport->dd_data; in lpfc_bsg_send_mgmt_cmd()
401 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_send_mgmt_cmd()
445 cmp = lpfc_alloc_bsg_buffers(phba, job->request_payload.payload_len, in lpfc_bsg_send_mgmt_cmd()
451 lpfc_bsg_copy_data(cmp, &job->request_payload, in lpfc_bsg_send_mgmt_cmd()
452 job->request_payload.payload_len, 1); in lpfc_bsg_send_mgmt_cmd()
456 rmp = lpfc_alloc_bsg_buffers(phba, job->reply_payload.payload_len, 0, in lpfc_bsg_send_mgmt_cmd()
493 dd_data->set_job = job; in lpfc_bsg_send_mgmt_cmd()
497 job->dd_data = dd_data; in lpfc_bsg_send_mgmt_cmd()
527 job->dd_data = NULL; in lpfc_bsg_send_mgmt_cmd()
545 job->reply->result = rc; in lpfc_bsg_send_mgmt_cmd()
546 job->dd_data = NULL; in lpfc_bsg_send_mgmt_cmd()
573 struct fc_bsg_job *job; in lpfc_bsg_rport_els_cmp() local
589 job = dd_data->set_job; in lpfc_bsg_rport_els_cmp()
590 if (job) { in lpfc_bsg_rport_els_cmp()
592 job->dd_data = NULL; in lpfc_bsg_rport_els_cmp()
609 if (job) { in lpfc_bsg_rport_els_cmp()
612 job->reply->reply_payload_rcv_len = in lpfc_bsg_rport_els_cmp()
613 sg_copy_from_buffer(job->reply_payload.sg_list, in lpfc_bsg_rport_els_cmp()
614 job->reply_payload.sg_cnt, in lpfc_bsg_rport_els_cmp()
618 job->reply->reply_payload_rcv_len = in lpfc_bsg_rport_els_cmp()
622 els_reply = &job->reply->reply_data.ctels_reply; in lpfc_bsg_rport_els_cmp()
639 if (job) { in lpfc_bsg_rport_els_cmp()
640 job->reply->result = rc; in lpfc_bsg_rport_els_cmp()
641 job->job_done(job); in lpfc_bsg_rport_els_cmp()
651 lpfc_bsg_rport_els(struct fc_bsg_job *job) in lpfc_bsg_rport_els() argument
653 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_rport_els()
655 struct lpfc_rport_data *rdata = job->rport->dd_data; in lpfc_bsg_rport_els()
667 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_rport_els()
673 if (job->request_payload.payload_len > FCELSSIZE) { in lpfc_bsg_rport_els()
687 elscmd = job->request->rqst_data.r_els.els_code; in lpfc_bsg_rport_els()
688 cmdsize = job->request_payload.payload_len; in lpfc_bsg_rport_els()
712 sg_copy_to_buffer(job->request_payload.sg_list, in lpfc_bsg_rport_els()
713 job->request_payload.sg_cnt, in lpfc_bsg_rport_els()
726 dd_data->set_job = job; in lpfc_bsg_rport_els()
730 job->dd_data = dd_data; in lpfc_bsg_rport_els()
760 job->dd_data = NULL; in lpfc_bsg_rport_els()
774 job->reply->result = rc; in lpfc_bsg_rport_els()
775 job->dd_data = NULL; in lpfc_bsg_rport_els()
920 struct fc_bsg_job *job = NULL; in lpfc_bsg_ct_unsol_event() local
1119 job = dd_data->set_job; in lpfc_bsg_ct_unsol_event()
1122 if (job) { in lpfc_bsg_ct_unsol_event()
1123 job->reply->reply_payload_rcv_len = size; in lpfc_bsg_ct_unsol_event()
1125 job->reply->result = 0; in lpfc_bsg_ct_unsol_event()
1126 job->dd_data = NULL; in lpfc_bsg_ct_unsol_event()
1129 job->job_done(job); in lpfc_bsg_ct_unsol_event()
1190 lpfc_bsg_hba_set_event(struct fc_bsg_job *job) in lpfc_bsg_hba_set_event() argument
1192 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_hba_set_event()
1201 if (job->request_len < in lpfc_bsg_hba_set_event()
1211 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_hba_set_event()
1256 dd_data->set_job = job; /* for unsolicited command */ in lpfc_bsg_hba_set_event()
1257 job->dd_data = dd_data; /* for fc transport timeout callback*/ in lpfc_bsg_hba_set_event()
1265 job->dd_data = NULL; in lpfc_bsg_hba_set_event()
1274 lpfc_bsg_hba_get_event(struct fc_bsg_job *job) in lpfc_bsg_hba_get_event() argument
1276 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_hba_get_event()
1285 if (job->request_len < in lpfc_bsg_hba_get_event()
1295 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_hba_get_event()
1298 job->reply->reply_data.vendor_reply.vendor_rsp; in lpfc_bsg_hba_get_event()
1318 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_hba_get_event()
1323 if (evt_dat->len > job->request_payload.payload_len) { in lpfc_bsg_hba_get_event()
1324 evt_dat->len = job->request_payload.payload_len; in lpfc_bsg_hba_get_event()
1328 job->request_payload.payload_len); in lpfc_bsg_hba_get_event()
1334 job->reply->reply_payload_rcv_len = in lpfc_bsg_hba_get_event()
1335 sg_copy_from_buffer(job->request_payload.sg_list, in lpfc_bsg_hba_get_event()
1336 job->request_payload.sg_cnt, in lpfc_bsg_hba_get_event()
1339 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_hba_get_event()
1349 job->dd_data = NULL; in lpfc_bsg_hba_get_event()
1350 job->reply->result = 0; in lpfc_bsg_hba_get_event()
1351 job->job_done(job); in lpfc_bsg_hba_get_event()
1355 job->dd_data = NULL; in lpfc_bsg_hba_get_event()
1356 job->reply->result = rc; in lpfc_bsg_hba_get_event()
1383 struct fc_bsg_job *job; in lpfc_issue_ct_rsp_cmp() local
1394 job = dd_data->set_job; in lpfc_issue_ct_rsp_cmp()
1395 if (job) { in lpfc_issue_ct_rsp_cmp()
1397 job->dd_data = NULL; in lpfc_issue_ct_rsp_cmp()
1413 if (job) { in lpfc_issue_ct_rsp_cmp()
1431 job->reply->reply_payload_rcv_len = 0; in lpfc_issue_ct_rsp_cmp()
1444 if (job) { in lpfc_issue_ct_rsp_cmp()
1445 job->reply->result = rc; in lpfc_issue_ct_rsp_cmp()
1446 job->job_done(job); in lpfc_issue_ct_rsp_cmp()
1460 lpfc_issue_ct_rsp(struct lpfc_hba *phba, struct fc_bsg_job *job, uint32_t tag, in lpfc_issue_ct_rsp() argument
1561 dd_data->set_job = job; in lpfc_issue_ct_rsp()
1565 job->dd_data = dd_data; in lpfc_issue_ct_rsp()
1591 job->dd_data = NULL; in lpfc_issue_ct_rsp()
1606 lpfc_bsg_send_mgmt_rsp(struct fc_bsg_job *job) in lpfc_bsg_send_mgmt_rsp() argument
1608 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_send_mgmt_rsp()
1611 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_send_mgmt_rsp()
1617 (unsigned long)job->request_payload.payload_len; in lpfc_bsg_send_mgmt_rsp()
1621 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_send_mgmt_rsp()
1643 cmp = lpfc_alloc_bsg_buffers(phba, job->request_payload.payload_len, in lpfc_bsg_send_mgmt_rsp()
1649 lpfc_bsg_copy_data(cmp, &job->request_payload, in lpfc_bsg_send_mgmt_rsp()
1650 job->request_payload.payload_len, 1); in lpfc_bsg_send_mgmt_rsp()
1652 rc = lpfc_issue_ct_rsp(phba, job, tag, cmp, bmp, bpl_entries); in lpfc_bsg_send_mgmt_rsp()
1667 job->reply->result = rc; in lpfc_bsg_send_mgmt_rsp()
1668 job->dd_data = NULL; in lpfc_bsg_send_mgmt_rsp()
1763 lpfc_sli3_bsg_diag_loopback_mode(struct lpfc_hba *phba, struct fc_bsg_job *job) in lpfc_sli3_bsg_diag_loopback_mode() argument
1774 job->reply->reply_payload_rcv_len = 0; in lpfc_sli3_bsg_diag_loopback_mode()
1776 if (job->request_len < sizeof(struct fc_bsg_request) + in lpfc_sli3_bsg_diag_loopback_mode()
1781 job->request_len, in lpfc_sli3_bsg_diag_loopback_mode()
1794 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_sli3_bsg_diag_loopback_mode()
1867 job->reply->result = rc; in lpfc_sli3_bsg_diag_loopback_mode()
1870 job->job_done(job); in lpfc_sli3_bsg_diag_loopback_mode()
2018 lpfc_sli4_bsg_diag_loopback_mode(struct lpfc_hba *phba, struct fc_bsg_job *job) in lpfc_sli4_bsg_diag_loopback_mode() argument
2025 job->reply->reply_payload_rcv_len = 0; in lpfc_sli4_bsg_diag_loopback_mode()
2027 if (job->request_len < sizeof(struct fc_bsg_request) + in lpfc_sli4_bsg_diag_loopback_mode()
2032 job->request_len, in lpfc_sli4_bsg_diag_loopback_mode()
2057 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_sli4_bsg_diag_loopback_mode()
2154 job->reply->result = rc; in lpfc_sli4_bsg_diag_loopback_mode()
2157 job->job_done(job); in lpfc_sli4_bsg_diag_loopback_mode()
2169 lpfc_bsg_diag_loopback_mode(struct fc_bsg_job *job) in lpfc_bsg_diag_loopback_mode() argument
2176 shost = job->shost; in lpfc_bsg_diag_loopback_mode()
2179 vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_diag_loopback_mode()
2187 rc = lpfc_sli3_bsg_diag_loopback_mode(phba, job); in lpfc_bsg_diag_loopback_mode()
2190 rc = lpfc_sli4_bsg_diag_loopback_mode(phba, job); in lpfc_bsg_diag_loopback_mode()
2205 lpfc_sli4_bsg_diag_mode_end(struct fc_bsg_job *job) in lpfc_sli4_bsg_diag_mode_end() argument
2214 shost = job->shost; in lpfc_sli4_bsg_diag_mode_end()
2217 vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_sli4_bsg_diag_mode_end()
2235 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_sli4_bsg_diag_mode_end()
2266 job->reply->result = rc; in lpfc_sli4_bsg_diag_mode_end()
2269 job->job_done(job); in lpfc_sli4_bsg_diag_mode_end()
2281 lpfc_sli4_bsg_link_diag_test(struct fc_bsg_job *job) in lpfc_sli4_bsg_link_diag_test() argument
2295 shost = job->shost; in lpfc_sli4_bsg_link_diag_test()
2300 vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_sli4_bsg_link_diag_test()
2321 if (job->request_len < sizeof(struct fc_bsg_request) + in lpfc_sli4_bsg_link_diag_test()
2326 job->request_len, in lpfc_sli4_bsg_link_diag_test()
2338 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_sli4_bsg_link_diag_test()
2388 job->reply->reply_data.vendor_reply.vendor_rsp; in lpfc_sli4_bsg_link_diag_test()
2390 if (job->reply_len < in lpfc_sli4_bsg_link_diag_test()
2397 job->reply_len); in lpfc_sli4_bsg_link_diag_test()
2416 job->reply->result = rc; in lpfc_sli4_bsg_link_diag_test()
2419 job->job_done(job); in lpfc_sli4_bsg_link_diag_test()
2985 lpfc_bsg_diag_loopback_run(struct fc_bsg_job *job) in lpfc_bsg_diag_loopback_run() argument
2987 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_diag_loopback_run()
3015 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_diag_loopback_run()
3017 if (job->request_len < in lpfc_bsg_diag_loopback_run()
3026 if (job->request_payload.payload_len != in lpfc_bsg_diag_loopback_run()
3027 job->reply_payload.payload_len) { in lpfc_bsg_diag_loopback_run()
3044 size = job->request_payload.payload_len; in lpfc_bsg_diag_loopback_run()
3076 sg_copy_to_buffer(job->request_payload.sg_list, in lpfc_bsg_diag_loopback_run()
3077 job->request_payload.sg_cnt, in lpfc_bsg_diag_loopback_run()
3240 job->reply->reply_payload_rcv_len = in lpfc_bsg_diag_loopback_run()
3241 sg_copy_from_buffer(job->reply_payload.sg_list, in lpfc_bsg_diag_loopback_run()
3242 job->reply_payload.sg_cnt, in lpfc_bsg_diag_loopback_run()
3244 job->reply->reply_payload_rcv_len = size; in lpfc_bsg_diag_loopback_run()
3274 job->reply->result = rc; in lpfc_bsg_diag_loopback_run()
3275 job->dd_data = NULL; in lpfc_bsg_diag_loopback_run()
3278 job->job_done(job); in lpfc_bsg_diag_loopback_run()
3287 lpfc_bsg_get_dfc_rev(struct fc_bsg_job *job) in lpfc_bsg_get_dfc_rev() argument
3289 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_get_dfc_rev()
3294 if (job->request_len < in lpfc_bsg_get_dfc_rev()
3304 job->reply->reply_data.vendor_reply.vendor_rsp; in lpfc_bsg_get_dfc_rev()
3306 if (job->reply_len < in lpfc_bsg_get_dfc_rev()
3318 job->reply->result = rc; in lpfc_bsg_get_dfc_rev()
3320 job->job_done(job); in lpfc_bsg_get_dfc_rev()
3339 struct fc_bsg_job *job; in lpfc_bsg_issue_mbox_cmpl() local
3357 job = dd_data->set_job; in lpfc_bsg_issue_mbox_cmpl()
3358 if (job) { in lpfc_bsg_issue_mbox_cmpl()
3360 job->dd_data = NULL; in lpfc_bsg_issue_mbox_cmpl()
3366 if (job) { in lpfc_bsg_issue_mbox_cmpl()
3367 size = job->reply_payload.payload_len; in lpfc_bsg_issue_mbox_cmpl()
3368 job->reply->reply_payload_rcv_len = in lpfc_bsg_issue_mbox_cmpl()
3369 sg_copy_from_buffer(job->reply_payload.sg_list, in lpfc_bsg_issue_mbox_cmpl()
3370 job->reply_payload.sg_cnt, in lpfc_bsg_issue_mbox_cmpl()
3381 if (job) { in lpfc_bsg_issue_mbox_cmpl()
3382 job->reply->result = 0; in lpfc_bsg_issue_mbox_cmpl()
3383 job->job_done(job); in lpfc_bsg_issue_mbox_cmpl()
3517 struct fc_bsg_job *job; in lpfc_bsg_issue_mbox_ext_handle_job() local
3530 job = dd_data->set_job; in lpfc_bsg_issue_mbox_ext_handle_job()
3531 if (job) { in lpfc_bsg_issue_mbox_ext_handle_job()
3533 job->dd_data = NULL; in lpfc_bsg_issue_mbox_ext_handle_job()
3560 if (job) { in lpfc_bsg_issue_mbox_ext_handle_job()
3561 size = job->reply_payload.payload_len; in lpfc_bsg_issue_mbox_ext_handle_job()
3562 job->reply->reply_payload_rcv_len = in lpfc_bsg_issue_mbox_ext_handle_job()
3563 sg_copy_from_buffer(job->reply_payload.sg_list, in lpfc_bsg_issue_mbox_ext_handle_job()
3564 job->reply_payload.sg_cnt, in lpfc_bsg_issue_mbox_ext_handle_job()
3568 job->reply->result = 0; in lpfc_bsg_issue_mbox_ext_handle_job()
3592 return job; in lpfc_bsg_issue_mbox_ext_handle_job()
3606 struct fc_bsg_job *job; in lpfc_bsg_issue_read_mbox_ext_cmpl() local
3608 job = lpfc_bsg_issue_mbox_ext_handle_job(phba, pmboxq); in lpfc_bsg_issue_read_mbox_ext_cmpl()
3611 if (!job) in lpfc_bsg_issue_read_mbox_ext_cmpl()
3626 if (job) in lpfc_bsg_issue_read_mbox_ext_cmpl()
3627 job->job_done(job); in lpfc_bsg_issue_read_mbox_ext_cmpl()
3643 struct fc_bsg_job *job; in lpfc_bsg_issue_write_mbox_ext_cmpl() local
3645 job = lpfc_bsg_issue_mbox_ext_handle_job(phba, pmboxq); in lpfc_bsg_issue_write_mbox_ext_cmpl()
3648 if (!job) in lpfc_bsg_issue_write_mbox_ext_cmpl()
3661 if (job) in lpfc_bsg_issue_write_mbox_ext_cmpl()
3662 job->job_done(job); in lpfc_bsg_issue_write_mbox_ext_cmpl()
3771 lpfc_bsg_sli_cfg_read_cmd_ext(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_sli_cfg_read_cmd_ext() argument
3787 (struct dfc_mbox_req *)job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_sli_cfg_read_cmd_ext()
3906 dd_data->set_job = job; in lpfc_bsg_sli_cfg_read_cmd_ext()
3909 job->dd_data = dd_data; in lpfc_bsg_sli_cfg_read_cmd_ext()
3958 lpfc_bsg_sli_cfg_write_cmd_ext(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_sli_cfg_write_cmd_ext() argument
3972 (struct dfc_mbox_req *)job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_sli_cfg_write_cmd_ext()
4075 dd_data->set_job = job; in lpfc_bsg_sli_cfg_write_cmd_ext()
4078 job->dd_data = dd_data; in lpfc_bsg_sli_cfg_write_cmd_ext()
4099 job->reply->result = 0; in lpfc_bsg_sli_cfg_write_cmd_ext()
4100 job->job_done(job); in lpfc_bsg_sli_cfg_write_cmd_ext()
4122 lpfc_bsg_handle_sli_cfg_mbox(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_handle_sli_cfg_mbox() argument
4149 rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job, in lpfc_bsg_handle_sli_cfg_mbox()
4159 rc = lpfc_bsg_sli_cfg_write_cmd_ext(phba, job, in lpfc_bsg_handle_sli_cfg_mbox()
4179 rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job, in lpfc_bsg_handle_sli_cfg_mbox()
4210 rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job, in lpfc_bsg_handle_sli_cfg_mbox()
4218 rc = lpfc_bsg_sli_cfg_write_cmd_ext(phba, job, in lpfc_bsg_handle_sli_cfg_mbox()
4271 lpfc_bsg_read_ebuf_get(struct lpfc_hba *phba, struct fc_bsg_job *job) in lpfc_bsg_read_ebuf_get() argument
4310 job->reply->reply_payload_rcv_len = in lpfc_bsg_read_ebuf_get()
4311 sg_copy_from_buffer(job->reply_payload.sg_list, in lpfc_bsg_read_ebuf_get()
4312 job->reply_payload.sg_cnt, in lpfc_bsg_read_ebuf_get()
4324 job->reply->result = 0; in lpfc_bsg_read_ebuf_get()
4325 job->job_done(job); in lpfc_bsg_read_ebuf_get()
4339 lpfc_bsg_write_ebuf_set(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_write_ebuf_set() argument
4362 size = job->request_payload.payload_len; in lpfc_bsg_write_ebuf_set()
4363 sg_copy_to_buffer(job->request_payload.sg_list, in lpfc_bsg_write_ebuf_set()
4364 job->request_payload.sg_cnt, in lpfc_bsg_write_ebuf_set()
4416 dd_data->set_job = job; in lpfc_bsg_write_ebuf_set()
4419 job->dd_data = dd_data; in lpfc_bsg_write_ebuf_set()
4439 job->reply->result = 0; in lpfc_bsg_write_ebuf_set()
4440 job->job_done(job); in lpfc_bsg_write_ebuf_set()
4460 lpfc_bsg_handle_sli_cfg_ebuf(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_handle_sli_cfg_ebuf() argument
4478 rc = lpfc_bsg_read_ebuf_get(phba, job); in lpfc_bsg_handle_sli_cfg_ebuf()
4490 rc = lpfc_bsg_write_ebuf_set(phba, job, dmabuf); in lpfc_bsg_handle_sli_cfg_ebuf()
4505 lpfc_bsg_handle_sli_cfg_ext(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_handle_sli_cfg_ext() argument
4512 (struct dfc_mbox_req *)job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_handle_sli_cfg_ext()
4525 rc = lpfc_bsg_handle_sli_cfg_mbox(phba, job, dmabuf); in lpfc_bsg_handle_sli_cfg_ext()
4548 rc = lpfc_bsg_handle_sli_cfg_ebuf(phba, job, dmabuf); in lpfc_bsg_handle_sli_cfg_ext()
4582 lpfc_bsg_issue_mbox(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_issue_mbox() argument
4603 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_issue_mbox()
4606 if (job->reply_payload.payload_len > BSG_MBOX_SIZE || in lpfc_bsg_issue_mbox()
4607 job->request_payload.payload_len > BSG_MBOX_SIZE) { in lpfc_bsg_issue_mbox()
4622 (struct dfc_mbox_req *)job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_issue_mbox()
4639 size = job->request_payload.payload_len; in lpfc_bsg_issue_mbox()
4640 sg_copy_to_buffer(job->request_payload.sg_list, in lpfc_bsg_issue_mbox()
4641 job->request_payload.sg_cnt, pmbx, size); in lpfc_bsg_issue_mbox()
4645 rc = lpfc_bsg_handle_sli_cfg_ext(phba, job, dmabuf); in lpfc_bsg_issue_mbox()
4825 dd_data->set_job = job; in lpfc_bsg_issue_mbox()
4832 job->dd_data = dd_data; in lpfc_bsg_issue_mbox()
4844 job->reply->reply_payload_rcv_len = in lpfc_bsg_issue_mbox()
4845 sg_copy_from_buffer(job->reply_payload.sg_list, in lpfc_bsg_issue_mbox()
4846 job->reply_payload.sg_cnt, in lpfc_bsg_issue_mbox()
4873 lpfc_bsg_mbox_cmd(struct fc_bsg_job *job) in lpfc_bsg_mbox_cmd() argument
4875 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_mbox_cmd()
4881 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_mbox_cmd()
4882 if (job->request_len < in lpfc_bsg_mbox_cmd()
4888 (int)(job->request_len - in lpfc_bsg_mbox_cmd()
4892 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_mbox_cmd()
4897 rc = lpfc_bsg_issue_mbox(phba, job, vport); in lpfc_bsg_mbox_cmd()
4901 job->reply->result = 0; in lpfc_bsg_mbox_cmd()
4902 job->dd_data = NULL; in lpfc_bsg_mbox_cmd()
4903 job->job_done(job); in lpfc_bsg_mbox_cmd()
4909 job->reply->result = rc; in lpfc_bsg_mbox_cmd()
4910 job->dd_data = NULL; in lpfc_bsg_mbox_cmd()
4939 struct fc_bsg_job *job; in lpfc_bsg_menlo_cmd_cmp() local
4957 job = dd_data->set_job; in lpfc_bsg_menlo_cmd_cmp()
4958 if (job) { in lpfc_bsg_menlo_cmd_cmp()
4960 job->dd_data = NULL; in lpfc_bsg_menlo_cmd_cmp()
4966 if (job) { in lpfc_bsg_menlo_cmd_cmp()
4973 job->reply->reply_data.vendor_reply.vendor_rsp; in lpfc_bsg_menlo_cmd_cmp()
4993 job->reply->reply_payload_rcv_len = in lpfc_bsg_menlo_cmd_cmp()
4994 lpfc_bsg_copy_data(rmp, &job->reply_payload, in lpfc_bsg_menlo_cmd_cmp()
5009 if (job) { in lpfc_bsg_menlo_cmd_cmp()
5010 job->reply->result = rc; in lpfc_bsg_menlo_cmd_cmp()
5011 job->job_done(job); in lpfc_bsg_menlo_cmd_cmp()
5027 lpfc_menlo_cmd(struct fc_bsg_job *job) in lpfc_menlo_cmd() argument
5029 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_menlo_cmd()
5042 job->reply->reply_payload_rcv_len = 0; in lpfc_menlo_cmd()
5044 if (job->request_len < in lpfc_menlo_cmd()
5054 if (job->reply_len < in lpfc_menlo_cmd()
5072 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_menlo_cmd()
5099 cmp = lpfc_alloc_bsg_buffers(phba, job->request_payload.payload_len, in lpfc_menlo_cmd()
5105 lpfc_bsg_copy_data(cmp, &job->request_payload, in lpfc_menlo_cmd()
5106 job->request_payload.payload_len, 1); in lpfc_menlo_cmd()
5110 rmp = lpfc_alloc_bsg_buffers(phba, job->reply_payload.payload_len, 0, in lpfc_menlo_cmd()
5159 dd_data->set_job = job; in lpfc_menlo_cmd()
5162 job->dd_data = dd_data; in lpfc_menlo_cmd()
5183 job->reply->result = rc; in lpfc_menlo_cmd()
5184 job->dd_data = NULL; in lpfc_menlo_cmd()
5193 lpfc_bsg_hst_vendor(struct fc_bsg_job *job) in lpfc_bsg_hst_vendor() argument
5195 int command = job->request->rqst_data.h_vendor.vendor_cmd[0]; in lpfc_bsg_hst_vendor()
5200 rc = lpfc_bsg_hba_set_event(job); in lpfc_bsg_hst_vendor()
5203 rc = lpfc_bsg_hba_get_event(job); in lpfc_bsg_hst_vendor()
5206 rc = lpfc_bsg_send_mgmt_rsp(job); in lpfc_bsg_hst_vendor()
5209 rc = lpfc_bsg_diag_loopback_mode(job); in lpfc_bsg_hst_vendor()
5212 rc = lpfc_sli4_bsg_diag_mode_end(job); in lpfc_bsg_hst_vendor()
5215 rc = lpfc_bsg_diag_loopback_run(job); in lpfc_bsg_hst_vendor()
5218 rc = lpfc_sli4_bsg_link_diag_test(job); in lpfc_bsg_hst_vendor()
5221 rc = lpfc_bsg_get_dfc_rev(job); in lpfc_bsg_hst_vendor()
5224 rc = lpfc_bsg_mbox_cmd(job); in lpfc_bsg_hst_vendor()
5228 rc = lpfc_menlo_cmd(job); in lpfc_bsg_hst_vendor()
5232 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_hst_vendor()
5234 job->reply->result = rc; in lpfc_bsg_hst_vendor()
5246 lpfc_bsg_request(struct fc_bsg_job *job) in lpfc_bsg_request() argument
5251 msgcode = job->request->msgcode; in lpfc_bsg_request()
5254 rc = lpfc_bsg_hst_vendor(job); in lpfc_bsg_request()
5257 rc = lpfc_bsg_rport_els(job); in lpfc_bsg_request()
5260 rc = lpfc_bsg_send_mgmt_cmd(job); in lpfc_bsg_request()
5264 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_request()
5266 job->reply->result = rc; in lpfc_bsg_request()
5281 lpfc_bsg_timeout(struct fc_bsg_job *job) in lpfc_bsg_timeout() argument
5283 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_timeout()
5303 dd_data = (struct bsg_job_data *)job->dd_data; in lpfc_bsg_timeout()
5306 job->dd_data = NULL; in lpfc_bsg_timeout()