From: Todd Poynor Date: Sun, 29 Jul 2018 19:36:36 +0000 (-0700) Subject: staging: gasket: page table: hold references to device and pci_dev X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=dd9d1502feea3c23d412f289aad79e1d4e86d45d;p=linux.git staging: gasket: page table: hold references to device and pci_dev Hold references to the struct device and the pci_dev for the page table while the data structures contian pointers to these. Signed-off-by: Todd Poynor Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/gasket/gasket_page_table.c b/drivers/staging/gasket/gasket_page_table.c index b9304d221722b..6b946a155ee3a 100644 --- a/drivers/staging/gasket/gasket_page_table.c +++ b/drivers/staging/gasket/gasket_page_table.c @@ -345,8 +345,8 @@ int gasket_page_table_init( bar_data->virt_base[page_table_config->base_reg]); pg_tbl->extended_offset_reg = (u64 __iomem *)&( bar_data->virt_base[page_table_config->extended_reg]); - pg_tbl->device = device; - pg_tbl->pci_dev = pci_dev; + pg_tbl->device = get_device(device); + pg_tbl->pci_dev = pci_dev_get(pci_dev); dev_dbg(device, "Page table initialized successfully\n"); @@ -364,6 +364,8 @@ void gasket_page_table_cleanup(struct gasket_page_table *pg_tbl) vfree(pg_tbl->entries); pg_tbl->entries = NULL; + put_device(pg_tbl->device); + pci_dev_put(pg_tbl->pci_dev); kfree(pg_tbl); }