aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/p2sb.c
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2022-09-08 18:34:54 +0200
committerPaolo Abeni <pabeni@redhat.com>2022-09-08 18:38:30 +0200
commit9f8f1933dce555d3c246f447f54fca8de8889da9 (patch)
treedc447d0174473de8385d47eb8aedc058a336e4a9 /drivers/platform/x86/p2sb.c
parentnet: sparx5: fix function return type to match actual type (diff)
parentMerge tag 'net-6.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (diff)
downloadlinux-dev-9f8f1933dce555d3c246f447f54fca8de8889da9.tar.xz
linux-dev-9f8f1933dce555d3c246f447f54fca8de8889da9.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
drivers/net/ethernet/freescale/fec.h 7d650df99d52 ("net: fec: add pm_qos support on imx6q platform") 40c79ce13b03 ("net: fec: add stop mode support for imx8 platform") Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/platform/x86/p2sb.c')
-rw-r--r--drivers/platform/x86/p2sb.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/platform/x86/p2sb.c b/drivers/platform/x86/p2sb.c
index fb2e141f3eb8..384d0962ae93 100644
--- a/drivers/platform/x86/p2sb.c
+++ b/drivers/platform/x86/p2sb.c
@@ -42,10 +42,24 @@ static int p2sb_get_devfn(unsigned int *devfn)
return 0;
}
+/* Copy resource from the first BAR of the device in question */
static int p2sb_read_bar0(struct pci_dev *pdev, struct resource *mem)
{
- /* Copy resource from the first BAR of the device in question */
- *mem = pdev->resource[0];
+ struct resource *bar0 = &pdev->resource[0];
+
+ /* Make sure we have no dangling pointers in the output */
+ memset(mem, 0, sizeof(*mem));
+
+ /*
+ * We copy only selected fields from the original resource.
+ * Because a PCI device will be removed soon, we may not use
+ * any allocated data, hence we may not copy any pointers.
+ */
+ mem->start = bar0->start;
+ mem->end = bar0->end;
+ mem->flags = bar0->flags;
+ mem->desc = bar0->desc;
+
return 0;
}