Since the console_lock is not being used for anything other than
safe console list traversal, use srcu console list iteration instead.

Signed-off-by: John Ogness <john.ogn...@linutronix.de>
---
 drivers/video/fbdev/xen-fbfront.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/video/fbdev/xen-fbfront.c 
b/drivers/video/fbdev/xen-fbfront.c
index 4d2694d904aa..2552c853c6c2 100644
--- a/drivers/video/fbdev/xen-fbfront.c
+++ b/drivers/video/fbdev/xen-fbfront.c
@@ -500,16 +500,18 @@ static int xenfb_probe(struct xenbus_device *dev,
 static void xenfb_make_preferred_console(void)
 {
        struct console *c;
+       int cookie;
 
        if (console_set_on_cmdline)
                return;
 
-       console_lock();
-       for_each_console(c) {
+       cookie = console_srcu_read_lock();
+       for_each_console_srcu(c) {
                if (!strcmp(c->name, "tty") && c->index == 0)
                        break;
        }
-       console_unlock();
+       console_srcu_read_unlock(cookie);
+
        if (c) {
                unregister_console(c);
                c->flags |= CON_CONSDEV;
-- 
2.30.2

Reply via email to