diff --git a/drivers/power/smb345-charger.c b/drivers/power/smb345-charger.c index 34a29ed6ed2..b04701f2d53 100644 --- a/drivers/power/smb345-charger.c +++ b/drivers/power/smb345-charger.c @@ -617,6 +617,11 @@ static void wireless_isr_work_function(struct work_struct *dat) SMB_NOTICE("wireless state = %d\n", wireless_is_plugged()); + if (otg_on) { + SMB_NOTICE("bypass wireless isr due to otg_on\n"); + return; + } + if (wireless_is_plugged()) wireless_set(); else @@ -625,6 +630,10 @@ static void wireless_isr_work_function(struct work_struct *dat) static void wireless_det_work_function(struct work_struct *dat) { + if (otg_on) { + SMB_NOTICE("bypass wireless isr due to otg_on\n"); + return; + } if (wireless_is_plugged()) wireless_set(); } @@ -769,6 +778,9 @@ void smb345_otg_status(bool on) "otg..\n", __func__); return; } + if (wireless_is_plugged()) + wireless_reset(); + return; } else otg_on = false;