* Delete a session after it has been detached from its driver. */
| 884 | * Delete a session after it has been detached from its driver. |
| 885 | */ |
| 886 | static void |
| 887 | crypto_deletesession(crypto_session_t cses) |
| 888 | { |
| 889 | struct cryptocap *cap; |
| 890 | |
| 891 | cap = cses->cap; |
| 892 | |
| 893 | zfree(cses, M_CRYPTO_DATA); |
| 894 | |
| 895 | CRYPTO_DRIVER_LOCK(); |
| 896 | cap->cc_sessions--; |
| 897 | if (cap->cc_sessions == 0 && cap->cc_flags & CRYPTOCAP_F_CLEANUP) |
| 898 | wakeup(cap); |
| 899 | CRYPTO_DRIVER_UNLOCK(); |
| 900 | cap_rele(cap); |
| 901 | } |
| 902 | |
| 903 | /* |
| 904 | * Create a new session. The crid argument specifies a crypto |
no test coverage detected