All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, mst@redhat.com, marcel.apfelbaum@gmail.com
Subject: Re: [PATCH 12/12] pci: Improve do_pcie_aer_inject_error()'s error messages
Date: Tue, 29 Nov 2022 19:42:29 +0000	[thread overview]
Message-ID: <Y4ZgpfZ4xRbd1OBy@work-vm> (raw)
In-Reply-To: <20221128080202.2570543-13-armbru@redhat.com>

* Markus Armbruster (armbru@redhat.com) wrote:
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> ---
>  hw/pci/pci-hmp-cmds.c | 30 +++++++++++++++---------------
>  1 file changed, 15 insertions(+), 15 deletions(-)
> 
> diff --git a/hw/pci/pci-hmp-cmds.c b/hw/pci/pci-hmp-cmds.c
> index 0807a206e4..279851bfe6 100644
> --- a/hw/pci/pci-hmp-cmds.c
> +++ b/hw/pci/pci-hmp-cmds.c
> @@ -161,6 +161,7 @@ void pcibus_dev_print(Monitor *mon, DeviceState *dev, int indent)
>  
>  void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict)
>  {
> +    Error *err = NULL;
>      const char *id = qdict_get_str(qdict, "id");
>      const char *error_name;
>      uint32_t error_status;
> @@ -171,25 +172,21 @@ void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict)
>      int ret;
>  
>      ret = pci_qdev_find_device(id, &dev);
> -    if (ret < 0) {
> -        monitor_printf(mon,
> -                       "id or pci device path is invalid or device not "
> -                       "found. %s\n", id);
> -        return;
> +    if (ret == -ENODEV) {
> +        error_setg(&err, "device '%s' not found", id);
> +        goto out;
>      }
> -    if (!pci_is_express(dev)) {
> -        monitor_printf(mon, "the device doesn't support pci express. %s\n",
> -                       id);
> -        return;
> +    if (ret < 0 || !pci_is_express(dev)) {
> +        error_setg(&err, "device '%s' is not a PCIe device", id);
> +        goto out;
>      }
>  
>      error_name = qdict_get_str(qdict, "error_status");
>      if (pcie_aer_parse_error_string(error_name, &error_status, &correctable)) {
>          if (qemu_strtoul(error_name, NULL, 0, &num) < 0
>              || num > UINT32_MAX) {
> -            monitor_printf(mon, "invalid error status value. \"%s\"",
> -                           error_name);
> -            return;
> +            error_setg(&err, "invalid error status value '%s'", error_name);
> +            goto out;
>          }
>          error_status = num;
>          correctable = qdict_get_try_bool(qdict, "correctable", false);
> @@ -223,12 +220,15 @@ void hmp_pcie_aer_inject_error(Monitor *mon, const QDict *qdict)
>  
>      ret = pcie_aer_inject_error(dev, &aer_err);
>      if (ret < 0) {
> -        monitor_printf(mon, "failed to inject error: %s\n",
> -                       strerror(-ret));
> -        return;
> +        error_setg_errno(&err, -ret, "failed to inject error");
> +        goto out;
>      }
>  
> +
>      monitor_printf(mon, "OK id: %s root bus: %s, bus: %x devfn: %x.%x\n",
>                     id, pci_root_bus_path(dev), pci_dev_bus_num(dev),
>                     PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn));
> +
> +out:
> +    hmp_handle_error(mon, err);
>  }
> -- 
> 2.37.3
> 
-- 
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK



  reply	other threads:[~2022-11-29 19:43 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-28  8:01 [PATCH 00/12] pci: Move and clean up monitor command code Markus Armbruster
2022-11-28  8:01 ` [PATCH 01/12] pci: Clean up a few things checkpatch.pl would flag later on Markus Armbruster
2022-11-28  8:27   ` Philippe Mathieu-Daudé
2022-11-28  8:01 ` [PATCH 02/12] pci: Move QMP commands to new hw/pci/pci-qmp-cmds.c Markus Armbruster
2022-11-28  8:01 ` [PATCH 03/12] pci: Move HMP commands from monitor/ to new hw/pci/pci-hmp-cmds.c Markus Armbruster
2022-11-28  8:27   ` Philippe Mathieu-Daudé
2022-11-28 12:09   ` Dr. David Alan Gilbert
2022-11-28  8:01 ` [PATCH 04/12] pci: Make query-pci stub consistent with the real one Markus Armbruster
2022-11-29 12:03   ` Dr. David Alan Gilbert
2022-11-28  8:01 ` [PATCH 05/12] pci: Build hw/pci/pci-hmp-cmds.c only when CONFIG_PCI Markus Armbruster
2022-11-28  8:26   ` Philippe Mathieu-Daudé
2022-11-28 10:21     ` Markus Armbruster
2022-11-28 10:26       ` Michael S. Tsirkin
2022-11-28 12:24   ` Dr. David Alan Gilbert
2022-11-28 13:38     ` Markus Armbruster
2022-11-28 14:27       ` Dr. David Alan Gilbert
2022-11-28  8:01 ` [PATCH 06/12] pci: Deduplicate get_class_desc() Markus Armbruster
2022-11-28  8:01 ` [PATCH 07/12] pci: Move pcibus_dev_print() to pci-hmp-cmds.c Markus Armbruster
2022-11-28  8:24   ` Philippe Mathieu-Daudé
2022-11-28  8:01 ` [PATCH 08/12] pci: Fix silent truncation of pcie_aer_inject_error argument Markus Armbruster
2022-11-29 12:14   ` Dr. David Alan Gilbert
2022-11-30 18:40     ` Markus Armbruster
2022-11-28  8:01 ` [PATCH 09/12] pci: Move HMP command from hw/pci/pcie_aer.c to pci-hmp-cmds.c Markus Armbruster
2022-11-28  8:21   ` Philippe Mathieu-Daudé
2022-11-28 11:50     ` Markus Armbruster
2022-11-28  8:02 ` [PATCH 10/12] pci: Inline do_pcie_aer_inject_error() into its only caller Markus Armbruster
2022-11-29 19:59   ` Dr. David Alan Gilbert
2022-11-28  8:02 ` [PATCH 11/12] pci: Rename hmp_pcie_aer_inject_error()'s local variable @err Markus Armbruster
2022-11-28  8:21   ` Philippe Mathieu-Daudé
2022-11-28  8:02 ` [PATCH 12/12] pci: Improve do_pcie_aer_inject_error()'s error messages Markus Armbruster
2022-11-29 19:42   ` Dr. David Alan Gilbert [this message]
2022-11-28  9:25 ` [PATCH 00/12] pci: Move and clean up monitor command code Michael S. Tsirkin
2022-11-28 11:52   ` Markus Armbruster
2022-11-28 10:27 ` Michael S. Tsirkin

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=Y4ZgpfZ4xRbd1OBy@work-vm \
    --to=dgilbert@redhat.com \
    --cc=armbru@redhat.com \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.