diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-10-11 04:21:51 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-11 14:14:22 -0400 |
commit | f33d9bd50478c9a969b65f58feb6b69a3ad478cb (patch) | |
tree | 90f7455da171aa2b7558d5921f199015b5ab9a0b /drivers/char/tpm/tpm_nsc.c | |
parent | 5a2b4062f5adf2218b9b021e1c33f374bf142cb2 (diff) |
[PATCH] tpm: fix error handling
- handle sysfs error
- handle driver model errors
- de-obfuscate platform_device_register_simple() call, which included an
assignment in between two function calls, in the same C statement.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Acked-by: Kylene Hall <kjhall@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/tpm/tpm_nsc.c')
-rw-r--r-- | drivers/char/tpm/tpm_nsc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/char/tpm/tpm_nsc.c b/drivers/char/tpm/tpm_nsc.c index 26287aace87d..608f73071bef 100644 --- a/drivers/char/tpm/tpm_nsc.c +++ b/drivers/char/tpm/tpm_nsc.c | |||
@@ -284,7 +284,7 @@ static struct device_driver nsc_drv = { | |||
284 | static int __init init_nsc(void) | 284 | static int __init init_nsc(void) |
285 | { | 285 | { |
286 | int rc = 0; | 286 | int rc = 0; |
287 | int lo, hi; | 287 | int lo, hi, err; |
288 | int nscAddrBase = TPM_ADDR; | 288 | int nscAddrBase = TPM_ADDR; |
289 | struct tpm_chip *chip; | 289 | struct tpm_chip *chip; |
290 | unsigned long base; | 290 | unsigned long base; |
@@ -297,7 +297,9 @@ static int __init init_nsc(void) | |||
297 | return -ENODEV; | 297 | return -ENODEV; |
298 | } | 298 | } |
299 | 299 | ||
300 | driver_register(&nsc_drv); | 300 | err = driver_register(&nsc_drv); |
301 | if (err) | ||
302 | return err; | ||
301 | 303 | ||
302 | hi = tpm_read_index(nscAddrBase, TPM_NSC_BASE0_HI); | 304 | hi = tpm_read_index(nscAddrBase, TPM_NSC_BASE0_HI); |
303 | lo = tpm_read_index(nscAddrBase, TPM_NSC_BASE0_LO); | 305 | lo = tpm_read_index(nscAddrBase, TPM_NSC_BASE0_LO); |