Lines Matching refs:desc

447 	kcf_provider_desc_t *desc;  in crypto_unregister_provider()  local
452 if ((desc = kcf_prov_tab_lookup((crypto_provider_id_t)handle)) == in crypto_unregister_provider()
458 mutex_enter(&desc->pd_lock); in crypto_unregister_provider()
463 if (desc->pd_state >= KCF_PROV_DISABLED) { in crypto_unregister_provider()
464 mutex_exit(&desc->pd_lock); in crypto_unregister_provider()
466 KCF_PROV_REFRELE(desc); in crypto_unregister_provider()
471 saved_state = desc->pd_state; in crypto_unregister_provider()
472 desc->pd_state = KCF_PROV_UNREGISTERING; in crypto_unregister_provider()
479 cv_broadcast(&desc->pd_resume_cv); in crypto_unregister_provider()
482 mutex_exit(&desc->pd_lock); in crypto_unregister_provider()
484 if (desc->pd_prov_type != CRYPTO_SW_PROVIDER) { in crypto_unregister_provider()
485 remove_provider(desc); in crypto_unregister_provider()
488 if (desc->pd_prov_type != CRYPTO_LOGICAL_PROVIDER) { in crypto_unregister_provider()
490 for (mech_idx = 0; mech_idx < desc->pd_mech_list_count; in crypto_unregister_provider()
493 desc->pd_mechanisms[mech_idx].cm_mech_name, desc); in crypto_unregister_provider()
501 KCF_PROV_REFRELE(desc); in crypto_unregister_provider()
506 delete_kstat(desc); in crypto_unregister_provider()
508 if (desc->pd_prov_type == CRYPTO_SW_PROVIDER) { in crypto_unregister_provider()
515 while (kcf_get_refcnt(desc, B_TRUE) > 1) { in crypto_unregister_provider()
527 for (i = 0; i < desc->pd_nbins; i++) { in crypto_unregister_provider()
528 mp = &(desc->pd_percpu_bins[i]); in crypto_unregister_provider()
538 mutex_enter(&desc->pd_lock); in crypto_unregister_provider()
539 desc->pd_state = KCF_PROV_UNREGISTERED; in crypto_unregister_provider()
540 mutex_exit(&desc->pd_lock); in crypto_unregister_provider()
542 kcf_do_notify(desc, B_FALSE); in crypto_unregister_provider()
546 KCF_PROV_REFRELE(desc); in crypto_unregister_provider()
548 if (kcf_get_refcnt(desc, B_TRUE) == 0) { in crypto_unregister_provider()
550 kcf_free_provider_desc(desc); in crypto_unregister_provider()
552 ASSERT(desc->pd_prov_type != CRYPTO_SW_PROVIDER); in crypto_unregister_provider()
571 "framework.", desc->pd_description); in crypto_unregister_provider()
577 desc->pd_description); in crypto_unregister_provider()
583 desc->pd_description, ret); in crypto_unregister_provider()
741 init_prov_mechs(crypto_provider_info_t *info, kcf_provider_desc_t *desc) in init_prov_mechs() argument
748 int mcount = desc->pd_mech_list_count; in init_prov_mechs()
750 if (desc->pd_prov_type == CRYPTO_LOGICAL_PROVIDER) { in init_prov_mechs()
753 bcopy(info->pi_mechanisms, desc->pd_mechanisms, in init_prov_mechs()
775 bcopy(info->pi_mechanisms, desc->pd_mechanisms, in init_prov_mechs()
778 rand_mi = &desc->pd_mechanisms[mcount - 1]; in init_prov_mechs()
786 bcopy(info->pi_mechanisms, desc->pd_mechanisms, in init_prov_mechs()
795 for (mech_idx = 0; mech_idx < desc->pd_mech_list_count; mech_idx++) { in init_prov_mechs()
796 crypto_mech_info_t *mi = &desc->pd_mechanisms[mech_idx]; in init_prov_mechs()
804 if ((err = kcf_add_mech_provider(mech_idx, desc, &pmd)) != in init_prov_mechs()
821 if (desc_use_count == 0 && desc->pd_prov_type == CRYPTO_SW_PROVIDER) in init_prov_mechs()
833 desc->pd_mechanisms[cleanup_idx].cm_mech_name, desc); in init_prov_mechs()
891 undo_register_provider(kcf_provider_desc_t *desc, boolean_t remove_prov) in undo_register_provider() argument
896 for (mech_idx = 0; mech_idx < desc->pd_mech_list_count; in undo_register_provider()
899 desc->pd_mechanisms[mech_idx].cm_mech_name, desc); in undo_register_provider()
904 (void) kcf_prov_tab_rem_provider(desc->pd_prov_id); in undo_register_provider()
1082 delete_kstat(kcf_provider_desc_t *desc) in delete_kstat() argument
1085 if (desc->pd_kstat != NULL) { in delete_kstat()
1086 kcf_provider_desc_t *kspd = desc->pd_kstat->ks_private; in delete_kstat()
1089 ASSERT(desc == kspd); in delete_kstat()
1091 desc->pd_kstat = NULL; in delete_kstat()