diff --git a/drivers/power/htc_battery.c b/drivers/power/htc_battery.c
index 2b1cd8f..623ee14 100644
--- a/drivers/power/htc_battery.c
+++ b/drivers/power/htc_battery.c
@@ -1381,6 +1381,7 @@
 	unsigned long cur_jiffies;
 	int cc_uah_now;
 	int current_max = 0;
+	int typec_sink = 0;
 	char chg_strbuf[20];
 	/* reference from power_supply.h power_supply_type */
 	char *chr_src[] = {"NONE", "BATTERY", "UPS", "MAINS", "USB",
@@ -1481,16 +1482,21 @@
 		} else {
 			/* WA: QCT  recorgnize D+/D- open charger won't set 500mA. */
 			if ((htc_batt_info.rep.charging_source == POWER_SUPPLY_TYPE_USB)) {
-				user_set_chg_curr = get_property(htc_batt_info.usb_psy, POWER_SUPPLY_PROP_CURRENT_MAX);
-				if (!get_connect2pc() && !g_rerun_apsd_done && !g_is_unknown_charger) {
-					user_set_chg_curr = SLOW_CHARGE_CURR;
-					if (delayed_work_pending(&htc_batt_info.chk_unknown_chg_work))
-						cancel_delayed_work(&htc_batt_info.chk_unknown_chg_work);
-					schedule_delayed_work(&htc_batt_info.chk_unknown_chg_work,
-							msecs_to_jiffies(CHG_UNKNOWN_CHG_PERIOD_MS));
+				typec_sink = get_property(htc_batt_info.batt_psy, POWER_SUPPLY_PROP_TYPEC_SINK_CURRENT);
+				if (typec_sink){
+					//Souce type is USB TYPE_C, Ignore WA.
 				} else {
-					if (user_set_chg_curr < SLOW_CHARGE_CURR)
+					user_set_chg_curr = get_property(htc_batt_info.usb_psy, POWER_SUPPLY_PROP_CURRENT_MAX);
+					if (!get_connect2pc() && !g_rerun_apsd_done && !g_is_unknown_charger) {
 						user_set_chg_curr = SLOW_CHARGE_CURR;
+						if (delayed_work_pending(&htc_batt_info.chk_unknown_chg_work))
+							cancel_delayed_work(&htc_batt_info.chk_unknown_chg_work);
+						schedule_delayed_work(&htc_batt_info.chk_unknown_chg_work,
+								msecs_to_jiffies(CHG_UNKNOWN_CHG_PERIOD_MS));
+					} else {
+						if (user_set_chg_curr < SLOW_CHARGE_CURR)
+							user_set_chg_curr = SLOW_CHARGE_CURR;
+					}
 				}
 			} else if (htc_batt_info.rep.charging_source == POWER_SUPPLY_TYPE_USB_HVDCP){
 				user_set_chg_curr = get_property(htc_batt_info.usb_psy, POWER_SUPPLY_PROP_CURRENT_MAX);
diff --git a/drivers/power/qpnp-smbcharger.c b/drivers/power/qpnp-smbcharger.c
index 857b9d9..9f83661 100644
--- a/drivers/power/qpnp-smbcharger.c
+++ b/drivers/power/qpnp-smbcharger.c
@@ -5084,11 +5084,6 @@
 			current_limit_ma = 3000;
 		power_supply_set_current_limit(chip->usb_psy,
 			current_limit_ma * 1000);
-
-		/* To make sure Type-C charger do have the ability to work at
-		   3A high current mode, need go through 5v2a detect worker
-		   before setting 3A, so set default low current right here */
-		current_limit_ma = DEFAULT_TYPEC_MA;
 	} else
 #endif /* CONFIG_HTC_BATT */
 	if (chip->typec_psy && (type != POWER_SUPPLY_TYPE_USB))
