Commit 0a0a52ab authored by David E. Box's avatar David E. Box Committed by Hans de Goede

platform/x86/intel/vsec: remove platform_info from vsec device structure

In preparation for exporting an API to register Intel Vendor Specific
Extended Capabilities (VSEC) from other drivers, remove the pointer to
platform_info from intel_vsec_device. This prevents a potential page fault
when auxiliary drivers probe and attempt to dereference this pointer to
access the needed quirks field. Instead, just add the quirks to
intel_vsec_device.
Signed-off-by: default avatarDavid E. Box <david.e.box@linux.intel.com>
Reviewed-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20231129222132.2331261-5-david.e.box@linux.intel.comSigned-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent dbc01b0c
...@@ -31,7 +31,7 @@ bool intel_pmt_is_early_client_hw(struct device *dev) ...@@ -31,7 +31,7 @@ bool intel_pmt_is_early_client_hw(struct device *dev)
* differences from the server platforms (which use the Out Of Band * differences from the server platforms (which use the Out Of Band
* Management Services Module OOBMSM). * Management Services Module OOBMSM).
*/ */
return !!(ivdev->info->quirks & VSEC_QUIRK_EARLY_HW); return !!(ivdev->quirks & VSEC_QUIRK_EARLY_HW);
} }
EXPORT_SYMBOL_NS_GPL(intel_pmt_is_early_client_hw, INTEL_PMT); EXPORT_SYMBOL_NS_GPL(intel_pmt_is_early_client_hw, INTEL_PMT);
......
...@@ -194,7 +194,7 @@ static int intel_vsec_add_dev(struct pci_dev *pdev, struct intel_vsec_header *he ...@@ -194,7 +194,7 @@ static int intel_vsec_add_dev(struct pci_dev *pdev, struct intel_vsec_header *he
intel_vsec_dev->pcidev = pdev; intel_vsec_dev->pcidev = pdev;
intel_vsec_dev->resource = res; intel_vsec_dev->resource = res;
intel_vsec_dev->num_resources = header->num_entries; intel_vsec_dev->num_resources = header->num_entries;
intel_vsec_dev->info = info; intel_vsec_dev->quirks = info->quirks;
if (header->id == VSEC_ID_SDSI) if (header->id == VSEC_ID_SDSI)
intel_vsec_dev->ida = &intel_vsec_sdsi_ida; intel_vsec_dev->ida = &intel_vsec_sdsi_ida;
......
...@@ -79,11 +79,11 @@ struct intel_vsec_device { ...@@ -79,11 +79,11 @@ struct intel_vsec_device {
struct pci_dev *pcidev; struct pci_dev *pcidev;
struct resource *resource; struct resource *resource;
struct ida *ida; struct ida *ida;
struct intel_vsec_platform_info *info;
int num_resources; int num_resources;
int id; /* xa */ int id; /* xa */
void *priv_data; void *priv_data;
size_t priv_data_size; size_t priv_data_size;
unsigned long quirks;
}; };
int intel_vsec_add_aux(struct pci_dev *pdev, struct device *parent, int intel_vsec_add_aux(struct pci_dev *pdev, struct device *parent,
......
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