hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/drivers/misc/pci_endpoint_test.c
....@@ -727,6 +727,10 @@
727727 struct pci_dev *pdev = test->pdev;
728728
729729 mutex_lock(&test->mutex);
730
+
731
+ reinit_completion(&test->irq_raised);
732
+ test->last_irq = -ENODATA;
733
+
730734 switch (cmd) {
731735 case PCITEST_BAR:
732736 bar = arg;
....@@ -935,6 +939,9 @@
935939 if (id < 0)
936940 return;
937941
942
+ pci_endpoint_test_release_irq(test);
943
+ pci_endpoint_test_free_irq_vectors(test);
944
+
938945 misc_deregister(&test->miscdev);
939946 kfree(misc_device->name);
940947 kfree(test->name);
....@@ -943,9 +950,6 @@
943950 if (test->bar[bar])
944951 pci_iounmap(pdev, test->bar[bar]);
945952 }
946
-
947
- pci_endpoint_test_release_irq(test);
948
- pci_endpoint_test_free_irq_vectors(test);
949953
950954 pci_release_regions(pdev);
951955 pci_disable_device(pdev);