s390/consoles: improve panic notifiers reliability
[sfrench/cifs-2.6.git] / drivers / s390 / char / raw3270.c
index dfde0d941c3c4fc9c71a1329e6c8a7d6b6afdc43..4e2b3a1a3b2ef3f39feff9cae75f4bd59f8776c1 100644 (file)
@@ -830,6 +830,21 @@ raw3270_create_device(struct ccw_device *cdev)
        return rp;
 }
 
+/*
+ * This helper just validates that it is safe to activate a
+ * view in the panic() context, due to locking restrictions.
+ */
+int raw3270_view_lock_unavailable(struct raw3270_view *view)
+{
+       struct raw3270 *rp = view->dev;
+
+       if (!rp)
+               return -ENODEV;
+       if (spin_is_locked(get_ccwdev_lock(rp->cdev)))
+               return -EBUSY;
+       return 0;
+}
+
 /*
  * Activate a view.
  */