--- x/drivers/dma-buf/sync_debug.c +++ s/drivers/dma-buf/sync_debug.c @@ -141,10 +141,11 @@ static void sync_print_sync_file(struct static int sync_info_debugfs_show(struct seq_file *s, void *unused) { struct list_head *pos; + unsigned long flags; seq_puts(s, "objs:\n--------------\n"); - spin_lock_irq(&sync_timeline_list_lock); + spin_lock_irqsave(&sync_timeline_list_lock, flags); list_for_each(pos, &sync_timeline_list_head) { struct sync_timeline *obj = container_of(pos, struct sync_timeline, @@ -153,11 +154,11 @@ static int sync_info_debugfs_show(struct sync_print_obj(s, obj); seq_putc(s, '\n'); } - spin_unlock_irq(&sync_timeline_list_lock); + spin_unlock_irqrestore(&sync_timeline_list_lock, flags); seq_puts(s, "fences:\n--------------\n"); - spin_lock_irq(&sync_file_list_lock); + spin_lock_irqsave(&sync_file_list_lock, flags); list_for_each(pos, &sync_file_list_head) { struct sync_file *sync_file = container_of(pos, struct sync_file, sync_file_list); @@ -165,7 +166,7 @@ static int sync_info_debugfs_show(struct sync_print_sync_file(s, sync_file); seq_putc(s, '\n'); } - spin_unlock_irq(&sync_file_list_lock); + spin_unlock_irqrestore(&sync_file_list_lock, flags); return 0; }