 d64072c0ac
			
		
	
	
		d64072c0ac
		
	
	
	
	
		
			
			This reverts commit d10e05f15d5c3dd5e5cc59c5dfff460d89d48580.
We report some -tpmdev failures, but then continue as if all was fine.
Reproducer:
    $ qemu-system-x86_64 -nodefaults -S -display none -monitor stdio -chardev null,id=tpm0 -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0
    qemu-system-x86_64: -tpmdev emulator,id=tpm0,chardev=chrtpm: tpm-emulator: tpm chardev 'chrtpm' not found.
    qemu-system-x86_64: -tpmdev emulator,id=tpm0,chardev=chrtpm: tpm-emulator: Could not cleanly shutdown the TPM: No such file or directory
    QEMU 5.0.90 monitor - type 'help' for more information
    (qemu) qemu-system-x86_64: -device tpm-tis,tpmdev=tpm0: Property 'tpm-tis.tpmdev' can't find value 'tpm0'
    $ echo $?
    1
This is a regression caused by commit d10e05f15d "tpm: Clean up error
reporting in tpm_init_tpmdev()".  It's incomplete: be->create(opts)
continues to use error_report(), and we don't set an error when it
fails.
I figure converting the create() methods to Error would make some
sense, but I'm not sure it's worth the effort right now.  Revert the
broken commit instead, and add a comment to tpm_init_tpmdev().
Straightforward conflict in tpm.c resolved.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
		
	
			
		
			
				
	
	
		
			40 lines
		
	
	
		
			582 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			582 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * TPM stubs
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | |
|  * See the COPYING file in the top-level directory.
 | |
|  */
 | |
| 
 | |
| #include "qemu/osdep.h"
 | |
| #include "qapi/qapi-commands-tpm.h"
 | |
| #include "sysemu/tpm.h"
 | |
| #include "hw/acpi/tpm.h"
 | |
| 
 | |
| int tpm_init(void)
 | |
| {
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| void tpm_cleanup(void)
 | |
| {
 | |
| }
 | |
| 
 | |
| TPMInfoList *qmp_query_tpm(Error **errp)
 | |
| {
 | |
|     return NULL;
 | |
| }
 | |
| 
 | |
| TpmTypeList *qmp_query_tpm_types(Error **errp)
 | |
| {
 | |
|     return NULL;
 | |
| }
 | |
| 
 | |
| TpmModelList *qmp_query_tpm_models(Error **errp)
 | |
| {
 | |
|     return NULL;
 | |
| }
 | |
| 
 | |
| void tpm_build_ppi_acpi(TPMIf *tpm, Aml *dev)
 | |
| {
 | |
| }
 |