update hdmi driver: support 480p
[firefly-linux-kernel-4.4.55.git] / kernel / mutex.c
index 947b3ad551f8a925c39ef6f53f4f37c16f8a3ea3..f85644c878dd66b70101de3d504ddfdf6e46d32f 100644 (file)
@@ -171,6 +171,13 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass,
        for (;;) {
                struct thread_info *owner;
 
+               /*
+                * If we own the BKL, then don't spin. The owner of
+                * the mutex might be waiting on us to release the BKL.
+                */
+               if (unlikely(current->lock_depth >= 0))
+                       break;
+
                /*
                 * If there's an owner, wait for it to either
                 * release the lock or go to sleep.