@@ -978,13 +978,13 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
978
978
979
979
if (wait_startup (chip , 0 ) != 0 ) {
980
980
rc = - ENODEV ;
981
- goto out_err ;
981
+ goto err_start ;
982
982
}
983
983
984
984
/* Take control of the TPM's interrupt hardware and shut it off */
985
985
rc = tpm_tis_read32 (priv , TPM_INT_ENABLE (priv -> locality ), & intmask );
986
986
if (rc < 0 )
987
- goto out_err ;
987
+ goto err_start ;
988
988
989
989
intmask |= TPM_INTF_CMD_READY_INT | TPM_INTF_LOCALITY_CHANGE_INT |
990
990
TPM_INTF_DATA_AVAIL_INT | TPM_INTF_STS_VALID_INT ;
@@ -993,21 +993,21 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
993
993
994
994
rc = tpm_chip_start (chip );
995
995
if (rc )
996
- goto out_err ;
996
+ goto err_start ;
997
+
997
998
rc = tpm2_probe (chip );
998
- tpm_chip_stop (chip );
999
999
if (rc )
1000
- goto out_err ;
1000
+ goto err_probe ;
1001
1001
1002
1002
rc = tpm_tis_read32 (priv , TPM_DID_VID (0 ), & vendor );
1003
1003
if (rc < 0 )
1004
- goto out_err ;
1004
+ goto err_probe ;
1005
1005
1006
1006
priv -> manufacturer_id = vendor ;
1007
1007
1008
1008
rc = tpm_tis_read8 (priv , TPM_RID (0 ), & rid );
1009
1009
if (rc < 0 )
1010
- goto out_err ;
1010
+ goto err_probe ;
1011
1011
1012
1012
dev_info (dev , "%s TPM (device-id 0x%X, rev-id %d)\n" ,
1013
1013
(chip -> flags & TPM_CHIP_FLAG_TPM2 ) ? "2.0" : "1.2" ,
@@ -1016,13 +1016,13 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
1016
1016
probe = probe_itpm (chip );
1017
1017
if (probe < 0 ) {
1018
1018
rc = - ENODEV ;
1019
- goto out_err ;
1019
+ goto err_probe ;
1020
1020
}
1021
1021
1022
1022
/* Figure out the capabilities */
1023
1023
rc = tpm_tis_read32 (priv , TPM_INTF_CAPS (priv -> locality ), & intfcaps );
1024
1024
if (rc < 0 )
1025
- goto out_err ;
1025
+ goto err_probe ;
1026
1026
1027
1027
dev_dbg (dev , "TPM interface capabilities (0x%x):\n" ,
1028
1028
intfcaps );
@@ -1056,10 +1056,9 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
1056
1056
if (tpm_get_timeouts (chip )) {
1057
1057
dev_err (dev , "Could not get TPM timeouts and durations\n" );
1058
1058
rc = - ENODEV ;
1059
- goto out_err ;
1059
+ goto err_probe ;
1060
1060
}
1061
1061
1062
- tpm_chip_start (chip );
1063
1062
chip -> flags |= TPM_CHIP_FLAG_IRQ ;
1064
1063
if (irq ) {
1065
1064
tpm_tis_probe_irq_single (chip , intmask , IRQF_SHARED ,
@@ -1070,18 +1069,20 @@ int tpm_tis_core_init(struct device *dev, struct tpm_tis_data *priv, int irq,
1070
1069
} else {
1071
1070
tpm_tis_probe_irq (chip , intmask );
1072
1071
}
1073
- tpm_chip_stop (chip );
1074
1072
}
1075
1073
1074
+ tpm_chip_stop (chip );
1075
+
1076
1076
rc = tpm_chip_register (chip );
1077
1077
if (rc )
1078
- goto out_err ;
1079
-
1080
- if (chip -> ops -> clk_enable != NULL )
1081
- chip -> ops -> clk_enable (chip , false);
1078
+ goto err_start ;
1082
1079
1083
1080
return 0 ;
1084
- out_err :
1081
+
1082
+ err_probe :
1083
+ tpm_chip_stop (chip );
1084
+
1085
+ err_start :
1085
1086
if ((chip -> ops != NULL ) && (chip -> ops -> clk_enable != NULL ))
1086
1087
chip -> ops -> clk_enable (chip , false);
1087
1088
0 commit comments