diff options
author | Paul Kocialkowski <contact@paulk.fr> | 2013-11-11 22:19:46 +0100 |
---|---|---|
committer | Paul Kocialkowski <contact@paulk.fr> | 2013-11-11 22:19:46 +0100 |
commit | 696fbe733b96e3f2d23ff53a8e8db2303fbd00fe (patch) | |
tree | 9f380ec5bedad40343091fd329114fd4c6a35fd0 /libbt/src/hardware.c | |
parent | a37aa43aa596796f9d535f41092c14742761eb0d (diff) | |
download | device_common-696fbe733b96e3f2d23ff53a8e8db2303fbd00fe.zip device_common-696fbe733b96e3f2d23ff53a8e8db2303fbd00fe.tar.gz device_common-696fbe733b96e3f2d23ff53a8e8db2303fbd00fe.tar.bz2 |
Properly handle missing firmwares
This requires to set FW_PATCHFILE_CHIP_NAME properly for each device.
Change-Id: Iba7ea481a9a8a859c622bdca349c9371e11e1cd1
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'libbt/src/hardware.c')
-rw-r--r-- | libbt/src/hardware.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/libbt/src/hardware.c b/libbt/src/hardware.c index df20c9f..0a4f063 100644 --- a/libbt/src/hardware.c +++ b/libbt/src/hardware.c @@ -513,6 +513,33 @@ static uint8_t hw_config_findpatch(char *p_chip_id_str) return (retval); } +uint8_t hw_config_checkpatches(void) +{ + char fw_patchfile_chip_name[256] = FW_PATCHFILE_CHIP_NAME; + struct stat fw_prepatch_stat; + uint8_t found; + int rc; + + if (strlen(fw_prepatch_name) > 0) + { + rc = stat(fw_prepatch_name, &fw_prepatch_stat); + if (rc < 0) + { + ALOGE("Prepatch firmware is missing"); + return FALSE; + } + } + + found = hw_config_findpatch(fw_patchfile_chip_name); + if (found == FALSE) + { + ALOGE("Patch firmware is missing"); + return FALSE; + } + + return TRUE; +} + /******************************************************************************* ** ** Function hw_config_set_bdaddr |