X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=arch%2Fs390%2Fpci%2Fpci_event.c;h=c856f80cb21b880d233fe6c6ec3c93ab4fcb688c;hb=32b47072f319bb65e9afad59e78153d83496f1f5;hp=cd447b96b4b1b024db6e2366a3eb6e7e0c96c139;hpb=e267992f9ef0bf717d70a9ee18049782f77e4b3a;p=linux-2.6-microblaze.git diff --git a/arch/s390/pci/pci_event.c b/arch/s390/pci/pci_event.c index cd447b96b4b1..c856f80cb21b 100644 --- a/arch/s390/pci/pci_event.c +++ b/arch/s390/pci/pci_event.c @@ -84,7 +84,10 @@ static void zpci_event_hard_deconfigured(struct zpci_dev *zdev, u32 fh) /* Even though the device is already gone we still * need to free zPCI resources as part of the disable. */ - zpci_disable_device(zdev); + if (zdev->dma_table) + zpci_dma_exit_device(zdev); + if (zdev_enabled(zdev)) + zpci_disable_device(zdev); zdev->state = ZPCI_FN_STATE_STANDBY; }