Lines Matching refs:sa_ctl
101 struct edif_sa_ctl *sa_ctl; in qla2x00_sa_replace_iocb_timeout() local
129 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport, in qla2x00_sa_replace_iocb_timeout()
132 if (sa_ctl) { in qla2x00_sa_replace_iocb_timeout()
135 __func__, sa_ctl, delete_sa_index, edif_entry->update_sa_index, in qla2x00_sa_replace_iocb_timeout()
138 sa_ctl->flags = EDIF_SA_CTL_FLG_DEL; in qla2x00_sa_replace_iocb_timeout()
139 set_bit(EDIF_SA_CTL_REPL, &sa_ctl->state); in qla2x00_sa_replace_iocb_timeout()
141 nport_handle, sa_ctl); in qla2x00_sa_replace_iocb_timeout()
205 fc_port_t *fcport, uint16_t nport_handle, struct edif_sa_ctl *sa_ctl) in qla_post_sa_replace_work() argument
214 e->u.sa_update.sa_ctl = sa_ctl; in qla_post_sa_replace_work()
319 qla_edif_free_sa_ctl(fc_port_t *fcport, struct edif_sa_ctl *sa_ctl, in qla_edif_free_sa_ctl() argument
325 list_del(&sa_ctl->next); in qla_edif_free_sa_ctl()
331 kfree(sa_ctl); in qla_edif_free_sa_ctl()
366 struct edif_sa_ctl *sa_ctl; in __qla2x00_release_all_sadb() local
382 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport, in __qla2x00_release_all_sadb()
384 if (sa_ctl && in __qla2x00_release_all_sadb()
385 qla_edif_find_sa_ctl_by_index(fcport, sa_ctl->index, pdir)) { in __qla2x00_release_all_sadb()
387 "%s: freeing sa_ctl for index %d\n", __func__, sa_ctl->index); in __qla2x00_release_all_sadb()
388 qla_edif_free_sa_ctl(fcport, sa_ctl, sa_ctl->index); in __qla2x00_release_all_sadb()
391 "%s: sa_ctl NOT freed, sa_ctl: %p\n", __func__, sa_ctl); in __qla2x00_release_all_sadb()
1391 struct edif_sa_ctl *sa_ctl; in qla_edif_add_sa_ctl() local
1396 sa_ctl = kzalloc(sizeof(*sa_ctl), GFP_KERNEL); in qla_edif_add_sa_ctl()
1397 if (!sa_ctl) { in qla_edif_add_sa_ctl()
1409 INIT_LIST_HEAD(&sa_ctl->next); in qla_edif_add_sa_ctl()
1410 sap = &sa_ctl->sa_frame; in qla_edif_add_sa_ctl()
1412 sa_ctl->index = index; in qla_edif_add_sa_ctl()
1413 sa_ctl->fcport = fcport; in qla_edif_add_sa_ctl()
1414 sa_ctl->flags = 0; in qla_edif_add_sa_ctl()
1415 sa_ctl->state = 0L; in qla_edif_add_sa_ctl()
1418 __func__, sa_ctl, sa_ctl->index, sa_ctl->state); in qla_edif_add_sa_ctl()
1421 list_add_tail(&sa_ctl->next, &fcport->edif.tx_sa_list); in qla_edif_add_sa_ctl()
1423 list_add_tail(&sa_ctl->next, &fcport->edif.rx_sa_list); in qla_edif_add_sa_ctl()
1426 return sa_ctl; in qla_edif_add_sa_ctl()
1432 struct edif_sa_ctl *sa_ctl, *tsa_ctl; in qla_edif_flush_sa_ctl_lists() local
1437 list_for_each_entry_safe(sa_ctl, tsa_ctl, &fcport->edif.tx_sa_list, in qla_edif_flush_sa_ctl_lists()
1439 list_del(&sa_ctl->next); in qla_edif_flush_sa_ctl_lists()
1440 kfree(sa_ctl); in qla_edif_flush_sa_ctl_lists()
1443 list_for_each_entry_safe(sa_ctl, tsa_ctl, &fcport->edif.rx_sa_list, in qla_edif_flush_sa_ctl_lists()
1445 list_del(&sa_ctl->next); in qla_edif_flush_sa_ctl_lists()
1446 kfree(sa_ctl); in qla_edif_flush_sa_ctl_lists()
1455 struct edif_sa_ctl *sa_ctl, *tsa_ctl; in qla_edif_find_sa_ctl_by_index() local
1463 list_for_each_entry_safe(sa_ctl, tsa_ctl, sa_list, next) { in qla_edif_find_sa_ctl_by_index()
1464 if (test_bit(EDIF_SA_CTL_USED, &sa_ctl->state) && in qla_edif_find_sa_ctl_by_index()
1465 sa_ctl->index == index) in qla_edif_find_sa_ctl_by_index()
1466 return sa_ctl; in qla_edif_find_sa_ctl_by_index()
1476 struct edif_sa_ctl *sa_ctl = NULL; in qla24xx_check_sadb_avail_slot() local
1514 sa_ctl = qla_edif_add_sa_ctl(fcport, sa_frame, dir); in qla24xx_check_sadb_avail_slot()
1515 if (!sa_ctl) { in qla24xx_check_sadb_avail_slot()
1522 set_bit(EDIF_SA_CTL_USED, &sa_ctl->state); in qla24xx_check_sadb_avail_slot()
1531 __func__, sa_ctl, sa_ctl->index, sa_ctl->state, in qla24xx_check_sadb_avail_slot()
1680 struct edif_sa_ctl *sa_ctl; in qla24xx_sadb_update() local
1687 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport, sa_index, in qla24xx_sadb_update()
1689 if (sa_ctl) { in qla24xx_sadb_update()
1692 __func__, sa_ctl->index); in qla24xx_sadb_update()
1693 qla_edif_free_sa_ctl(fcport, sa_ctl, sa_ctl->index); in qla24xx_sadb_update()
2356 struct edif_sa_ctl *sa_ctl = e->u.sa_update.sa_ctl; in qla24xx_issue_sa_replace_iocb() local
2360 "%s: starting, sa_ctl: %p\n", __func__, sa_ctl); in qla24xx_issue_sa_replace_iocb()
2362 if (!sa_ctl) { in qla24xx_issue_sa_replace_iocb()
2369 fcport = sa_ctl->fcport; in qla24xx_issue_sa_replace_iocb()
2382 iocb_cmd->u.sa_update.sa_ctl = sa_ctl; in qla24xx_issue_sa_replace_iocb()
2386 fcport->d_id.b24, sa_ctl, sa_ctl->index, nport_handle); in qla24xx_issue_sa_replace_iocb()
2391 if (sa_ctl->flags & EDIF_SA_CTL_FLG_CLEANUP_DEL) { in qla24xx_issue_sa_replace_iocb()
2503 struct edif_sa_ctl *sa_ctl = srb_iocb->u.sa_update.sa_ctl; in qla24xx_sa_replace_iocb() local
2523 sa_update_iocb->sa_index = cpu_to_le16(sa_ctl->index); in qla24xx_sa_replace_iocb()
2786 struct edif_sa_ctl *sa_ctl; in qla28xx_sa_update_iocb_entry() local
2920 sa_ctl = qla_edif_find_sa_ctl_by_index(sp->fcport, in qla28xx_sa_update_iocb_entry()
2922 if (sa_ctl && in qla28xx_sa_update_iocb_entry()
2923 qla_edif_find_sa_ctl_by_index(sp->fcport, sa_ctl->index, in qla28xx_sa_update_iocb_entry()
2927 __func__, sa_ctl->index); in qla28xx_sa_update_iocb_entry()
2928 qla_edif_free_sa_ctl(sp->fcport, sa_ctl, sa_ctl->index); in qla28xx_sa_update_iocb_entry()
2932 __func__, sa_ctl); in qla28xx_sa_update_iocb_entry()
3417 struct edif_sa_ctl *sa_ctl; in __chk_edif_rx_sa_delete_pending() local
3466 sa_ctl = qla_edif_find_sa_ctl_by_index(fcport, delete_sa_index, 0); in __chk_edif_rx_sa_delete_pending()
3467 if (sa_ctl) { in __chk_edif_rx_sa_delete_pending()
3470 __func__, sa_ctl, sa_index); in __chk_edif_rx_sa_delete_pending()
3476 sa_ctl->flags = EDIF_SA_CTL_FLG_DEL; in __chk_edif_rx_sa_delete_pending()
3477 set_bit(EDIF_SA_CTL_REPL, &sa_ctl->state); in __chk_edif_rx_sa_delete_pending()
3479 nport_handle, sa_ctl); in __chk_edif_rx_sa_delete_pending()