diff --git a/qcwcn/wifi_hal/ifaceeventhandler.cpp b/qcwcn/wifi_hal/ifaceeventhandler.cpp
index d814a9c..ae7b491 100644
--- a/qcwcn/wifi_hal/ifaceeventhandler.cpp
+++ b/qcwcn/wifi_hal/ifaceeventhandler.cpp
@@ -244,7 +244,7 @@
                     return -EINVAL;
                 }
                 mSet = nla_get_u32(tb_vendor[QCA_WLAN_VENDOR_ATTR_FEATURE_SET]);
-                ALOGV("Supported feature set : %lx", mSet);
+                ALOGV("Supported feature set : 0x%" PRIx64, mSet);
 
                 break;
             }
@@ -304,7 +304,7 @@
                         __func__);
                     for(i = 0; i < *mSetSizePtr; i++)
                     {
-                        ALOGV("%lx", *(mConcurrencySet + i));
+                        ALOGV("0x%" PRIx64, *(mConcurrencySet + i));
                     }
                 }
             }
diff --git a/qcwcn/wifi_hal/wifi_hal.cpp b/qcwcn/wifi_hal/wifi_hal.cpp
index 1e2be8c..3823439 100644
--- a/qcwcn/wifi_hal/wifi_hal.cpp
+++ b/qcwcn/wifi_hal/wifi_hal.cpp
@@ -880,7 +880,7 @@
     }
 
     ALOGV("Initialized Wifi HAL Successfully; vendor cmd = %d Supported"
-            " features : %lx", NL80211_CMD_VENDOR, info->supported_feature_set);
+            " features : 0x%" PRIx64, NL80211_CMD_VENDOR, info->supported_feature_set);
 
 cld80211_cleanup:
     if (status != 0 || ret != WIFI_SUCCESS) {
@@ -1826,10 +1826,10 @@
     ret = acquire_supported_features(iface, set);
     if (ret != WIFI_SUCCESS) {
         *set = info->supported_feature_set;
-        ALOGV("Supported feature set acquired at initialization : %lx", *set);
+        ALOGV("Supported feature set acquired at initialization : 0x%" PRIx64, *set);
     } else {
         info->supported_feature_set = *set;
-        ALOGV("Supported feature set acquired : %lx", *set);
+        ALOGV("Supported feature set acquired : 0x%" PRIx64, *set);
     }
     return WIFI_SUCCESS;
 }
diff --git a/qcwcn/wifi_hal/wificonfig.cpp b/qcwcn/wifi_hal/wificonfig.cpp
index 2174d78..169e7d4 100644
--- a/qcwcn/wifi_hal/wificonfig.cpp
+++ b/qcwcn/wifi_hal/wificonfig.cpp
@@ -471,7 +471,7 @@
 
     /* Check Supported low-latency capability */
     if (!(info->supported_feature_set & WIFI_FEATURE_SET_LATENCY_MODE)) {
-        ALOGE("%s: Set latency mode feature not supported %lx", __FUNCTION__,
+        ALOGE("%s: Set latency mode feature not supported 0x%" PRIx64, __FUNCTION__,
               info->supported_feature_set);
         return WIFI_ERROR_NOT_SUPPORTED;
     }
