diff options
author | Sameer Thalappil <sameert@codeaurora.org> | 2013-08-09 11:57:15 -0700 |
---|---|---|
committer | Sameer Thalappil <sameert@codeaurora.org> | 2013-08-27 11:32:25 -0700 |
commit | 59869b44a35ee4d1ccb5190f3a156344cd672d51 (patch) | |
tree | 487d1ec314a3354f0f546ef00848ada372fb109a | |
parent | f50e51b988f180756c2a4cbf23085e11924b563a (diff) | |
download | android_hardware_qcom_wlan-59869b44a35ee4d1ccb5190f3a156344cd672d51.tar.gz android_hardware_qcom_wlan-59869b44a35ee4d1ccb5190f3a156344cd672d51.tar.bz2 android_hardware_qcom_wlan-59869b44a35ee4d1ccb5190f3a156344cd672d51.zip |
wcnss: Ignore calibrated data during factory testing
Optional feature to force WCNSS power-on calibration. This is required
for factory testing.
Change-Id: I8d5823efb35d03a0568fe17b0bbbf5bbf6c88861
CRs-Fixed: 518702
-rw-r--r-- | wcnss-service/wcnss_service.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/wcnss-service/wcnss_service.c b/wcnss-service/wcnss_service.c index 369099f..797fea4 100644 --- a/wcnss-service/wcnss_service.c +++ b/wcnss-service/wcnss_service.c @@ -38,6 +38,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define WCNSS_CAL_CHUNK (3*1024) #define WCNSS_CAL_FILE "/data/misc/wifi/WCNSS_qcom_wlan_cal.bin" +#define WCNSS_FACT_FILE "/data/misc/wifi/WCN_FACTORY" #define WCNSS_DEVICE "/dev/wcnss_wlan" @@ -183,6 +184,7 @@ int main(int argc, char *argv[]) { int rc; int fd_dev; + struct stat st; fd_dev = open(WCNSS_DEVICE, O_RDWR); if (fd_dev < 0) { @@ -191,12 +193,17 @@ int main(int argc, char *argv[]) return fd_dev; } - rc = wcnss_write_cal_data(fd_dev); - - if (rc != SUCCESS) - ALOGE("No cal data is written to WCNSS %d", rc); - else - ALOGE("Cal data is successfully written to WCNSS"); + rc = stat(WCNSS_FACT_FILE, &st); + if (rc == 0) { + ALOGE("Factory file found, deleting cal file"); + unlink(WCNSS_CAL_FILE); + } else { + rc = wcnss_write_cal_data(fd_dev); + if (rc != SUCCESS) + ALOGE("No cal data is written to WCNSS %d", rc); + else + ALOGE("Cal data is successfully written to WCNSS"); + } rc = wcnss_read_and_store_cal_data(fd_dev); if (rc != SUCCESS) |