diff --git a/ril/libril/ril.cpp b/ril/libril/ril.cpp
index ad4a606..c1b25e0 100644
--- a/ril/libril/ril.cpp
+++ b/ril/libril/ril.cpp
@@ -310,7 +310,7 @@
 
 static int decodeVoiceRadioTechnology (RIL_RadioState radioState);
 static int decodeCdmaSubscriptionSource (RIL_RadioState radioState);
-static RIL_RadioState processRadioState(RIL_RadioState newRadioState);
+static RIL_RadioState processRadioState(RIL_RadioState newRadioState, RIL_SOCKET_ID socket_id);
 
 #ifdef RIL_SHLIB
 #if defined(ANDROID_MULTI_SIM)
@@ -4336,7 +4336,7 @@
  * returned when telephony framework requests them
  */
 static RIL_RadioState
-processRadioState(RIL_RadioState newRadioState, RIL_SOCKET_ID socket_id) {
+processRadioState(RIL_RadioState newRadioState, RIL_SOCKET_ID socket_id __unused) {
 
     if((newRadioState > RADIO_STATE_UNAVAILABLE) && (newRadioState < RADIO_STATE_ON)) {
         int newVoiceRadioTech;
