smb-lib: fix null ptr access while handling src change interrupt

The apsd done handling could end up accessing a null ptr returned
from smblib_update_usb_type().

Fix it so that smblib_update_usb_type() never returns a null pointer.

Change-Id: I53cd6ed709263669edbc34f096a21cddffcf4489
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
This commit is contained in:
Abhijeet Dharmapurikar 2016-11-01 11:35:29 -07:00
parent 9a5e4de102
commit 19679fef1d

View file

@ -504,15 +504,14 @@ static int try_rerun_apsd_for_hvdcp(struct smb_charger *chg)
static const struct apsd_result *smblib_update_usb_type(struct smb_charger *chg)
{
const struct apsd_result *apsd_result;
const struct apsd_result *apsd_result = smblib_get_apsd_result(chg);
/* if PD is active, APSD is disabled so won't have a valid result */
if (chg->pd_active) {
chg->usb_psy_desc.type = POWER_SUPPLY_TYPE_USB_PD;
return 0;
return apsd_result;
}
apsd_result = smblib_get_apsd_result(chg);
chg->usb_psy_desc.type = apsd_result->pst;
return apsd_result;
}