Message ID | 20200927090820.61859-4-f4bug@amsat.org |
---|---|
State | New |
Headers | show |
Series | qdev-clock: Minor improvements to the Clock API | expand |
On 11:08 Sun 27 Sep , Philippe Mathieu-Daudé wrote: > Instead of directly aborting, display a hint to help the developer > figure out the problem (likely trying to connect a clock to a device > pre-dating the Clock API, thus not expecting clocks). > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Luc Michel <luc@lmichel.fr> > --- > hw/core/qdev-clock.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/hw/core/qdev-clock.c b/hw/core/qdev-clock.c > index 47ecb5b4fae..33bd4a9d520 100644 > --- a/hw/core/qdev-clock.c > +++ b/hw/core/qdev-clock.c > @@ -12,6 +12,7 @@ > */ > > #include "qemu/osdep.h" > +#include "qemu/error-report.h" > #include "hw/qdev-clock.h" > #include "hw/qdev-core.h" > #include "qapi/error.h" > @@ -153,6 +154,11 @@ Clock *qdev_get_clock_in(DeviceState *dev, const char *name) > assert(name); > > ncl = qdev_get_clocklist(dev, name); > + if (!ncl) { > + error_report("can not find clock-in '%s' for device type '%s'", > + name, object_get_typename(OBJECT(dev))); > + abort(); > + } > assert(!ncl->output); > > return ncl->clock; > @@ -165,6 +171,11 @@ Clock *qdev_get_clock_out(DeviceState *dev, const char *name) > assert(name); > > ncl = qdev_get_clocklist(dev, name); > + if (!ncl) { > + error_report("can not find clock-out '%s' for device type '%s'", > + name, object_get_typename(OBJECT(dev))); > + abort(); > + } > assert(ncl->output); > > return ncl->clock; > -- > 2.26.2 >
diff --git a/hw/core/qdev-clock.c b/hw/core/qdev-clock.c index 47ecb5b4fae..33bd4a9d520 100644 --- a/hw/core/qdev-clock.c +++ b/hw/core/qdev-clock.c @@ -12,6 +12,7 @@ */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "hw/qdev-clock.h" #include "hw/qdev-core.h" #include "qapi/error.h" @@ -153,6 +154,11 @@ Clock *qdev_get_clock_in(DeviceState *dev, const char *name) assert(name); ncl = qdev_get_clocklist(dev, name); + if (!ncl) { + error_report("can not find clock-in '%s' for device type '%s'", + name, object_get_typename(OBJECT(dev))); + abort(); + } assert(!ncl->output); return ncl->clock; @@ -165,6 +171,11 @@ Clock *qdev_get_clock_out(DeviceState *dev, const char *name) assert(name); ncl = qdev_get_clocklist(dev, name); + if (!ncl) { + error_report("can not find clock-out '%s' for device type '%s'", + name, object_get_typename(OBJECT(dev))); + abort(); + } assert(ncl->output); return ncl->clock;
Instead of directly aborting, display a hint to help the developer figure out the problem (likely trying to connect a clock to a device pre-dating the Clock API, thus not expecting clocks). Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- hw/core/qdev-clock.c | 11 +++++++++++ 1 file changed, 11 insertions(+)