[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 1cb5a7f..9c0727b 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;