Commit dd9d1502 authored by Todd Poynor's avatar Todd Poynor Committed by Greg Kroah-Hartman

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: default avatarTodd Poynor <toddpoynor@google.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 34cf3ea8
...@@ -345,8 +345,8 @@ int gasket_page_table_init( ...@@ -345,8 +345,8 @@ int gasket_page_table_init(
bar_data->virt_base[page_table_config->base_reg]); bar_data->virt_base[page_table_config->base_reg]);
pg_tbl->extended_offset_reg = (u64 __iomem *)&( pg_tbl->extended_offset_reg = (u64 __iomem *)&(
bar_data->virt_base[page_table_config->extended_reg]); bar_data->virt_base[page_table_config->extended_reg]);
pg_tbl->device = device; pg_tbl->device = get_device(device);
pg_tbl->pci_dev = pci_dev; pg_tbl->pci_dev = pci_dev_get(pci_dev);
dev_dbg(device, "Page table initialized successfully\n"); dev_dbg(device, "Page table initialized successfully\n");
...@@ -364,6 +364,8 @@ void gasket_page_table_cleanup(struct gasket_page_table *pg_tbl) ...@@ -364,6 +364,8 @@ void gasket_page_table_cleanup(struct gasket_page_table *pg_tbl)
vfree(pg_tbl->entries); vfree(pg_tbl->entries);
pg_tbl->entries = NULL; pg_tbl->entries = NULL;
put_device(pg_tbl->device);
pci_dev_put(pg_tbl->pci_dev);
kfree(pg_tbl); kfree(pg_tbl);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment