Lines Matching refs:login

111 	struct sbp_login_descriptor *login, *found = NULL;  in sbp_login_find_by_lun()  local
114 list_for_each_entry(login, &session->login_list, link) { in sbp_login_find_by_lun()
115 if (login->login_lun == unpacked_lun) in sbp_login_find_by_lun()
116 found = login; in sbp_login_find_by_lun()
130 struct sbp_login_descriptor *login; in sbp_login_count_all_by_lun() local
138 list_for_each_entry(login, &sess->login_list, link) { in sbp_login_count_all_by_lun()
139 if (login->login_lun != unpacked_lun) in sbp_login_count_all_by_lun()
142 if (!exclusive || login->exclusive) in sbp_login_count_all_by_lun()
157 struct sbp_login_descriptor *login, *found = NULL; in sbp_login_find_by_id() local
164 list_for_each_entry(login, &sess->login_list, link) { in sbp_login_find_by_id()
165 if (login->login_id == login_id) in sbp_login_find_by_id()
166 found = login; in sbp_login_find_by_id()
266 static void sbp_login_release(struct sbp_login_descriptor *login, in sbp_login_release() argument
269 struct sbp_session *sess = login->sess; in sbp_login_release()
273 sbp_target_agent_unregister(login->tgt_agt); in sbp_login_release()
277 list_del(&login->link); in sbp_login_release()
283 kfree(login); in sbp_login_release()
296 struct sbp_login_descriptor *login; in sbp_management_request_login() local
329 login = sbp_login_find_by_lun(sess, unpacked_lun); in sbp_management_request_login()
330 if (login) { in sbp_management_request_login()
426 login = kmalloc(sizeof(*login), GFP_KERNEL); in sbp_management_request_login()
427 if (!login) { in sbp_management_request_login()
438 login->sess = sess; in sbp_management_request_login()
439 login->login_lun = unpacked_lun; in sbp_management_request_login()
440 login->status_fifo_addr = sbp2_pointer_to_addr(&req->orb.status_fifo); in sbp_management_request_login()
441 login->exclusive = LOGIN_ORB_EXCLUSIVE(be32_to_cpu(req->orb.misc)); in sbp_management_request_login()
442 login->login_id = atomic_inc_return(&login_id); in sbp_management_request_login()
444 login->tgt_agt = sbp_target_agent_register(login); in sbp_management_request_login()
445 if (IS_ERR(login->tgt_agt)) { in sbp_management_request_login()
446 ret = PTR_ERR(login->tgt_agt); in sbp_management_request_login()
450 kfree(login); in sbp_management_request_login()
459 list_add_tail(&login->link, &sess->login_list); in sbp_management_request_login()
467 sbp_login_release(login, true); in sbp_management_request_login()
480 (login->login_id & 0xffff)); in sbp_management_request_login()
482 addr_to_sbp2_pointer(login->tgt_agt->handler.offset, in sbp_management_request_login()
493 sbp_login_release(login, true); in sbp_management_request_login()
528 struct sbp_login_descriptor *login; in sbp_management_request_reconnect() local
542 login = sbp_login_find_by_id(tpg, in sbp_management_request_reconnect()
545 if (!login) { in sbp_management_request_reconnect()
554 if (login->sess->guid != guid) { in sbp_management_request_reconnect()
563 spin_lock_bh(&login->sess->lock); in sbp_management_request_reconnect()
564 if (login->sess->card) in sbp_management_request_reconnect()
565 fw_card_put(login->sess->card); in sbp_management_request_reconnect()
568 login->sess->generation = req->generation; in sbp_management_request_reconnect()
569 login->sess->node_id = req->node_addr; in sbp_management_request_reconnect()
570 login->sess->card = fw_card_get(req->card); in sbp_management_request_reconnect()
571 login->sess->speed = req->speed; in sbp_management_request_reconnect()
572 spin_unlock_bh(&login->sess->lock); in sbp_management_request_reconnect()
586 struct sbp_login_descriptor *login; in sbp_management_request_logout() local
590 login = sbp_login_find_by_id(tpg, id); in sbp_management_request_logout()
591 if (!login) { in sbp_management_request_logout()
601 login->login_lun, login->login_id); in sbp_management_request_logout()
603 if (req->node_addr != login->sess->node_id) { in sbp_management_request_logout()
612 sbp_login_release(login, true); in sbp_management_request_logout()
650 struct sbp_login_descriptor *login, *temp; in session_reconnect_expired() local
656 list_for_each_entry_safe(login, temp, &sess->login_list, link) { in session_reconnect_expired()
657 login->sess = NULL; in session_reconnect_expired()
658 list_move_tail(&login->link, &login_list); in session_reconnect_expired()
662 list_for_each_entry_safe(login, temp, &login_list, link) { in session_reconnect_expired()
663 list_del(&login->link); in session_reconnect_expired()
664 sbp_login_release(login, false); in session_reconnect_expired()
833 struct sbp_session *sess = agent->login->sess; in tgt_agent_rw()
947 struct sbp_session *sess = agent->login->sess; in tgt_agent_fetch_work()
962 req->login = agent->login; in tgt_agent_fetch_work()
1027 struct sbp_login_descriptor *login) in sbp_target_agent_register() argument
1042 agent->login = login; in sbp_target_agent_register()
1103 struct sbp_login_descriptor *login = req->login; in sbp_run_request_transaction() local
1104 struct sbp_session *sess = login->sess; in sbp_run_request_transaction()
1208 struct sbp_login_descriptor *login = req->login; in sbp_handle_command() local
1209 struct sbp_session *sess = login->sess; in sbp_handle_command()
1227 unpacked_lun = req->login->login_lun; in sbp_handle_command()
1258 struct sbp_session *sess = req->login->sess; in sbp_rw_data()
1349 struct sbp_login_descriptor *login = req->login; in sbp_send_status() local
1354 login->status_fifo_addr, &req->status, length); in sbp_send_status()