|
|
@@ -125,6 +125,7 @@ struct pci_endpoint_test {
|
|
|
struct miscdevice miscdev;
|
|
|
enum pci_barno test_reg_bar;
|
|
|
size_t alignment;
|
|
|
+ const char *name;
|
|
|
};
|
|
|
|
|
|
struct pci_endpoint_test_data {
|
|
|
@@ -243,7 +244,7 @@ static bool pci_endpoint_test_request_irq(struct pci_endpoint_test *test)
|
|
|
for (i = 0; i < test->num_irqs; i++) {
|
|
|
err = devm_request_irq(dev, pci_irq_vector(pdev, i),
|
|
|
pci_endpoint_test_irqhandler,
|
|
|
- IRQF_SHARED, DRV_MODULE_NAME, test);
|
|
|
+ IRQF_SHARED, test->name, test);
|
|
|
if (err)
|
|
|
goto fail;
|
|
|
}
|
|
|
@@ -846,6 +847,7 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev,
|
|
|
dev_err(dev, "Failed to register device\n");
|
|
|
goto err_kfree_name;
|
|
|
}
|
|
|
+ test->name = kstrdup(name, GFP_KERNEL);
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
@@ -886,6 +888,7 @@ static void pci_endpoint_test_remove(struct pci_dev *pdev)
|
|
|
|
|
|
misc_deregister(&test->miscdev);
|
|
|
kfree(misc_device->name);
|
|
|
+ kfree(test->name);
|
|
|
ida_simple_remove(&pci_endpoint_test_ida, id);
|
|
|
for (bar = BAR_0; bar <= BAR_5; bar++) {
|
|
|
if (test->bar[bar])
|