void pa__done(pa_module*m) {
    struct userdata *u = m->userdata;

    assert(m);

    if (!u)
        return;

    if (u->call_state_tracker)
        pa_call_state_tracker_unref(u->call_state_tracker);

    voice_clear_up(u);

    if (u->modargs)
        pa_modargs_free(u->modargs);

    unset_hooks(u);

    pa_xfree(u);
}
void pa__done(pa_module *m)
{
  struct userdata *u;
  pa_modargs *ma;

  u = m->userdata;
  if (u)
  {
    voice_shutdown_aep();
    voice_enable_sidetone(u, 0);
    voice_clear_up(u);
    fir_eq_free(u->wb_ear_iir_eq);
    iir_eq_free(u->nb_ear_iir_eq);
    iir_eq_free(u->wb_mic_iir_eq);
    iir_eq_free(u->nb_mic_iir_eq);
    xprot_free(u->xprot);
    ma = (pa_modargs *)u->modargs;

    if (ma)
      pa_modargs_free(ma);

    pa_xfree(u);
  }
}