net: phy: micrel: use generic config_init for KSZ8021/KSZ8031
[cascardo/linux.git] / lib / dma-debug.c
index 1ac35db..9722bd2 100644 (file)
@@ -102,9 +102,12 @@ static DEFINE_SPINLOCK(free_entries_lock);
 /* Global disable flag - will be set in case of an error */
 static u32 global_disable __read_mostly;
 
+/* Early initialization disable flag, set at the end of dma_debug_init */
+static bool dma_debug_initialized __read_mostly;
+
 static inline bool dma_debug_disabled(void)
 {
-       return global_disable;
+       return global_disable || !dma_debug_initialized;
 }
 
 /* Global error count */
@@ -999,7 +1002,10 @@ void dma_debug_init(u32 num_entries)
 {
        int i;
 
-       if (dma_debug_disabled())
+       /* Do not use dma_debug_initialized here, since we really want to be
+        * called to set dma_debug_initialized
+        */
+       if (global_disable)
                return;
 
        for (i = 0; i < HASH_SIZE; ++i) {
@@ -1026,6 +1032,8 @@ void dma_debug_init(u32 num_entries)
 
        nr_total_entries = num_free_entries;
 
+       dma_debug_initialized = true;
+
        pr_info("DMA-API: debugging enabled by kernel config\n");
 }