w1: do not unlock unheld list_mutex in __w1_remove_master_device()
[deliverable/linux.git] / drivers / w1 / w1_int.c
index 9b084db739c745b9940cd68ee268542f76820695..728039d2efe1e28c6cca5f8a2de57c2a42c639f7 100644 (file)
@@ -219,9 +219,13 @@ void __w1_remove_master_device(struct w1_master *dev)
 
                if (msleep_interruptible(1000))
                        flush_signals(current);
+               mutex_lock(&dev->list_mutex);
                w1_process_callbacks(dev);
+               mutex_unlock(&dev->list_mutex);
        }
+       mutex_lock(&dev->list_mutex);
        w1_process_callbacks(dev);
+       mutex_unlock(&dev->list_mutex);
 
        memset(&msg, 0, sizeof(msg));
        msg.id.mst.id = dev->id;
This page took 0.02675 seconds and 5 git commands to generate.