qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Andreas Färber" <andreas.faerber@web.de>,
	"Markus Armbruster" <armbru@pond.sub.org>,
	qemu-ppc@nongnu.org
Subject: [Qemu-devel] [PULL 08/41] raven: Mark use of hw_error() in realize() FIXME
Date: Wed, 13 Jan 2016 16:43:06 +0100	[thread overview]
Message-ID: <1452699819-26608-9-git-send-email-armbru@redhat.com> (raw)
In-Reply-To: <1452699819-26608-1-git-send-email-armbru@redhat.com>

Device realize() methods aren't supposed to call hw_error(), they
should set an error and fail cleanly.  Blindly doing that would be
easy enough, but then realize() would fail without undoing its side
effects.  Just mark it FIXME for now.

Cc: "Andreas Färber" <andreas.faerber@web.de>
Cc: qemu-ppc@nongnu.org
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <1450370121-5768-6-git-send-email-armbru@redhat.com>
---
 hw/pci-host/prep.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c
index da88cb3..f434596 100644
--- a/hw/pci-host/prep.c
+++ b/hw/pci-host/prep.c
@@ -326,6 +326,7 @@ static void raven_realize(PCIDevice *d, Error **errp)
             }
         }
         if (bios_size < 0 || bios_size > BIOS_SIZE) {
+            /* FIXME should error_setg() */
             hw_error("qemu: could not load bios image '%s'\n", s->bios_name);
         }
         g_free(filename);
@@ -355,8 +356,9 @@ static void raven_class_init(ObjectClass *klass, void *data)
     dc->desc = "PReP Host Bridge - Motorola Raven";
     dc->vmsd = &vmstate_raven;
     /*
-     * PCI-facing part of the host bridge, not usable without the
-     * host-facing part, which can't be device_add'ed, yet.
+     * Reason: PCI-facing part of the host bridge, not usable without
+     * the host-facing part, which can't be device_add'ed, yet.
+     * Reason: realize() method uses hw_error().
      */
     dc->cannot_instantiate_with_device_add_yet = true;
 }
-- 
2.4.3

  parent reply	other threads:[~2016-01-13 15:43 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-13 15:42 [Qemu-devel] [PULL 00/41] Error reporting patches for 2016-01-13 Markus Armbruster
2016-01-13 15:42 ` [Qemu-devel] [PULL 01/41] error: Document how to accumulate multiple errors Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 02/41] Use error_fatal to simplify obvious fatal errors Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 03/41] hw: Inline the qdev_prop_set_drive_nofail() wrapper Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 04/41] hw: Don't use hw_error() for machine initialization errors Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 05/41] omap: Don't use hw_error() in device init() methods Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 06/41] arm_mptimer: Don't use hw_error() in realize() method Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 07/41] etraxfs_eth: Don't use hw_error() in init() method Markus Armbruster
2016-01-13 15:43 ` Markus Armbruster [this message]
2016-01-13 15:43 ` [Qemu-devel] [PULL 09/41] error: Don't append a newline when printing the error hint Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 10/41] hw/arm/virt: Fix property "gic-version" error handling Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 11/41] sysbus: Don't use hw_error() in machine_init_done_notifiers Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 12/41] isa: Trivially convert remaining PCI-ISA bridges to realize() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 13/41] isa: Clean up error handling around isa_bus_new() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 14/41] isa: Clean up inappropriate hw_error() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 15/41] audio: Clean up inappropriate and unreachable use of hw_error() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 16/41] xen-hvm: Mark inappropriate error handling FIXME Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 17/41] qemu-nbd: Replace BSDism <err.h> by error_report() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 18/41] error: Use error_report_err() where appropriate (again) Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 19/41] error: Use error_report_err() instead of monitor_printf() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 20/41] error: Use error_report_err() instead of ad hoc prints Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 21/41] error: Improve documentation Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 22/41] block: Clean up "Could not create temporary overlay" error message Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 23/41] qemu-nbd: Clean up "Failed to load snapshot" " Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 24/41] test-throttle: Simplify qemu_init_main_loop() error handling Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 25/41] error: New error_prepend(), error_reportf_err() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 26/41] error: Don't decorate original error message when adding to it Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 27/41] error: Use error_reportf_err() where it makes obvious sense Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 28/41] error: Use error_prepend() " Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 29/41] spapr: Use error_reportf_err() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 30/41] migration: Use error_reportf_err() instead of monitor_printf() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 31/41] qemu-io qemu-nbd: Use error_report() etc. instead of fprintf() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 32/41] error: Strip trailing '\n' from error string arguments (again) Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 33/41] vmdk: Clean up control flow in vmdk_parse_extents() a bit Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 34/41] vmdk: Clean up "Invalid extent lines" error message Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 35/41] pci-assign: Clean up "Failed to assign" error messages Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 36/41] vhdx: Fix "log that needs to be replayed" error message Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 37/41] error: Clean up errors with embedded newlines (again) Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 38/41] hw/s390x: Rename local variables Error *l_err to just err Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 39/41] s390/sclp: Simplify control flow in sclp_realize() Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 40/41] error: Consistently name Error * objects err, and not errp Markus Armbruster
2016-01-13 15:43 ` [Qemu-devel] [PULL 41/41] checkpatch: Detect newlines in error_report and other error functions Markus Armbruster
2016-01-14 14:09 ` [Qemu-devel] [PULL 00/41] Error reporting patches for 2016-01-13 Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1452699819-26608-9-git-send-email-armbru@redhat.com \
    --to=armbru@redhat.com \
    --cc=andreas.faerber@web.de \
    --cc=armbru@pond.sub.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).