On 10/13/22 1:21 PM, Peter Maydell wrote: > The semantic difference between the deprecated device_legacy_reset() > function and the newer device_cold_reset() function is that the new > function resets both the device itself and any qbuses it owns, > whereas the legacy function resets just the device itself and nothing > else. > > In s390-pci-inst.c we use device_legacy_reset() to reset an > S390PCIBusDevice. This device doesn't have any child qbuses, so the > functions do the same thing and we can stop using the deprecated one. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > NB: tested only with 'make check' and 'make check-avocado', which > probably don't exercise this codepath. >
I exercised the codepath by triggering the associated clp using both virtio and vfio pci devices on s390x; looks good to me. Reviewed-by: Matthew Rosato <mjros...@linux.ibm.com> > hw/s390x/s390-pci-inst.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c > index 20a9bcc7afb..16f5a3e81b4 100644 > --- a/hw/s390x/s390-pci-inst.c > +++ b/hw/s390x/s390-pci-inst.c > @@ -272,7 +272,7 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_t > ra) > stw_p(&ressetpci->hdr.rsp, CLP_RC_SETPCIFN_FHOP); > goto out; > } > - device_legacy_reset(DEVICE(pbdev)); > + device_cold_reset(DEVICE(pbdev)); > pbdev->fh &= ~FH_MASK_ENABLE; > pbdev->state = ZPCI_FS_DISABLED; > stl_p(&ressetpci->fh, pbdev->fh);