summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSameer Thalappil <sameert@codeaurora.org>2013-08-09 11:57:15 -0700
committerSameer Thalappil <sameert@codeaurora.org>2013-08-27 11:32:25 -0700
commit59869b44a35ee4d1ccb5190f3a156344cd672d51 (patch)
tree487d1ec314a3354f0f546ef00848ada372fb109a
parentf50e51b988f180756c2a4cbf23085e11924b563a (diff)
downloadandroid_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.c19
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)