[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [linux-2.6.18-xen] xenbus: Print more comprehensive info about unconnected devices during boot.



# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1190104449 -3600
# Node ID c8992c4b7a1ca0e912b04bd268b251ad8e7a14d2
# Parent  d2bd9af846b5c3fbb8879a01a29cdfc44dc84f66
xenbus: Print more comprehensive info about unconnected devices during boot.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 drivers/xen/xenbus/xenbus_probe.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletion(-)

diff -r d2bd9af846b5 -r c8992c4b7a1c drivers/xen/xenbus/xenbus_probe.c
--- a/drivers/xen/xenbus/xenbus_probe.c Tue Sep 11 16:38:13 2007 +0100
+++ b/drivers/xen/xenbus/xenbus_probe.c Tue Sep 18 09:34:09 2007 +0100
@@ -1051,6 +1051,7 @@ static int print_device_status(struct de
 {
        struct xenbus_device *xendev = to_xenbus_device(dev);
        struct device_driver *drv = data;
+       struct xenbus_driver *xendrv;
 
        /* Is this operation limited to a particular driver? */
        if (drv && (dev->driver != drv))
@@ -1060,7 +1061,10 @@ static int print_device_status(struct de
                /* Information only: is this too noisy? */
                printk(KERN_INFO "XENBUS: Device with no driver: %s\n",
                       xendev->nodename);
-       } else if (xendev->state < XenbusStateConnected) {
+               return 0;
+       }
+
+       if (xendev->state < XenbusStateConnected) {
                enum xenbus_state rstate = XenbusStateUnknown;
                if (xendev->otherend)
                        rstate = xenbus_read_driver_state(xendev->otherend);
@@ -1068,6 +1072,11 @@ static int print_device_status(struct de
                       "to device: %s (local state %d, remote state %d)\n",
                       xendev->nodename, xendev->state, rstate);
        }
+
+       xendrv = to_xenbus_driver(dev->driver);
+       if (xendrv->is_ready && !xendrv->is_ready(xendev))
+               printk(KERN_WARNING "XENBUS: Device not ready: %s\n",
+                      xendev->nodename);
 
        return 0;
 }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.