Lines Matching refs:job

925 	job_request_t		*job;  in fp_attach_handler()  local
1164 job = fctl_alloc_job(JOB_PORT_STARTUP, JOB_TYPE_FCTL_ASYNC, in fp_attach_handler()
1167 port->fp_job_head = port->fp_job_tail = job; in fp_attach_handler()
1425 struct job_request *job; in fp_resume_all() local
1439 job = fctl_alloc_job(JOB_PORT_ONLINE, in fp_resume_all()
1441 fctl_enque_job(port, job); in fp_resume_all()
1443 fctl_jobwait(job); in fp_resume_all()
1447 fctl_dealloc_job(job); in fp_resume_all()
1487 job_request_t *job; in fp_detach_handler() local
1566 job = fctl_alloc_job(JOB_PORT_SHUTDOWN, 0, NULL, in fp_detach_handler()
1568 fctl_enque_job(port, job); in fp_detach_handler()
1569 fctl_jobwait(job); in fp_detach_handler()
1570 fctl_dealloc_job(job); in fp_detach_handler()
2259 job_request_t *job; in fp_job_handler() local
2292 job = fctl_deque_job(port); in fp_job_handler()
2298 switch (job->job_code) { in fp_job_handler()
2307 fp_port_shutdown(port, job); in fp_job_handler()
2317 fctl_jobdone(job); in fp_job_handler()
2369 job->job_result = FC_SUCCESS; in fp_job_handler()
2370 fctl_jobdone(job); in fp_job_handler()
2381 statec = job->job_ulp_listlen; in fp_job_handler()
2396 job->job_result = fp_ulp_notify(port, statec, KM_SLEEP); in fp_job_handler()
2397 fctl_jobdone(job); in fp_job_handler()
2411 d_id = (uint32_t *)job->job_private; in fp_job_handler()
2419 job->job_result = FC_SUCCESS; in fp_job_handler()
2420 fctl_jobdone(job); in fp_job_handler()
2431 job->job_result = FC_FAILURE; in fp_job_handler()
2432 fctl_jobdone(job); in fp_job_handler()
2440 job->job_flags |= JOB_TYPE_FP_ASYNC; in fp_job_handler()
2441 job->job_counter = 1; in fp_job_handler()
2443 rval = fp_port_login(port, *d_id, job, in fp_job_handler()
2447 job->job_result = rval; in fp_job_handler()
2448 fctl_jobdone(job); in fp_job_handler()
2461 ASSERT(job->job_counter > 0); in fp_job_handler()
2464 pd = (fc_remote_port_t *)job->job_ulp_pkts; in fp_job_handler()
2469 job->job_result = FC_LOGINREQ; in fp_job_handler()
2471 fctl_jobdone(job); in fp_job_handler()
2477 job->job_result = FC_SUCCESS; in fp_job_handler()
2479 fctl_jobdone(job); in fp_job_handler()
2484 job->job_flags |= JOB_TYPE_FP_ASYNC; in fp_job_handler()
2485 (void) fp_logout(port, pd, job); in fp_job_handler()
2494 job->job_result = in fp_job_handler()
2495 fp_fcio_login(port, job->job_private, job); in fp_job_handler()
2496 fctl_jobdone(job); in fp_job_handler()
2504 job->job_result = in fp_job_handler()
2505 fp_fcio_logout(port, job->job_private, job); in fp_job_handler()
2506 fctl_jobdone(job); in fp_job_handler()
2516 job->job_counter = 1; in fp_job_handler()
2518 fp_get_loopmap(port, job); in fp_job_handler()
2520 fp_jobwait(job); in fp_job_handler()
2522 (fc_portmap_t **)job->job_private, in fp_job_handler()
2523 (uint32_t *)job->job_arg, 1, 0, 0); in fp_job_handler()
2524 fctl_jobdone(job); in fp_job_handler()
2531 job->job_counter = 1; in fp_job_handler()
2533 job->job_result = fp_ns_getmap(port, in fp_job_handler()
2534 job, (fc_portmap_t **)job->job_private, in fp_job_handler()
2535 (uint32_t *)job->job_arg, in fp_job_handler()
2537 fctl_jobdone(job); in fp_job_handler()
2544 (fc_portmap_t **)job->job_private, in fp_job_handler()
2545 (uint32_t *)job->job_arg, 1, 0, 0); in fp_job_handler()
2546 fctl_jobdone(job); in fp_job_handler()
2552 fctl_jobdone(job); in fp_job_handler()
2569 job->job_flags |= JOB_CANCEL_ULP_NOTIFICATION; in fp_job_handler()
2584 fctl_jobdone(job); in fp_job_handler()
2589 if ((rval = fp_port_startup(port, job)) != FC_SUCCESS) { in fp_job_handler()
2606 job->job_counter = 1; in fp_job_handler()
2608 fp_get_loopmap(port, job); in fp_job_handler()
2610 fp_jobwait(job); in fp_job_handler()
2624 job->job_flags |= JOB_CANCEL_ULP_NOTIFICATION; in fp_job_handler()
2625 fp_fabric_online(port, job); in fp_job_handler()
2626 job->job_flags &= ~JOB_CANCEL_ULP_NOTIFICATION; in fp_job_handler()
2629 fctl_jobdone(job); in fp_job_handler()
2647 fctl_jobdone(job); in fp_job_handler()
2676 if ((rval = fp_port_startup(port, job)) != FC_SUCCESS) { in fp_job_handler()
2741 fp_loop_online(port, job, orphan); in fp_job_handler()
2748 fp_fabric_online(port, job); in fp_job_handler()
2753 fp_p2p_online(port, job); in fp_job_handler()
2789 fctl_jobdone(job); in fp_job_handler()
2795 fp_plogi_group(port, job); in fp_job_handler()
2802 (fc_unsol_buf_t *)job->job_private, job); in fp_job_handler()
2803 fctl_dealloc_job(job); in fp_job_handler()
2812 job->job_flags |= JOB_TYPE_FP_ASYNC; in fp_job_handler()
2813 ns_cmd = (fctl_ns_req_t *)job->job_private; in fp_job_handler()
2816 job->job_result = FC_BADCMD; in fp_job_handler()
2817 fctl_jobdone(job); in fp_job_handler()
2823 job->job_result = FC_BADOBJECT; in fp_job_handler()
2824 fctl_jobdone(job); in fp_job_handler()
2828 job->job_counter = 1; in fp_job_handler()
2831 ns_cmd->ns_cmd_code, job, 0, KM_SLEEP); in fp_job_handler()
2834 job->job_result = rval; in fp_job_handler()
2835 fctl_jobdone(job); in fp_job_handler()
2839 job->job_result = FC_SUCCESS; in fp_job_handler()
2840 job->job_counter = 1; in fp_job_handler()
2842 rval = fp_ns_query(port, ns_cmd, job, 0, KM_SLEEP); in fp_job_handler()
2844 fctl_jobdone(job); in fp_job_handler()
2853 pwwn = (la_wwn_t *)job->job_private; in fp_job_handler()
2861 job->job_flags |= JOB_TYPE_FP_ASYNC; in fp_job_handler()
2864 job->job_result = rval; in fp_job_handler()
2865 fp_jobdone(job); in fp_job_handler()
2867 ASSERT((job->job_flags & in fp_job_handler()
2872 KM_SLEEP, job); in fp_job_handler()
2877 job->job_result = rval; in fp_job_handler()
2879 fctl_jobdone(job); in fp_job_handler()
2886 job->job_result = FC_BADCMD; in fp_job_handler()
2887 fctl_jobdone(job); in fp_job_handler()
2899 fp_port_startup(fc_local_port_t *port, job_request_t *job) in fp_port_startup() argument
2907 ASSERT((job->job_flags & JOB_TYPE_FP_ASYNC) == 0); in fp_port_startup()
2910 " port=%p, job=%p", port, job); in fp_port_startup()
2918 job->job_result = FC_OFFLINE; in fp_port_startup()
2920 fctl_jobdone(job); in fp_port_startup()
2931 job->job_result = FC_FAILURE; in fp_port_startup()
2932 fctl_jobdone(job); in fp_port_startup()
2941 job->job_result = FC_NO_MAP; in fp_port_startup()
2942 fctl_jobdone(job); in fp_port_startup()
2994 job->job_counter = 1; in fp_port_startup()
2995 job->job_result = FC_SUCCESS; in fp_port_startup()
2997 if ((rval = fp_fabric_login(port, src_id, job, FP_CMD_PLOGI_DONT_CARE, in fp_port_startup()
3000 job->job_result = FC_FAILURE; in fp_port_startup()
3001 fctl_jobdone(job); in fp_port_startup()
3013 fp_jobwait(job); in fp_port_startup()
3016 if (job->job_result == FC_SUCCESS) { in fp_port_startup()
3019 fp_ns_init(port, job, KM_SLEEP); in fp_port_startup()
3031 port, job); in fp_port_startup()
3485 fp_jobwait(job_request_t *job) in fp_jobwait() argument
3487 sema_p(&job->job_port_sema); in fp_jobwait()
3522 job_request_t *job = cmd->cmd_job; in fp_iodone() local
3525 ASSERT(job != NULL); in fp_iodone()
3529 mutex_enter(&job->job_mutex); in fp_iodone()
3530 if (job->job_result == FC_SUCCESS) { in fp_iodone()
3531 job->job_result = fp_state_to_rval(cmd->cmd_pkt.pkt_state); in fp_iodone()
3533 mutex_exit(&job->job_mutex); in fp_iodone()
3569 fp_jobdone(job); in fp_iodone()
3577 fp_jobdone(job_request_t *job) in fp_jobdone() argument
3579 mutex_enter(&job->job_mutex); in fp_jobdone()
3580 ASSERT(job->job_counter > 0); in fp_jobdone()
3582 if (--job->job_counter != 0) { in fp_jobdone()
3583 mutex_exit(&job->job_mutex); in fp_jobdone()
3587 if (job->job_ulp_pkts) { in fp_jobdone()
3588 ASSERT(job->job_ulp_listlen > 0); in fp_jobdone()
3589 kmem_free(job->job_ulp_pkts, in fp_jobdone()
3590 sizeof (fc_packet_t *) * job->job_ulp_listlen); in fp_jobdone()
3593 if (job->job_flags & JOB_TYPE_FP_ASYNC) { in fp_jobdone()
3594 mutex_exit(&job->job_mutex); in fp_jobdone()
3595 fctl_jobdone(job); in fp_jobdone()
3597 mutex_exit(&job->job_mutex); in fp_jobdone()
3598 sema_v(&job->job_port_sema); in fp_jobdone()
3609 fp_port_shutdown(fc_local_port_t *port, job_request_t *job) in fp_port_shutdown() argument
3620 job->job_result = FC_SUCCESS; in fp_port_shutdown()
3682 if (job->job_flags & JOB_TYPE_FP_ASYNC) { in fp_port_shutdown()
3683 flags = job->job_flags; in fp_port_shutdown()
3684 job->job_flags &= ~JOB_TYPE_FP_ASYNC; in fp_port_shutdown()
3689 job->job_counter = count; in fp_port_shutdown()
3705 (void) fp_logout(port, pd, job); in fp_port_shutdown()
3714 fp_jobwait(job); in fp_port_shutdown()
3719 if (job->job_result != FC_SUCCESS) { in fp_port_shutdown()
3723 job->job_result = FC_SUCCESS; in fp_port_shutdown()
3731 fp_ns_fini(port, job); in fp_port_shutdown()
3737 job->job_flags = flags; in fp_port_shutdown()
3749 fp_get_loopmap(fc_local_port_t *port, job_request_t *job) in fp_get_loopmap() argument
3761 job->job_result = FC_OFFLINE; in fp_get_loopmap()
3763 fp_jobdone(job); in fp_get_loopmap()
3770 job->job_result = FC_NO_MAP; in fp_get_loopmap()
3771 fp_jobdone(job); in fp_get_loopmap()
3778 job->job_counter = lilp_map->lilp_length; in fp_get_loopmap()
3780 if (job->job_code == JOB_PORT_GETMAP_PLOGI_ALL) { in fp_get_loopmap()
3790 fp_jobdone(job); in fp_get_loopmap()
3800 fp_jobdone(job); in fp_get_loopmap()
3806 rval = fp_port_login(port, d_id, job, flag, in fp_get_loopmap()
3809 fp_jobdone(job); in fp_get_loopmap()
3821 fp_loop_online(fc_local_port_t *port, job_request_t *job, int orphan) in fp_loop_online() argument
3834 port, job); in fp_loop_online()
3848 job->job_counter = lilp_map->lilp_length; in fp_loop_online()
3854 fp_jobdone(job); in fp_loop_online()
3867 fp_jobdone(job); in fp_loop_online()
3871 rval = fp_port_login(port, d_id, job, in fp_loop_online()
3875 fp_jobdone(job); in fp_loop_online()
3878 fp_jobwait(job); in fp_loop_online()
3883 if ((job->job_flags & JOB_CANCEL_ULP_NOTIFICATION) == 0) { in fp_loop_online()
3897 job->job_flags |= JOB_CANCEL_ULP_NOTIFICATION; in fp_loop_online()
3902 if ((job->job_flags & JOB_CANCEL_ULP_NOTIFICATION) == 0) { in fp_loop_online()
3915 port, job); in fp_loop_online()
3996 fp_fabric_login(fc_local_port_t *port, uint32_t s_id, job_request_t *job, in fp_fabric_login() argument
4006 port, job); in fp_fabric_login()
4026 job, LA_ELS_FLOGI); in fp_fabric_login()
4034 port, job); in fp_fabric_login()
4049 fp_port_login(fc_local_port_t *port, uint32_t d_id, job_request_t *job, in fp_port_login() argument
4064 ASSERT(job->job_counter > 0); in fp_port_login()
4107 fp_adisc_init(cmd, job); in fp_port_login()
4132 job, LA_ELS_PLOGI); in fp_port_login()
4410 void (*comp) (), job_request_t *job) in fp_els_init() argument
4415 cmd->cmd_job = job; in fp_els_init()
4439 uint32_t d_id, void (*intr) (), job_request_t *job, uchar_t ls_code) in fp_xlogi_init() argument
4443 fp_els_init(cmd, s_id, d_id, intr, job); in fp_xlogi_init()
4464 fp_logo_init(fc_remote_port_t *pd, fp_cmd_t *cmd, job_request_t *job) in fp_logo_init() argument
4476 fp_logo_intr, job); in fp_logo_init()
4496 fp_rnid_init(fp_cmd_t *cmd, uint16_t flag, job_request_t *job) in fp_rnid_init() argument
4511 fp_rnid_intr, job); in fp_rnid_init()
4529 fp_rls_init(fp_cmd_t *cmd, job_request_t *job) in fp_rls_init() argument
4544 fp_rls_intr, job); in fp_rls_init()
4563 fp_adisc_init(fp_cmd_t *cmd, job_request_t *job) in fp_adisc_init() argument
4578 fp_adisc_intr, job); in fp_adisc_init()
4874 fp_plogi_group(fc_local_port_t *port, job_request_t *job) in fp_plogi_group() argument
4890 port, job); in fp_plogi_group()
4893 listlen = job->job_ulp_listlen; in fp_plogi_group()
4894 job->job_counter = job->job_ulp_listlen; in fp_plogi_group()
4902 ASSERT(job->job_ulp_pkts[count]->pkt_rsplen >= in fp_plogi_group()
4905 ulp_pkt = job->job_ulp_pkts[count]; in fp_plogi_group()
4917 job->job_ulp_pkts[count] = NULL; in fp_plogi_group()
4919 fp_jobdone(job); in fp_plogi_group()
4936 job->job_ulp_pkts[count] = NULL; in fp_plogi_group()
4937 fp_jobdone(job); in fp_plogi_group()
4952 job->job_ulp_pkts[count] = NULL; in fp_plogi_group()
4953 fp_jobdone(job); in fp_plogi_group()
4970 job->job_ulp_pkts[count] = NULL; in fp_plogi_group()
4971 fp_jobdone(job); in fp_plogi_group()
5043 job->job_ulp_pkts[count] = NULL; in fp_plogi_group()
5044 fp_jobdone(job); in fp_plogi_group()
5049 fp_jobwait(job); in fp_plogi_group()
5050 fctl_jobdone(job); in fp_plogi_group()
5054 job->job_counter = listlen - done; in fp_plogi_group()
5059 if ((ulp_pkt = job->job_ulp_pkts[count]) == NULL) { in fp_plogi_group()
5138 " pd=%p", port, job, pd); in fp_plogi_group()
5155 rval = fp_port_login(port, d_id, job, cmd_flags, in fp_plogi_group()
5179 " PD removed; port=%p, job=%p", port, job); in fp_plogi_group()
5194 fp_jobdone(job); in fp_plogi_group()
5197 fp_jobwait(job); in fp_plogi_group()
5198 fctl_jobdone(job); in fp_plogi_group()
5201 port, job); in fp_plogi_group()
5209 fp_ns_init(fc_local_port_t *port, job_request_t *job, int sleep) in fp_ns_init() argument
5215 ASSERT((job->job_flags & JOB_TYPE_FP_ASYNC) == 0); in fp_ns_init()
5217 job->job_counter = 1; in fp_ns_init()
5218 job->job_result = FC_SUCCESS; in fp_ns_init()
5220 rval = fp_port_login(port, 0xFFFFFC, job, FP_CMD_PLOGI_RETAIN, in fp_ns_init()
5230 fp_jobwait(job); in fp_ns_init()
5232 if (job->job_result != FC_SUCCESS) { in fp_ns_init()
5250 job->job_counter = size; in fp_ns_init()
5251 job->job_result = FC_SUCCESS; in fp_ns_init()
5255 job, 0, sleep) != FC_SUCCESS) { in fp_ns_init()
5256 fp_jobdone(job); in fp_ns_init()
5260 fp_jobwait(job); in fp_ns_init()
5263 job->job_result = FC_SUCCESS; in fp_ns_init()
5265 (void) fp_ns_get_devcount(port, job, 0, KM_SLEEP); in fp_ns_init()
5268 (void) fp_ns_get_devcount(port, job, 1, KM_SLEEP); in fp_ns_init()
5271 job->job_counter = 1; in fp_ns_init()
5273 if (fp_ns_scr(port, job, FC_SCR_FULL_REGISTRATION, in fp_ns_init()
5275 fp_jobwait(job); in fp_ns_init()
5287 fp_ns_fini(fc_local_port_t *port, job_request_t *job) in fp_ns_fini() argument
5295 ASSERT((job->job_flags & JOB_TYPE_FP_ASYNC) == 0); in fp_ns_fini()
5297 job->job_counter = 1; in fp_ns_fini()
5299 if (fp_ns_scr(port, job, FC_SCR_CLEAR_REGISTRATION, KM_SLEEP) != in fp_ns_fini()
5301 fp_jobdone(job); in fp_ns_fini()
5303 fp_jobwait(job); in fp_ns_fini()
5305 job->job_counter = 1; in fp_ns_fini()
5307 if (fp_ns_reg(port, NULL, NS_DA_ID, job, 0, KM_SLEEP) != FC_SUCCESS) { in fp_ns_fini()
5308 fp_jobdone(job); in fp_ns_fini()
5310 fp_jobwait(job); in fp_ns_fini()
5312 job->job_counter = 1; in fp_ns_fini()
5331 fp_els_init(cmd, s_id, 0xFFFFFE, fp_logo_intr, job); in fp_ns_fini()
5333 fp_els_init(cmd, s_id, 0xFFFFFC, fp_logo_intr, job); in fp_ns_fini()
5348 fp_jobwait(job); in fp_ns_fini()
5365 job_request_t *job, int polled, int sleep) in fp_ns_reg() argument
5383 job->job_counter = 1; in fp_ns_reg()
5396 fp_ct_init(port, cmd, NULL, cmd_code, NULL, 0, 0, job); in fp_ns_reg()
5437 fp_ct_init(port, cmd, NULL, cmd_code, NULL, 0, 0, job); in fp_ns_reg()
5465 fp_ct_init(port, cmd, NULL, cmd_code, NULL, 0, 0, job); in fp_ns_reg()
5511 fp_ct_init(port, cmd, NULL, cmd_code, NULL, 0, 0, job); in fp_ns_reg()
5550 fp_ct_init(port, cmd, NULL, cmd_code, NULL, 0, 0, job); in fp_ns_reg()
5577 fp_ct_init(port, cmd, NULL, cmd_code, NULL, 0, 0, job); in fp_ns_reg()
5621 fp_ct_init(port, cmd, NULL, cmd_code, NULL, 0, 0, job); in fp_ns_reg()
5677 fp_ct_init(port, cmd, NULL, cmd_code, NULL, 0, 0, job); in fp_ns_reg()
5724 fp_ct_init(port, cmd, NULL, cmd_code, NULL, 0, 0, job); in fp_ns_reg()
5751 job->job_result = rval; in fp_ns_reg()
5756 ASSERT((job->job_flags & JOB_TYPE_FP_ASYNC) == 0); in fp_ns_reg()
5757 fp_jobwait(job); in fp_ns_reg()
6807 job_request_t *job; in fp_rnid_intr() local
6820 job = cmd->cmd_job; in fp_rnid_intr()
6821 ASSERT(job->job_private != NULL); in fp_rnid_intr()
6832 FC_GET_RSP(port, pkt->pkt_resp_acc, (uint8_t *)job->job_private, in fp_rnid_intr()
6847 job_request_t *job; in fp_rls_intr() local
6860 job = cmd->cmd_job; in fp_rls_intr()
6861 ASSERT(job->job_private != NULL); in fp_rls_intr()
6872 FC_GET_RSP(port, pkt->pkt_resp_acc, (uint8_t *)job->job_private, in fp_rls_intr()
6907 job_request_t *job; in fp_statec_cb() local
6945 job = fctl_alloc_job(JOB_PORT_OFFLINE, in fp_statec_cb()
6947 if (job == NULL) { in fp_statec_cb()
6967 fctl_enque_job(port, job); in fp_statec_cb()
6986 job = fctl_alloc_job(JOB_PORT_ONLINE, in fp_statec_cb()
6988 if (job == NULL) { in fp_statec_cb()
7000 fctl_enque_job(port, job); in fp_statec_cb()
7011 job = fctl_alloc_job(JOB_ULP_NOTIFY, in fp_statec_cb()
7013 if (job == NULL) { in fp_statec_cb()
7027 job->job_ulp_listlen = FC_PORT_STATE_MASK(state); in fp_statec_cb()
7028 fctl_enque_job(port, job); in fp_statec_cb()
7053 fp_ns_scr(fc_local_port_t *port, job_request_t *job, uchar_t scr_func, in fp_ns_scr() argument
7082 fp_els_init(cmd, s_id, 0xFFFFFD, fp_intr, job); in fp_ns_scr()
7092 job->job_counter = 1; in fp_ns_scr()
7124 fp_ns_get_devcount(fc_local_port_t *port, job_request_t *job, int create, in fp_ns_get_devcount() argument
7174 flags = job->job_flags; in fp_ns_get_devcount()
7175 job->job_flags &= ~JOB_TYPE_FP_ASYNC; in fp_ns_get_devcount()
7176 job->job_counter = 1; in fp_ns_get_devcount()
7178 rval = fp_ns_query(port, ns_cmd, job, 1, sleep); in fp_ns_get_devcount()
7179 job->job_flags = flags; in fp_ns_get_devcount()
7188 if (job->job_result != FC_SUCCESS || in fp_ns_get_devcount()
7195 return (fp_ns_get_devcount(port, job, create, sleep)); in fp_ns_get_devcount()
7231 job_request_t *job; in fp_fciocmd() local
8253 job = fctl_alloc_job(JOB_NS_CMD, 0, NULL, in fp_fciocmd()
8255 ASSERT(job != NULL); in fp_fciocmd()
8263 (void) fp_ns_get_devcount(port, job, 0, KM_SLEEP); in fp_fciocmd()
8264 fctl_dealloc_job(job); in fp_fciocmd()
8391 job = fctl_alloc_job(JOB_PORT_GETMAP, 0, NULL, in fp_fciocmd()
8393 ASSERT(job != NULL); in fp_fciocmd()
8395 ret = fp_ns_query(port, ns_cmd, job, 1, KM_SLEEP); in fp_fciocmd()
8398 job->job_result != FC_SUCCESS) { in fp_fciocmd()
8401 fcio->fcio_errno = job->job_result; in fp_fciocmd()
8406 fctl_dealloc_job(job); in fp_fciocmd()
8413 fctl_dealloc_job(job); in fp_fciocmd()
8422 fctl_dealloc_job(job); in fp_fciocmd()
8635 fcio->fcio_errno = job->job_result; in fp_fciocmd()
8643 job = fctl_alloc_job(jcode, 0, NULL, NULL, KM_SLEEP); in fp_fciocmd()
8644 job->job_private = kfcio; in fp_fciocmd()
8646 fctl_enque_job(port, job); in fp_fciocmd()
8647 fctl_jobwait(job); in fp_fciocmd()
8649 rval = job->job_result; in fp_fciocmd()
8658 fctl_dealloc_job(job); in fp_fciocmd()
8686 job = fctl_alloc_job(JOB_PLOGI_ONE, 0, in fp_fciocmd()
8689 job->job_counter = 1; in fp_fciocmd()
8690 job->job_result = FC_SUCCESS; in fp_fciocmd()
8703 ret = fp_ns_query(port, ns_cmd, job, in fp_fciocmd()
8706 if (ret != FC_SUCCESS || job->job_result != in fp_fciocmd()
8712 job->job_result; in fp_fciocmd()
8719 fctl_dealloc_job(job); in fp_fciocmd()
9140 job = fctl_alloc_job(JOB_LINK_RESET, 0, NULL, NULL, KM_SLEEP); in fp_fciocmd()
9141 if (job == NULL) { in fp_fciocmd()
9145 job->job_counter = 1; in fp_fciocmd()
9146 job->job_private = (void *)&pwwn; in fp_fciocmd()
9148 fctl_enque_job(port, job); in fp_fciocmd()
9149 fctl_jobwait(job); in fp_fciocmd()
9155 if (job->job_result != FC_SUCCESS) { in fp_fciocmd()
9156 fcio->fcio_errno = job->job_result; in fp_fciocmd()
9162 fctl_dealloc_job(job); in fp_fciocmd()
9464 job = fctl_alloc_job(JOB_DUMMY, JOB_TYPE_FP_ASYNC, in fp_fciocmd()
9466 ASSERT(job != NULL); in fp_fciocmd()
9468 job->job_counter = 1; in fp_fciocmd()
9478 fctl_dealloc_job(job); in fp_fciocmd()
9497 fp_rls_init(cmd, job); in fp_fciocmd()
9499 job->job_private = (void *)rls_acc; in fp_fciocmd()
9508 fctl_jobwait(job); in fp_fciocmd()
9510 fcio->fcio_errno = job->job_result; in fp_fciocmd()
9511 if (job->job_result == FC_SUCCESS) { in fp_fciocmd()
9517 ASSERT(job->job_private == (void *)rls_acc); in fp_fciocmd()
9547 fctl_dealloc_job(job); in fp_fciocmd()
9610 job = fctl_alloc_job(JOB_NS_CMD, 0, NULL, NULL, KM_SLEEP); in fp_fciocmd()
9611 ASSERT(job != NULL); in fp_fciocmd()
9629 fctl_dealloc_job(job); in fp_fciocmd()
9634 job->job_private = (void *)ns_cmd; in fp_fciocmd()
9635 fctl_enque_job(port, job); in fp_fciocmd()
9636 fctl_jobwait(job); in fp_fciocmd()
9637 rval = job->job_result; in fp_fciocmd()
9646 fctl_dealloc_job(job); in fp_fciocmd()
9656 fctl_dealloc_job(job); in fp_fciocmd()
9844 job_request_t *job; in fp_send_rnid() local
9865 job = fctl_alloc_job(JOB_DUMMY, JOB_TYPE_FP_ASYNC, in fp_send_rnid()
9868 ASSERT(job != NULL); in fp_send_rnid()
9870 job->job_counter = 1; in fp_send_rnid()
9878 fctl_dealloc_job(job); in fp_send_rnid()
9900 fp_rnid_init(cmd, fcio->fcio_cmd_flags, job); in fp_send_rnid()
9902 job->job_private = (void *)rnid_acc; in fp_send_rnid()
9910 fctl_jobwait(job); in fp_send_rnid()
9911 fcio->fcio_errno = job->job_result; in fp_send_rnid()
9912 if (job->job_result == FC_SUCCESS) { in fp_send_rnid()
9919 ASSERT(job->job_private == (void *)rnid_acc); in fp_send_rnid()
9951 fctl_dealloc_job(job); in fp_send_rnid()
10011 fp_p2p_online(fc_local_port_t *port, job_request_t *job) in fp_p2p_online() argument
10018 ASSERT((job->job_flags & JOB_TYPE_FP_ASYNC) == 0); in fp_p2p_online()
10023 if ((job->job_flags & JOB_CANCEL_ULP_NOTIFICATION) == 0) { in fp_p2p_online()
10025 job->job_flags |= JOB_CANCEL_ULP_NOTIFICATION; in fp_p2p_online()
10030 if ((job->job_flags & JOB_CANCEL_ULP_NOTIFICATION) == 0) { in fp_p2p_online()
10124 fp_fabric_online(fc_local_port_t *port, job_request_t *job) in fp_fabric_online() argument
10141 ASSERT((job->job_flags & JOB_TYPE_FP_ASYNC) == 0); in fp_fabric_online()
10164 job->job_counter = 1; in fp_fabric_online()
10165 job->job_result = FC_SUCCESS; in fp_fabric_online()
10174 rval = fp_ns_query(port, ns_cmd, job, 1, KM_SLEEP); in fp_fabric_online()
10283 job->job_counter = 1; in fp_fabric_online()
10284 job->job_result = FC_SUCCESS; in fp_fabric_online()
10300 rval = fp_ns_query(port, ns_cmd, job, 1, KM_SLEEP); in fp_fabric_online()
10361 job->job_counter = count; in fp_fabric_online()
10387 fp_jobdone(job); in fp_fabric_online()
10402 fp_jobdone(job); in fp_fabric_online()
10423 rval = fp_port_login(port, d_id, job, in fp_fabric_online()
10427 fp_jobdone(job); in fp_fabric_online()
10435 fp_jobwait(job); in fp_fabric_online()
10440 if ((job->job_flags & JOB_CANCEL_ULP_NOTIFICATION) == 0) { in fp_fabric_online()
10442 job->job_flags |= JOB_CANCEL_ULP_NOTIFICATION; in fp_fabric_online()
10449 job->job_flags |= JOB_CANCEL_ULP_NOTIFICATION; in fp_fabric_online()
10454 if ((job->job_flags & JOB_CANCEL_ULP_NOTIFICATION) == 0) { in fp_fabric_online()
10492 job_request_t *job; in fp_fillout_loopmap() local
10495 job = fctl_alloc_job(JOB_PORT_GETMAP, 0, NULL, NULL, KM_SLEEP); in fp_fillout_loopmap()
10496 job->job_counter = 1; in fp_fillout_loopmap()
10499 fp_get_loopmap(port, job); in fp_fillout_loopmap()
10502 fp_jobwait(job); in fp_fillout_loopmap()
10503 fctl_dealloc_job(job); in fp_fillout_loopmap()
10638 job_request_t *job; in fp_linit_intr() local
10653 job = cmd->cmd_job; in fp_linit_intr()
10658 job->job_result = FC_FAILURE; in fp_linit_intr()
10660 job->job_result = FC_SUCCESS; in fp_linit_intr()
10685 job_request_t *job; in fp_unsol_cb() local
10937 job = fctl_alloc_job(JOB_UNSOL_REQUEST, 0, NULL, in fp_unsol_cb()
10939 if (job == NULL) { in fp_unsol_cb()
10960 job->job_private = (void *)buf; in fp_unsol_cb()
10961 fctl_enque_job(port, job); in fp_unsol_cb()
10970 job_request_t *job) in fp_handle_unsol_buf() argument
11014 FC_REASON_INVALID_LINK_CTRL, job); in fp_handle_unsol_buf()
11024 fp_handle_unsol_logo(port, buf, pd, job); in fp_handle_unsol_buf()
11026 fp_handle_unsol_adisc(port, buf, pd, job); in fp_handle_unsol_buf()
11028 fp_handle_unsol_prlo(port, buf, pd, job); in fp_handle_unsol_buf()
11033 fp_handle_unsol_plogi(port, buf, job, KM_SLEEP); in fp_handle_unsol_buf()
11037 fp_handle_unsol_flogi(port, buf, job, KM_SLEEP); in fp_handle_unsol_buf()
11041 fp_handle_unsol_rscn(port, buf, job, KM_SLEEP); in fp_handle_unsol_buf()
11066 fp_ba_rjt_init(port, cmd, buf, job); in fp_handle_unsol_buf()
11089 FC_REASON_INVALID_LINK_CTRL, job); in fp_handle_unsol_buf()
11137 FC_REASON_INVALID_LINK_CTRL, job); in fp_handle_unsol_buf()
11164 job_request_t *job) in fp_ba_rjt_init() argument
11178 cmd->cmd_job = job; in fp_ba_rjt_init()
11199 uchar_t action, uchar_t reason, job_request_t *job) in fp_els_rjt_init() argument
11213 cmd->cmd_job = job; in fp_els_rjt_init()
11249 fc_unsol_buf_t *buf, job_request_t *job, int sleep) in fp_prlo_acc_init() argument
11277 cmd->cmd_job = job; in fp_prlo_acc_init()
11303 job_request_t *job) in fp_els_acc_init() argument
11315 cmd->cmd_job = job; in fp_els_acc_init()
11361 fc_remote_port_t *pd, job_request_t *job) in fp_handle_unsol_prlo() argument
11434 cmd = fp_prlo_acc_init(port, pd, buf, job, KM_SLEEP); in fp_handle_unsol_prlo()
11478 FC_REASON_INVALID_LINK_CTRL, job); in fp_handle_unsol_prlo()
11491 fc_remote_port_t *pd, job_request_t *job) in fp_handle_unsol_logo() argument
11528 FC_REASON_INVALID_LINK_CTRL, job); in fp_handle_unsol_logo()
11558 fp_els_acc_init(port, cmd, buf, job); in fp_handle_unsol_logo()
11569 job_request_t *job; in fp_handle_unsol_logo() local
11577 job = fctl_alloc_job( in fp_handle_unsol_logo()
11580 if (job != NULL) { in fp_handle_unsol_logo()
11588 job->job_result = FC_SUCCESS; in fp_handle_unsol_logo()
11594 port, ns_cmd, job, 1, KM_SLEEP); in fp_handle_unsol_logo()
11596 (job->job_result != FC_SUCCESS)) { in fp_handle_unsol_logo()
11598 fctl_dealloc_job(job); in fp_handle_unsol_logo()
11606 fctl_dealloc_job(job); in fp_handle_unsol_logo()
11909 job_request_t *job, int sleep) in fp_handle_unsol_plogi() argument
12028 FC_REASON_CLASS_NOT_SUPP, job); in fp_handle_unsol_plogi()
12046 fp_login_acc_init(port, cmd, buf, job, KM_SLEEP); in fp_handle_unsol_plogi()
12087 FC_REASON_LOGICAL_BSY, job); in fp_handle_unsol_plogi()
12113 job_request_t *job, int sleep) in fp_handle_unsol_flogi() argument
12128 FC_REASON_CLASS_NOT_SUPP, job); in fp_handle_unsol_flogi()
12157 FC_REASON_INVALID_LINK_CTRL, job); in fp_handle_unsol_flogi()
12176 fp_login_acc_init(port, cmd, buf, job, KM_SLEEP); in fp_handle_unsol_flogi()
12193 job_request_t *job, int sleep) in fp_login_acc_init() argument
12277 cmd->cmd_job = job; in fp_login_acc_init()
12313 job_request_t *job, int sleep) in fp_handle_unsol_rscn() argument
12339 fp_els_acc_init(port, cmd, buf, job); in fp_handle_unsol_rscn()
12367 ASSERT((job->job_flags & JOB_TYPE_FP_ASYNC) == 0); in fp_handle_unsol_rscn()
12425 fp_validate_rscn_page(port, page, job, ns_cmd, in fp_handle_unsol_rscn()
12452 job, sleep); in fp_handle_unsol_rscn()
12460 fp_validate_area_domain(port, 0, 0, job, sleep); in fp_handle_unsol_rscn()
12654 job_request_t *job) in fp_remote_lip() argument
12670 ASSERT(job != NULL); in fp_remote_lip()
12671 ASSERT((job->job_flags & JOB_TYPE_FP_ASYNC) == 0); in fp_remote_lip()
12684 job->job_result = FC_SUCCESS; in fp_remote_lip()
12688 ret = fp_ns_query(port, ns_cmd, job, 1, sleep); in fp_remote_lip()
12689 if (ret != FC_SUCCESS || job->job_result != FC_SUCCESS) { in fp_remote_lip()
12711 job->job_result = FC_SUCCESS; in fp_remote_lip()
12718 ret = fp_ns_query(port, ns_cmd, job, 1, sleep); in fp_remote_lip()
12719 if (ret != FC_SUCCESS || job->job_result != FC_SUCCESS) { in fp_remote_lip()
12774 fp_els_init(cmd, s_id, lfa, fp_linit_intr, job); in fp_remote_lip()
12812 job->job_counter = 1; in fp_remote_lip()
12816 fp_jobwait(job); in fp_remote_lip()
12817 rval = job->job_result; in fp_remote_lip()
12898 fp_ns_query(fc_local_port_t *port, fctl_ns_req_t *ns_cmd, job_request_t *job, in fp_ns_query() argument
12923 ns_cmd->ns_cmd_size, ns_cmd->ns_resp_size, job); in fp_ns_query()
12926 job->job_counter = 1; in fp_ns_query()
12927 ASSERT((job->job_flags & JOB_TYPE_FP_ASYNC) == 0); in fp_ns_query()
12931 job->job_result = rval; in fp_ns_query()
12943 fp_jobwait(job); in fp_ns_query()
12944 rval = job->job_result; in fp_ns_query()
12957 uint16_t resp_len, job_request_t *job) in fp_ct_init() argument
12971 cmd->cmd_job = job; in fp_ct_init()
13383 fc_remote_port_t *pd, job_request_t *job) in fp_handle_unsol_adisc() argument
13399 FC_REASON_INVALID_LINK_CTRL, job); in fp_handle_unsol_adisc()
13422 fp_adisc_acc_init(port, cmd, buf, job); in fp_handle_unsol_adisc()
13436 job_request_t *job) in fp_adisc_acc_init() argument
13448 cmd->cmd_job = job; in fp_adisc_acc_init()
13532 fp_logout(fc_local_port_t *port, fc_remote_port_t *pd, job_request_t *job) in fp_logout() argument
13555 fp_logo_init(pd, cmd, job); in fp_logout()
13635 fp_ns_getmap(fc_local_port_t *port, job_request_t *job, fc_portmap_t **map, in fp_ns_getmap() argument
13659 ret = fp_ns_query(port, ns_cmd, job, 1, KM_SLEEP); in fp_ns_getmap()
13679 job_request_t *job; in fp_create_remote_port_by_ns() local
13694 job = fctl_alloc_job(JOB_NS_CMD, 0, NULL, (opaque_t)port, sleep); in fp_create_remote_port_by_ns()
13695 if (job == NULL) { in fp_create_remote_port_by_ns()
13706 job->job_result = FC_SUCCESS; in fp_create_remote_port_by_ns()
13713 ASSERT((job->job_flags & JOB_TYPE_FP_ASYNC) == 0); in fp_create_remote_port_by_ns()
13714 rval = fp_ns_query(port, ns_cmd, job, 1, KM_SLEEP); in fp_create_remote_port_by_ns()
13717 if (rval != FC_SUCCESS || job->job_result != FC_SUCCESS) { in fp_create_remote_port_by_ns()
13718 fctl_dealloc_job(job); in fp_create_remote_port_by_ns()
13721 fctl_dealloc_job(job); in fp_create_remote_port_by_ns()
14031 job_request_t *job, int sleep) in fp_validate_area_domain() argument
14074 (void) fp_ns_get_devcount(port, job, 1, sleep); in fp_validate_area_domain()
14173 job->job_result = FC_SUCCESS; in fp_validate_area_domain()
14185 rval = fp_ns_query(port, ns_cmd, job, 1, in fp_validate_area_domain()
14221 job->job_counter = listindex; in fp_validate_area_domain()
14222 job_flags = job->job_flags; in fp_validate_area_domain()
14223 job->job_flags |= JOB_TYPE_FP_ASYNC; in fp_validate_area_domain()
14239 fp_jobdone(job); in fp_validate_area_domain()
14253 job, d_id, index); in fp_validate_area_domain()
14255 rval = fp_port_login(port, d_id, job, in fp_validate_area_domain()
14262 job->job_result = rval; in fp_validate_area_domain()
14263 fp_jobdone(job); in fp_validate_area_domain()
14273 job, d_id, index); in fp_validate_area_domain()
14275 rval = fp_ns_validate_device(port, pd, job, in fp_validate_area_domain()
14278 fp_jobdone(job); in fp_validate_area_domain()
14293 fp_jobdone(job); in fp_validate_area_domain()
14298 fctl_jobwait(job); in fp_validate_area_domain()
14300 job->job_flags = job_flags; in fp_validate_area_domain()
14311 job->job_counter = 1; in fp_validate_area_domain()
14312 job->job_result = FC_SUCCESS; in fp_validate_area_domain()
14313 ASSERT((job->job_flags & JOB_TYPE_FP_ASYNC) == 0); in fp_validate_area_domain()
14321 rval = fp_ns_query(port, ns_cmd, job, 1, KM_SLEEP); in fp_validate_area_domain()
14458 job_request_t *job, fctl_ns_req_t *ns_cmd, fc_portmap_t *listptr, in fp_validate_rscn_page() argument
14471 did_pd, (uint32_t)(uintptr_t)job->job_cb_arg); in fp_validate_rscn_page()
14486 job->job_counter = 1; in fp_validate_rscn_page()
14494 rval = fp_ns_query(port, ns_cmd, job, 1, sleep); in fp_validate_rscn_page()
14502 job->job_counter = 1; in fp_validate_rscn_page()
14518 (uint32_t)(uintptr_t)job->job_cb_arg; in fp_validate_rscn_page()
14556 (uint32_t)(uintptr_t)job->job_cb_arg; in fp_validate_rscn_page()
14566 rval = fp_port_login(port, page->aff_d_id, job, in fp_validate_rscn_page()
14569 fp_jobwait(job); in fp_validate_rscn_page()
14570 rval = job->job_result; in fp_validate_rscn_page()
14613 job->job_result, pwwn_pd); in fp_validate_rscn_page()
14672 (uint32_t)(uintptr_t)job->job_cb_arg; in fp_validate_rscn_page()
14702 (uint32_t)(uintptr_t)job->job_cb_arg; in fp_validate_rscn_page()
14723 rval = fp_port_login(port, page->aff_d_id, job, in fp_validate_rscn_page()
14726 fp_jobwait(job); in fp_validate_rscn_page()
14727 rval = job->job_result; in fp_validate_rscn_page()
14754 (uint32_t)(uintptr_t)job->job_cb_arg; in fp_validate_rscn_page()
14768 (uint32_t)(uintptr_t)job->job_cb_arg; in fp_validate_rscn_page()
14772 job->job_counter = 1; in fp_validate_rscn_page()
14774 if (fp_ns_getmap(port, job, &ptr, &len, in fp_validate_rscn_page()
14821 (uint32_t)(uintptr_t)job->job_cb_arg; in fp_validate_rscn_page()
14831 (uint32_t)(uintptr_t)job->job_cb_arg; in fp_validate_rscn_page()
14854 rval = fp_port_login(port, page->aff_d_id, job, in fp_validate_rscn_page()
14857 fp_jobwait(job); in fp_validate_rscn_page()
14858 if (job->job_result != FC_SUCCESS) { in fp_validate_rscn_page()
14881 job_request_t *job, int polled, int sleep) in fp_ns_validate_device() argument
14905 return (fp_ns_query(port, ns_cmd, job, polled, sleep)); in fp_ns_validate_device()
15041 fp_fcio_login(fc_local_port_t *port, fcio_t *fcio, job_request_t *job) in fp_fcio_login() argument
15056 job->job_counter = 1; in fp_fcio_login()
15058 job->job_result = FC_SUCCESS; in fp_fcio_login()
15069 ret = fp_ns_query(port, ns_cmd, job, 1, KM_SLEEP); in fp_fcio_login()
15071 if (ret != FC_SUCCESS || job->job_result != FC_SUCCESS) { in fp_fcio_login()
15075 fcio->fcio_errno = job->job_result; in fp_fcio_login()
15097 job->job_counter = 1; in fp_fcio_login()
15132 job->job_flags &= ~JOB_TYPE_FP_ASYNC; in fp_fcio_login()
15133 job->job_counter = 1; in fp_fcio_login()
15135 ret = fp_port_login(port, d_id, job, FP_CMD_PLOGI_RETAIN, in fp_fcio_login()
15145 fp_jobwait(job); in fp_fcio_login()
15147 fcio->fcio_errno = job->job_result; in fp_fcio_login()
15153 if (job->job_result != FC_SUCCESS) { in fp_fcio_login()
15181 fp_fcio_logout(fc_local_port_t *port, fcio_t *fcio, job_request_t *job) in fp_fcio_logout() argument
15237 job->job_counter = 1; in fp_fcio_logout()
15261 fp_logo_init(pd, cmd, job); in fp_fcio_logout()
15277 fp_jobwait(job); in fp_fcio_logout()
15279 fcio->fcio_errno = job->job_result; in fp_fcio_logout()
15280 if (job->job_result != FC_SUCCESS) { in fp_fcio_logout()