Revert "staging: gasket: page table: hold references to device and pci_dev"
authorTodd Poynor <toddpoynor@google.com>
Tue, 31 Jul 2018 20:24:47 +0000 (13:24 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Aug 2018 18:07:03 +0000 (20:07 +0200)
gasket_free_dev() is called only from driver PCI probe and remove
function. It is guaranteed that that pci_dev structure is not going
anywhere during that time; there is no need to take this additional
reference.

This reverts commit dd9d1502feea3c23d412f289aad79e1d4e86d45d.

Reported-by: Dmitry Torokhov <dtor@chromium.org>
Signed-off-by: Todd Poynor <toddpoynor@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/gasket/gasket_page_table.c

index 13e1d09..ed6ab3c 100644 (file)
@@ -280,7 +280,7 @@ int gasket_page_table_init(struct gasket_page_table **ppg_tbl,
        pg_tbl->extended_offset_reg =
                (u64 __iomem *)&bar_data->virt_base[page_table_config->extended_reg];
        pg_tbl->device = get_device(device);
-       pg_tbl->pci_dev = pci_dev_get(pci_dev);
+       pg_tbl->pci_dev = pci_dev;
 
        dev_dbg(device, "Page table initialized successfully\n");
 
@@ -378,7 +378,6 @@ void gasket_page_table_cleanup(struct gasket_page_table *pg_tbl)
        pg_tbl->entries = NULL;
 
        put_device(pg_tbl->device);
-       pci_dev_put(pg_tbl->pci_dev);
        kfree(pg_tbl);
 }