| .. | .. |
|---|
| 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); |
|---|