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()
921 struct fc_bsg_job *job = NULL; in lpfc_bsg_ct_unsol_event() local
1121 job = dd_data->set_job; in lpfc_bsg_ct_unsol_event()
1124 if (job) { in lpfc_bsg_ct_unsol_event()
1125 job->reply->reply_payload_rcv_len = size; in lpfc_bsg_ct_unsol_event()
1127 job->reply->result = 0; in lpfc_bsg_ct_unsol_event()
1128 job->dd_data = NULL; in lpfc_bsg_ct_unsol_event()
1131 job->job_done(job); in lpfc_bsg_ct_unsol_event()
1192 lpfc_bsg_hba_set_event(struct fc_bsg_job *job) in lpfc_bsg_hba_set_event() argument
1194 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_hba_set_event()
1203 if (job->request_len < in lpfc_bsg_hba_set_event()
1213 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_hba_set_event()
1258 dd_data->set_job = job; /* for unsolicited command */ in lpfc_bsg_hba_set_event()
1259 job->dd_data = dd_data; /* for fc transport timeout callback*/ in lpfc_bsg_hba_set_event()
1267 job->dd_data = NULL; in lpfc_bsg_hba_set_event()
1276 lpfc_bsg_hba_get_event(struct fc_bsg_job *job) in lpfc_bsg_hba_get_event() argument
1278 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_hba_get_event()
1287 if (job->request_len < in lpfc_bsg_hba_get_event()
1297 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_hba_get_event()
1300 job->reply->reply_data.vendor_reply.vendor_rsp; in lpfc_bsg_hba_get_event()
1320 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_hba_get_event()
1325 if (evt_dat->len > job->request_payload.payload_len) { in lpfc_bsg_hba_get_event()
1326 evt_dat->len = job->request_payload.payload_len; in lpfc_bsg_hba_get_event()
1330 job->request_payload.payload_len); in lpfc_bsg_hba_get_event()
1336 job->reply->reply_payload_rcv_len = in lpfc_bsg_hba_get_event()
1337 sg_copy_from_buffer(job->request_payload.sg_list, in lpfc_bsg_hba_get_event()
1338 job->request_payload.sg_cnt, in lpfc_bsg_hba_get_event()
1341 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_hba_get_event()
1351 job->dd_data = NULL; in lpfc_bsg_hba_get_event()
1352 job->reply->result = 0; in lpfc_bsg_hba_get_event()
1353 job->job_done(job); in lpfc_bsg_hba_get_event()
1357 job->dd_data = NULL; in lpfc_bsg_hba_get_event()
1358 job->reply->result = rc; in lpfc_bsg_hba_get_event()
1385 struct fc_bsg_job *job; in lpfc_issue_ct_rsp_cmp() local
1396 job = dd_data->set_job; in lpfc_issue_ct_rsp_cmp()
1397 if (job) { in lpfc_issue_ct_rsp_cmp()
1399 job->dd_data = NULL; in lpfc_issue_ct_rsp_cmp()
1415 if (job) { in lpfc_issue_ct_rsp_cmp()
1433 job->reply->reply_payload_rcv_len = 0; in lpfc_issue_ct_rsp_cmp()
1446 if (job) { in lpfc_issue_ct_rsp_cmp()
1447 job->reply->result = rc; in lpfc_issue_ct_rsp_cmp()
1448 job->job_done(job); in lpfc_issue_ct_rsp_cmp()
1462 lpfc_issue_ct_rsp(struct lpfc_hba *phba, struct fc_bsg_job *job, uint32_t tag, in lpfc_issue_ct_rsp() argument
1563 dd_data->set_job = job; in lpfc_issue_ct_rsp()
1567 job->dd_data = dd_data; in lpfc_issue_ct_rsp()
1593 job->dd_data = NULL; in lpfc_issue_ct_rsp()
1608 lpfc_bsg_send_mgmt_rsp(struct fc_bsg_job *job) in lpfc_bsg_send_mgmt_rsp() argument
1610 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_send_mgmt_rsp()
1613 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_send_mgmt_rsp()
1619 (unsigned long)job->request_payload.payload_len; in lpfc_bsg_send_mgmt_rsp()
1623 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_send_mgmt_rsp()
1645 cmp = lpfc_alloc_bsg_buffers(phba, job->request_payload.payload_len, in lpfc_bsg_send_mgmt_rsp()
1651 lpfc_bsg_copy_data(cmp, &job->request_payload, in lpfc_bsg_send_mgmt_rsp()
1652 job->request_payload.payload_len, 1); in lpfc_bsg_send_mgmt_rsp()
1654 rc = lpfc_issue_ct_rsp(phba, job, tag, cmp, bmp, bpl_entries); in lpfc_bsg_send_mgmt_rsp()
1669 job->reply->result = rc; in lpfc_bsg_send_mgmt_rsp()
1670 job->dd_data = NULL; in lpfc_bsg_send_mgmt_rsp()
1765 lpfc_sli3_bsg_diag_loopback_mode(struct lpfc_hba *phba, struct fc_bsg_job *job) in lpfc_sli3_bsg_diag_loopback_mode() argument
1776 job->reply->reply_payload_rcv_len = 0; in lpfc_sli3_bsg_diag_loopback_mode()
1778 if (job->request_len < sizeof(struct fc_bsg_request) + in lpfc_sli3_bsg_diag_loopback_mode()
1783 job->request_len, in lpfc_sli3_bsg_diag_loopback_mode()
1796 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_sli3_bsg_diag_loopback_mode()
1869 job->reply->result = rc; in lpfc_sli3_bsg_diag_loopback_mode()
1872 job->job_done(job); in lpfc_sli3_bsg_diag_loopback_mode()
2020 lpfc_sli4_bsg_diag_loopback_mode(struct lpfc_hba *phba, struct fc_bsg_job *job) in lpfc_sli4_bsg_diag_loopback_mode() argument
2027 job->reply->reply_payload_rcv_len = 0; in lpfc_sli4_bsg_diag_loopback_mode()
2029 if (job->request_len < sizeof(struct fc_bsg_request) + in lpfc_sli4_bsg_diag_loopback_mode()
2034 job->request_len, in lpfc_sli4_bsg_diag_loopback_mode()
2059 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_sli4_bsg_diag_loopback_mode()
2156 job->reply->result = rc; in lpfc_sli4_bsg_diag_loopback_mode()
2159 job->job_done(job); in lpfc_sli4_bsg_diag_loopback_mode()
2171 lpfc_bsg_diag_loopback_mode(struct fc_bsg_job *job) in lpfc_bsg_diag_loopback_mode() argument
2178 shost = job->shost; in lpfc_bsg_diag_loopback_mode()
2181 vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_diag_loopback_mode()
2189 rc = lpfc_sli3_bsg_diag_loopback_mode(phba, job); in lpfc_bsg_diag_loopback_mode()
2192 rc = lpfc_sli4_bsg_diag_loopback_mode(phba, job); in lpfc_bsg_diag_loopback_mode()
2207 lpfc_sli4_bsg_diag_mode_end(struct fc_bsg_job *job) in lpfc_sli4_bsg_diag_mode_end() argument
2216 shost = job->shost; in lpfc_sli4_bsg_diag_mode_end()
2219 vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_sli4_bsg_diag_mode_end()
2237 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_sli4_bsg_diag_mode_end()
2268 job->reply->result = rc; in lpfc_sli4_bsg_diag_mode_end()
2271 job->job_done(job); in lpfc_sli4_bsg_diag_mode_end()
2283 lpfc_sli4_bsg_link_diag_test(struct fc_bsg_job *job) in lpfc_sli4_bsg_link_diag_test() argument
2297 shost = job->shost; in lpfc_sli4_bsg_link_diag_test()
2302 vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_sli4_bsg_link_diag_test()
2323 if (job->request_len < sizeof(struct fc_bsg_request) + in lpfc_sli4_bsg_link_diag_test()
2328 job->request_len, in lpfc_sli4_bsg_link_diag_test()
2340 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_sli4_bsg_link_diag_test()
2390 job->reply->reply_data.vendor_reply.vendor_rsp; in lpfc_sli4_bsg_link_diag_test()
2392 if (job->reply_len < in lpfc_sli4_bsg_link_diag_test()
2399 job->reply_len); in lpfc_sli4_bsg_link_diag_test()
2418 job->reply->result = rc; in lpfc_sli4_bsg_link_diag_test()
2421 job->job_done(job); in lpfc_sli4_bsg_link_diag_test()
2987 lpfc_bsg_diag_loopback_run(struct fc_bsg_job *job) in lpfc_bsg_diag_loopback_run() argument
2989 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_diag_loopback_run()
3018 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_diag_loopback_run()
3020 if (job->request_len < in lpfc_bsg_diag_loopback_run()
3029 if (job->request_payload.payload_len != in lpfc_bsg_diag_loopback_run()
3030 job->reply_payload.payload_len) { in lpfc_bsg_diag_loopback_run()
3035 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_diag_loopback_run()
3049 size = job->request_payload.payload_len; in lpfc_bsg_diag_loopback_run()
3081 sg_copy_to_buffer(job->request_payload.sg_list, in lpfc_bsg_diag_loopback_run()
3082 job->request_payload.sg_cnt, in lpfc_bsg_diag_loopback_run()
3245 job->reply->reply_payload_rcv_len = in lpfc_bsg_diag_loopback_run()
3246 sg_copy_from_buffer(job->reply_payload.sg_list, in lpfc_bsg_diag_loopback_run()
3247 job->reply_payload.sg_cnt, in lpfc_bsg_diag_loopback_run()
3249 job->reply->reply_payload_rcv_len = size; in lpfc_bsg_diag_loopback_run()
3279 job->reply->result = rc; in lpfc_bsg_diag_loopback_run()
3280 job->dd_data = NULL; in lpfc_bsg_diag_loopback_run()
3283 job->job_done(job); in lpfc_bsg_diag_loopback_run()
3292 lpfc_bsg_get_dfc_rev(struct fc_bsg_job *job) in lpfc_bsg_get_dfc_rev() argument
3294 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_get_dfc_rev()
3300 if (job->request_len < in lpfc_bsg_get_dfc_rev()
3310 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_get_dfc_rev()
3313 job->reply->reply_data.vendor_reply.vendor_rsp; in lpfc_bsg_get_dfc_rev()
3315 if (job->reply_len < in lpfc_bsg_get_dfc_rev()
3327 job->reply->result = rc; in lpfc_bsg_get_dfc_rev()
3329 job->job_done(job); in lpfc_bsg_get_dfc_rev()
3348 struct fc_bsg_job *job; in lpfc_bsg_issue_mbox_cmpl() local
3366 job = dd_data->set_job; in lpfc_bsg_issue_mbox_cmpl()
3367 if (job) { in lpfc_bsg_issue_mbox_cmpl()
3369 job->dd_data = NULL; in lpfc_bsg_issue_mbox_cmpl()
3375 if (job) { in lpfc_bsg_issue_mbox_cmpl()
3376 size = job->reply_payload.payload_len; in lpfc_bsg_issue_mbox_cmpl()
3377 job->reply->reply_payload_rcv_len = in lpfc_bsg_issue_mbox_cmpl()
3378 sg_copy_from_buffer(job->reply_payload.sg_list, in lpfc_bsg_issue_mbox_cmpl()
3379 job->reply_payload.sg_cnt, in lpfc_bsg_issue_mbox_cmpl()
3390 if (job) { in lpfc_bsg_issue_mbox_cmpl()
3391 job->reply->result = 0; in lpfc_bsg_issue_mbox_cmpl()
3392 job->job_done(job); in lpfc_bsg_issue_mbox_cmpl()
3526 struct fc_bsg_job *job; in lpfc_bsg_issue_mbox_ext_handle_job() local
3539 job = dd_data->set_job; in lpfc_bsg_issue_mbox_ext_handle_job()
3540 if (job) { in lpfc_bsg_issue_mbox_ext_handle_job()
3542 job->dd_data = NULL; in lpfc_bsg_issue_mbox_ext_handle_job()
3569 if (job) { in lpfc_bsg_issue_mbox_ext_handle_job()
3570 size = job->reply_payload.payload_len; in lpfc_bsg_issue_mbox_ext_handle_job()
3571 job->reply->reply_payload_rcv_len = in lpfc_bsg_issue_mbox_ext_handle_job()
3572 sg_copy_from_buffer(job->reply_payload.sg_list, in lpfc_bsg_issue_mbox_ext_handle_job()
3573 job->reply_payload.sg_cnt, in lpfc_bsg_issue_mbox_ext_handle_job()
3577 job->reply->result = 0; in lpfc_bsg_issue_mbox_ext_handle_job()
3601 return job; in lpfc_bsg_issue_mbox_ext_handle_job()
3615 struct fc_bsg_job *job; in lpfc_bsg_issue_read_mbox_ext_cmpl() local
3617 job = lpfc_bsg_issue_mbox_ext_handle_job(phba, pmboxq); in lpfc_bsg_issue_read_mbox_ext_cmpl()
3620 if (!job) in lpfc_bsg_issue_read_mbox_ext_cmpl()
3635 if (job) in lpfc_bsg_issue_read_mbox_ext_cmpl()
3636 job->job_done(job); in lpfc_bsg_issue_read_mbox_ext_cmpl()
3652 struct fc_bsg_job *job; in lpfc_bsg_issue_write_mbox_ext_cmpl() local
3654 job = lpfc_bsg_issue_mbox_ext_handle_job(phba, pmboxq); in lpfc_bsg_issue_write_mbox_ext_cmpl()
3657 if (!job) in lpfc_bsg_issue_write_mbox_ext_cmpl()
3670 if (job) in lpfc_bsg_issue_write_mbox_ext_cmpl()
3671 job->job_done(job); in lpfc_bsg_issue_write_mbox_ext_cmpl()
3780 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
3796 (struct dfc_mbox_req *)job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_sli_cfg_read_cmd_ext()
3915 dd_data->set_job = job; in lpfc_bsg_sli_cfg_read_cmd_ext()
3918 job->dd_data = dd_data; in lpfc_bsg_sli_cfg_read_cmd_ext()
3967 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
3981 (struct dfc_mbox_req *)job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_sli_cfg_write_cmd_ext()
4084 dd_data->set_job = job; in lpfc_bsg_sli_cfg_write_cmd_ext()
4087 job->dd_data = dd_data; in lpfc_bsg_sli_cfg_write_cmd_ext()
4108 job->reply->result = 0; in lpfc_bsg_sli_cfg_write_cmd_ext()
4109 job->job_done(job); in lpfc_bsg_sli_cfg_write_cmd_ext()
4131 lpfc_bsg_handle_sli_cfg_mbox(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_handle_sli_cfg_mbox() argument
4158 rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job, in lpfc_bsg_handle_sli_cfg_mbox()
4168 rc = lpfc_bsg_sli_cfg_write_cmd_ext(phba, job, in lpfc_bsg_handle_sli_cfg_mbox()
4188 rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job, in lpfc_bsg_handle_sli_cfg_mbox()
4219 rc = lpfc_bsg_sli_cfg_read_cmd_ext(phba, job, in lpfc_bsg_handle_sli_cfg_mbox()
4227 rc = lpfc_bsg_sli_cfg_write_cmd_ext(phba, job, in lpfc_bsg_handle_sli_cfg_mbox()
4280 lpfc_bsg_read_ebuf_get(struct lpfc_hba *phba, struct fc_bsg_job *job) in lpfc_bsg_read_ebuf_get() argument
4319 job->reply->reply_payload_rcv_len = in lpfc_bsg_read_ebuf_get()
4320 sg_copy_from_buffer(job->reply_payload.sg_list, in lpfc_bsg_read_ebuf_get()
4321 job->reply_payload.sg_cnt, in lpfc_bsg_read_ebuf_get()
4333 job->reply->result = 0; in lpfc_bsg_read_ebuf_get()
4334 job->job_done(job); in lpfc_bsg_read_ebuf_get()
4348 lpfc_bsg_write_ebuf_set(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_write_ebuf_set() argument
4375 size = job->request_payload.payload_len; in lpfc_bsg_write_ebuf_set()
4376 sg_copy_to_buffer(job->request_payload.sg_list, in lpfc_bsg_write_ebuf_set()
4377 job->request_payload.sg_cnt, in lpfc_bsg_write_ebuf_set()
4429 dd_data->set_job = job; in lpfc_bsg_write_ebuf_set()
4432 job->dd_data = dd_data; in lpfc_bsg_write_ebuf_set()
4452 job->reply->result = 0; in lpfc_bsg_write_ebuf_set()
4453 job->job_done(job); in lpfc_bsg_write_ebuf_set()
4473 lpfc_bsg_handle_sli_cfg_ebuf(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_handle_sli_cfg_ebuf() argument
4491 rc = lpfc_bsg_read_ebuf_get(phba, job); in lpfc_bsg_handle_sli_cfg_ebuf()
4503 rc = lpfc_bsg_write_ebuf_set(phba, job, dmabuf); in lpfc_bsg_handle_sli_cfg_ebuf()
4518 lpfc_bsg_handle_sli_cfg_ext(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_handle_sli_cfg_ext() argument
4525 (struct dfc_mbox_req *)job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_handle_sli_cfg_ext()
4538 rc = lpfc_bsg_handle_sli_cfg_mbox(phba, job, dmabuf); in lpfc_bsg_handle_sli_cfg_ext()
4561 rc = lpfc_bsg_handle_sli_cfg_ebuf(phba, job, dmabuf); in lpfc_bsg_handle_sli_cfg_ext()
4595 lpfc_bsg_issue_mbox(struct lpfc_hba *phba, struct fc_bsg_job *job, in lpfc_bsg_issue_mbox() argument
4617 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_issue_mbox()
4620 if (job->reply_payload.payload_len > BSG_MBOX_SIZE || in lpfc_bsg_issue_mbox()
4621 job->request_payload.payload_len > BSG_MBOX_SIZE) { in lpfc_bsg_issue_mbox()
4636 (struct dfc_mbox_req *)job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_issue_mbox()
4653 size = job->request_payload.payload_len; in lpfc_bsg_issue_mbox()
4654 sg_copy_to_buffer(job->request_payload.sg_list, in lpfc_bsg_issue_mbox()
4655 job->request_payload.sg_cnt, pmbx, size); in lpfc_bsg_issue_mbox()
4659 rc = lpfc_bsg_handle_sli_cfg_ext(phba, job, dmabuf); in lpfc_bsg_issue_mbox()
4841 dd_data->set_job = job; in lpfc_bsg_issue_mbox()
4848 job->dd_data = dd_data; in lpfc_bsg_issue_mbox()
4860 job->reply->reply_payload_rcv_len = in lpfc_bsg_issue_mbox()
4861 sg_copy_from_buffer(job->reply_payload.sg_list, in lpfc_bsg_issue_mbox()
4862 job->reply_payload.sg_cnt, in lpfc_bsg_issue_mbox()
4889 lpfc_bsg_mbox_cmd(struct fc_bsg_job *job) in lpfc_bsg_mbox_cmd() argument
4891 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_mbox_cmd()
4897 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_mbox_cmd()
4898 if (job->request_len < in lpfc_bsg_mbox_cmd()
4904 (int)(job->request_len - in lpfc_bsg_mbox_cmd()
4908 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_bsg_mbox_cmd()
4913 rc = lpfc_bsg_issue_mbox(phba, job, vport); in lpfc_bsg_mbox_cmd()
4917 job->reply->result = 0; in lpfc_bsg_mbox_cmd()
4918 job->dd_data = NULL; in lpfc_bsg_mbox_cmd()
4919 job->job_done(job); in lpfc_bsg_mbox_cmd()
4925 job->reply->result = rc; in lpfc_bsg_mbox_cmd()
4926 job->dd_data = NULL; in lpfc_bsg_mbox_cmd()
4955 struct fc_bsg_job *job; in lpfc_bsg_menlo_cmd_cmp() local
4973 job = dd_data->set_job; in lpfc_bsg_menlo_cmd_cmp()
4974 if (job) { in lpfc_bsg_menlo_cmd_cmp()
4976 job->dd_data = NULL; in lpfc_bsg_menlo_cmd_cmp()
4982 if (job) { in lpfc_bsg_menlo_cmd_cmp()
4989 job->reply->reply_data.vendor_reply.vendor_rsp; in lpfc_bsg_menlo_cmd_cmp()
5009 job->reply->reply_payload_rcv_len = in lpfc_bsg_menlo_cmd_cmp()
5010 lpfc_bsg_copy_data(rmp, &job->reply_payload, in lpfc_bsg_menlo_cmd_cmp()
5025 if (job) { in lpfc_bsg_menlo_cmd_cmp()
5026 job->reply->result = rc; in lpfc_bsg_menlo_cmd_cmp()
5027 job->job_done(job); in lpfc_bsg_menlo_cmd_cmp()
5043 lpfc_menlo_cmd(struct fc_bsg_job *job) in lpfc_menlo_cmd() argument
5045 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_menlo_cmd()
5059 job->reply->reply_payload_rcv_len = 0; in lpfc_menlo_cmd()
5061 if (job->request_len < in lpfc_menlo_cmd()
5071 if (job->reply_len < in lpfc_menlo_cmd()
5089 job->request->rqst_data.h_vendor.vendor_cmd; in lpfc_menlo_cmd()
5092 job->reply->reply_data.vendor_reply.vendor_rsp; in lpfc_menlo_cmd()
5119 cmp = lpfc_alloc_bsg_buffers(phba, job->request_payload.payload_len, in lpfc_menlo_cmd()
5125 lpfc_bsg_copy_data(cmp, &job->request_payload, in lpfc_menlo_cmd()
5126 job->request_payload.payload_len, 1); in lpfc_menlo_cmd()
5130 rmp = lpfc_alloc_bsg_buffers(phba, job->reply_payload.payload_len, 0, in lpfc_menlo_cmd()
5179 dd_data->set_job = job; in lpfc_menlo_cmd()
5182 job->dd_data = dd_data; in lpfc_menlo_cmd()
5203 job->reply->result = rc; in lpfc_menlo_cmd()
5204 job->dd_data = NULL; in lpfc_menlo_cmd()
5213 lpfc_bsg_hst_vendor(struct fc_bsg_job *job) in lpfc_bsg_hst_vendor() argument
5215 int command = job->request->rqst_data.h_vendor.vendor_cmd[0]; in lpfc_bsg_hst_vendor()
5220 rc = lpfc_bsg_hba_set_event(job); in lpfc_bsg_hst_vendor()
5223 rc = lpfc_bsg_hba_get_event(job); in lpfc_bsg_hst_vendor()
5226 rc = lpfc_bsg_send_mgmt_rsp(job); in lpfc_bsg_hst_vendor()
5229 rc = lpfc_bsg_diag_loopback_mode(job); in lpfc_bsg_hst_vendor()
5232 rc = lpfc_sli4_bsg_diag_mode_end(job); in lpfc_bsg_hst_vendor()
5235 rc = lpfc_bsg_diag_loopback_run(job); in lpfc_bsg_hst_vendor()
5238 rc = lpfc_sli4_bsg_link_diag_test(job); in lpfc_bsg_hst_vendor()
5241 rc = lpfc_bsg_get_dfc_rev(job); in lpfc_bsg_hst_vendor()
5244 rc = lpfc_bsg_mbox_cmd(job); in lpfc_bsg_hst_vendor()
5248 rc = lpfc_menlo_cmd(job); in lpfc_bsg_hst_vendor()
5252 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_hst_vendor()
5254 job->reply->result = rc; in lpfc_bsg_hst_vendor()
5266 lpfc_bsg_request(struct fc_bsg_job *job) in lpfc_bsg_request() argument
5271 msgcode = job->request->msgcode; in lpfc_bsg_request()
5274 rc = lpfc_bsg_hst_vendor(job); in lpfc_bsg_request()
5277 rc = lpfc_bsg_rport_els(job); in lpfc_bsg_request()
5280 rc = lpfc_bsg_send_mgmt_cmd(job); in lpfc_bsg_request()
5284 job->reply->reply_payload_rcv_len = 0; in lpfc_bsg_request()
5286 job->reply->result = rc; in lpfc_bsg_request()
5301 lpfc_bsg_timeout(struct fc_bsg_job *job) in lpfc_bsg_timeout() argument
5303 struct lpfc_vport *vport = (struct lpfc_vport *)job->shost->hostdata; in lpfc_bsg_timeout()
5323 dd_data = (struct bsg_job_data *)job->dd_data; in lpfc_bsg_timeout()
5326 job->dd_data = NULL; in lpfc_bsg_timeout()