|
@@ -4639,10 +4639,16 @@ static struct notifier_block qdf_va_md_notif_blk = {
|
|
|
|
|
|
void __qdf_minidump_init(void)
|
|
void __qdf_minidump_init(void)
|
|
{
|
|
{
|
|
|
|
+ int ret;
|
|
|
|
+
|
|
|
|
+ if (qdf_va_md_initialized)
|
|
|
|
+ return;
|
|
|
|
+
|
|
qdf_spinlock_create(&qdf_va_md_list_lock);
|
|
qdf_spinlock_create(&qdf_va_md_list_lock);
|
|
qdf_list_create(&qdf_va_md_list, QDF_MINIDUMP_LIST_SIZE);
|
|
qdf_list_create(&qdf_va_md_list, QDF_MINIDUMP_LIST_SIZE);
|
|
- qcom_va_md_register("qdf_va_md", &qdf_va_md_notif_blk);
|
|
|
|
- qdf_va_md_initialized = true;
|
|
|
|
|
|
+ ret = qcom_va_md_register(qdf_trace_wlan_modname(),
|
|
|
|
+ &qdf_va_md_notif_blk);
|
|
|
|
+ qdf_va_md_initialized = !ret;
|
|
}
|
|
}
|
|
|
|
|
|
qdf_export_symbol(__qdf_minidump_init);
|
|
qdf_export_symbol(__qdf_minidump_init);
|
|
@@ -4652,7 +4658,12 @@ void __qdf_minidump_deinit(void)
|
|
struct qdf_va_md_entry *entry;
|
|
struct qdf_va_md_entry *entry;
|
|
struct qdf_va_md_entry *next;
|
|
struct qdf_va_md_entry *next;
|
|
|
|
|
|
|
|
+ if (!qdf_va_md_initialized)
|
|
|
|
+ return;
|
|
|
|
+
|
|
qdf_va_md_initialized = false;
|
|
qdf_va_md_initialized = false;
|
|
|
|
+ qcom_va_md_unregister(qdf_trace_wlan_modname(),
|
|
|
|
+ &qdf_va_md_notif_blk);
|
|
qdf_spin_lock_irqsave(&qdf_va_md_list_lock);
|
|
qdf_spin_lock_irqsave(&qdf_va_md_list_lock);
|
|
qdf_list_for_each_del(&qdf_va_md_list, entry, next, node) {
|
|
qdf_list_for_each_del(&qdf_va_md_list, entry, next, node) {
|
|
qdf_list_remove_node(&qdf_va_md_list, &entry->node);
|
|
qdf_list_remove_node(&qdf_va_md_list, &entry->node);
|