s390/pci: remove hotplug slot when releasing the device
Centralize the removal so all paths are covered and the hotplug slot will remain active until the device is really destroyed. Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com> Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
parent
bcb5d6c769
commit
6ee600bfbe
@ -906,8 +906,6 @@ int zpci_deconfigure_device(struct zpci_dev *zdev)
|
|||||||
*/
|
*/
|
||||||
void zpci_device_reserved(struct zpci_dev *zdev)
|
void zpci_device_reserved(struct zpci_dev *zdev)
|
||||||
{
|
{
|
||||||
if (zdev->has_hp_slot)
|
|
||||||
zpci_exit_slot(zdev);
|
|
||||||
/*
|
/*
|
||||||
* Remove device from zpci_list as it is going away. This also
|
* Remove device from zpci_list as it is going away. This also
|
||||||
* makes sure we ignore subsequent zPCI events for this device.
|
* makes sure we ignore subsequent zPCI events for this device.
|
||||||
@ -925,6 +923,9 @@ void zpci_release_device(struct kref *kref)
|
|||||||
struct zpci_dev *zdev = container_of(kref, struct zpci_dev, kref);
|
struct zpci_dev *zdev = container_of(kref, struct zpci_dev, kref);
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
if (zdev->has_hp_slot)
|
||||||
|
zpci_exit_slot(zdev);
|
||||||
|
|
||||||
if (zdev->zbus->bus)
|
if (zdev->zbus->bus)
|
||||||
zpci_bus_remove_device(zdev, false);
|
zpci_bus_remove_device(zdev, false);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user