mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
tpm_crb: Check ACPI_COMPANION() against NULL during probe
Every platform driver can be forced to match a device that doesn't match
its list of device IDs because of device_match_driver_override(), so
platform drivers that rely on the existence of a device's ACPI companion
object need to verify its presence.
Accordingly, add a requisite ACPI_COMPANION() check against NULL to the
tpm_crb driver.
Fixes: 48fe2cddc8 ("tpm_crb: Convert ACPI driver to a platform one")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/r/2848144.mvXUDI8C0e@rafael.j.wysocki
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
This commit is contained in:
parent
c0c9cfb3b7
commit
ddd33806b8
|
|
@ -786,8 +786,8 @@ static int crb_map_pluton(struct device *dev, struct crb_priv *priv,
|
|||
static int crb_acpi_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
struct acpi_device *device = ACPI_COMPANION(dev);
|
||||
struct acpi_table_tpm2 *buf;
|
||||
struct acpi_device *device;
|
||||
struct crb_priv *priv;
|
||||
struct tpm_chip *chip;
|
||||
struct tpm2_crb_smc *crb_smc;
|
||||
|
|
@ -797,6 +797,10 @@ static int crb_acpi_probe(struct platform_device *pdev)
|
|||
u32 sm;
|
||||
int rc;
|
||||
|
||||
device = ACPI_COMPANION(dev);
|
||||
if (!device)
|
||||
return -ENODEV;
|
||||
|
||||
status = acpi_get_table(ACPI_SIG_TPM2, 1,
|
||||
(struct acpi_table_header **) &buf);
|
||||
if (ACPI_FAILURE(status) || buf->header.length < sizeof(*buf)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user