.. | .. |
---|
727 | 727 | struct pci_dev *pdev = test->pdev; |
---|
728 | 728 | |
---|
729 | 729 | mutex_lock(&test->mutex); |
---|
| 730 | + |
---|
| 731 | + reinit_completion(&test->irq_raised); |
---|
| 732 | + test->last_irq = -ENODATA; |
---|
| 733 | + |
---|
730 | 734 | switch (cmd) { |
---|
731 | 735 | case PCITEST_BAR: |
---|
732 | 736 | bar = arg; |
---|
.. | .. |
---|
935 | 939 | if (id < 0) |
---|
936 | 940 | return; |
---|
937 | 941 | |
---|
| 942 | + pci_endpoint_test_release_irq(test); |
---|
| 943 | + pci_endpoint_test_free_irq_vectors(test); |
---|
| 944 | + |
---|
938 | 945 | misc_deregister(&test->miscdev); |
---|
939 | 946 | kfree(misc_device->name); |
---|
940 | 947 | kfree(test->name); |
---|
.. | .. |
---|
943 | 950 | if (test->bar[bar]) |
---|
944 | 951 | pci_iounmap(pdev, test->bar[bar]); |
---|
945 | 952 | } |
---|
946 | | - |
---|
947 | | - pci_endpoint_test_release_irq(test); |
---|
948 | | - pci_endpoint_test_free_irq_vectors(test); |
---|
949 | 953 | |
---|
950 | 954 | pci_release_regions(pdev); |
---|
951 | 955 | pci_disable_device(pdev); |
---|