diff --git a/arch/s390/include/asm/pci.h b/arch/s390/include/asm/pci.h index a75d94a9bcb2..5ed11936dc3b 100644 --- a/arch/s390/include/asm/pci.h +++ b/arch/s390/include/asm/pci.h @@ -85,7 +85,6 @@ enum zpci_state { ZPCI_FN_STATE_STANDBY = 0, ZPCI_FN_STATE_CONFIGURED = 1, ZPCI_FN_STATE_RESERVED = 2, - ZPCI_FN_STATE_ONLINE = 3, }; struct zpci_bar_struct { diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c index 91064077526d..053113bcad60 100644 --- a/arch/s390/pci/pci.c +++ b/arch/s390/pci/pci.c @@ -661,7 +661,6 @@ int zpci_enable_device(struct zpci_dev *zdev) if (rc) goto out_dma; - zdev->state = ZPCI_FN_STATE_ONLINE; return 0; out_dma: @@ -770,7 +769,7 @@ int zpci_create_device(u32 fid, u32 fh, enum zpci_state state) return 0; error_disable: - if (zdev->state == ZPCI_FN_STATE_ONLINE) + if (zdev_enabled(zdev)) zpci_disable_device(zdev); error_destroy_iommu: zpci_destroy_iommu(zdev); @@ -787,11 +786,10 @@ void zpci_release_device(struct kref *kref) if (zdev->zbus->bus) zpci_remove_device(zdev, false); - switch (zdev->state) { - case ZPCI_FN_STATE_ONLINE: - case ZPCI_FN_STATE_CONFIGURED: + if (zdev_enabled(zdev)) zpci_disable_device(zdev); - fallthrough; + + switch (zdev->state) { case ZPCI_FN_STATE_STANDBY: if (zdev->has_hp_slot) zpci_exit_slot(zdev); diff --git a/drivers/pci/hotplug/s390_pci_hpc.c b/drivers/pci/hotplug/s390_pci_hpc.c index a047c421debe..c93c09ae4b04 100644 --- a/drivers/pci/hotplug/s390_pci_hpc.c +++ b/drivers/pci/hotplug/s390_pci_hpc.c @@ -20,12 +20,6 @@ #define SLOT_NAME_SIZE 10 -static int zpci_fn_configured(enum zpci_state state) -{ - return state == ZPCI_FN_STATE_CONFIGURED || - state == ZPCI_FN_STATE_ONLINE; -} - static inline int zdev_configure(struct zpci_dev *zdev) { int ret = sclp_pci_configure(zdev->fid); @@ -85,7 +79,7 @@ static int disable_slot(struct hotplug_slot *hotplug_slot) struct pci_dev *pdev; int rc; - if (!zpci_fn_configured(zdev->state)) + if (zdev->state != ZPCI_FN_STATE_CONFIGURED) return -EIO; pdev = pci_get_slot(zdev->zbus->bus, zdev->devfn);