[PATCH] tpm: check mem start and len
authorKylene Jo Hall <kjhall@us.ibm.com>
Sat, 22 Apr 2006 09:38:55 +0000 (02:38 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 22 Apr 2006 16:19:54 +0000 (09:19 -0700)
The memory start and length values obtained from the ACPI entry need to be
checked and filled in with the default values from the specification if
they don't exist.  This patch fills in the default values and uses them
appropriately.

Signed-off-by: Kylie Hall <kjhall@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/char/tpm/tpm_tis.c

index 1cb5a7f0755d86e130ed2f5e723b5d2c65617b64..9c0727bf28b752ecc9c73fb1f003d9be2a4da8c6 100644 (file)
@@ -52,6 +52,8 @@ enum tis_int_flags {
 };
 
 enum tis_defaults {
+       TIS_MEM_BASE = 0xFED4000,
+       TIS_MEM_LEN = 0x5000,
        TIS_SHORT_TIMEOUT = 750, /* ms */
        TIS_LONG_TIMEOUT = 2000, /* 2 sec */
 };
@@ -437,6 +439,11 @@ static int __devinit tpm_tis_pnp_init(struct pnp_dev
        start = pnp_mem_start(pnp_dev, 0);
        len = pnp_mem_len(pnp_dev, 0);
 
+       if (!start)
+               start = TIS_MEM_BASE;
+       if (!len)
+               len = TIS_MEM_LEN;
+
        if (!(chip = tpm_register_hardware(&pnp_dev->dev, &tpm_tis)))
                return -ENODEV;