qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 25/42] tpm-be: report error instead of front-end


From: Stefan Berger
Subject: Re: [Qemu-devel] [PATCH 25/42] tpm-be: report error instead of front-end
Date: Tue, 10 Oct 2017 16:20:04 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0

On 10/09/2017 06:56 PM, Marc-André Lureau wrote:
Backend can give more accurate error description, and lift out the job
from the frontend.

Signed-off-by: Marc-André Lureau <address@hidden>

Reviewed-by: Stefan Berger <address@hidden>

---
  include/sysemu/tpm_backend.h | 3 ++-
  backends/tpm.c               | 3 ++-
  hw/tpm/tpm_tis.c             | 4 +---
  3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/sysemu/tpm_backend.h b/include/sysemu/tpm_backend.h
index dd4fb288ea..51dfc0de9c 100644
--- a/include/sysemu/tpm_backend.h
+++ b/include/sysemu/tpm_backend.h
@@ -100,12 +100,13 @@ enum TpmType tpm_backend_get_type(TPMBackend *s);
   * @s: the backend to initialized
   * @tpmif: TPM interface
   * @datacb: callback for sending data to frontend
+ * @errp: a pointer to return the #Error object if an error occurs.
   *
   * Initialize the backend with the given variables.
   *
   * Returns 0 on success.
   */
-int tpm_backend_init(TPMBackend *s, TPMIf *tpmif);
+int tpm_backend_init(TPMBackend *s, TPMIf *tpmif, Error **errp);

  /**
   * tpm_backend_startup_tpm:
diff --git a/backends/tpm.c b/backends/tpm.c
index 58f823d54c..7b108bd5d8 100644
--- a/backends/tpm.c
+++ b/backends/tpm.c
@@ -54,9 +54,10 @@ enum TpmType tpm_backend_get_type(TPMBackend *s)
      return k->type;
  }

-int tpm_backend_init(TPMBackend *s, TPMIf *tpmif)
+int tpm_backend_init(TPMBackend *s, TPMIf *tpmif, Error **errp)
  {
      if (s->tpmif) {
+        error_setg(errp, "TPM backend '%s' is already initialized", s->id);
          return -1;
      }

diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
index 355427ab29..2fbc760730 100644
--- a/hw/tpm/tpm_tis.c
+++ b/hw/tpm/tpm_tis.c
@@ -1069,9 +1069,7 @@ static void tpm_tis_realizefn(DeviceState *dev, Error 
**errp)

      s->be_driver->fe_model = TPM_MODEL_TPM_TIS;

-    if (tpm_backend_init(s->be_driver, TPM_IF(s))) {
-        error_setg(errp, "tpm_tis: backend driver with id %s could not be "
-                   "initialized", s->backend);
+    if (tpm_backend_init(s->be_driver, TPM_IF(s), errp)) {
          return;
      }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]