···233233 return -ENODEV;234234 }235235236236+ /* At least some versions of AMI BIOS have a bug that TPM2 table has237237+ * zero address for the control area and therefore we must fail.238238+ */239239+ if (!buf->control_area_pa) {240240+ dev_err(dev, "TPM2 ACPI table has a zero address for the control area\n");241241+ return -EINVAL;242242+ }243243+236244 if (buf->hdr.length < sizeof(struct acpi_tpm2)) {237245 dev_err(dev, "TPM2 ACPI table has wrong size");238246 return -EINVAL;