summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CleanSpec.mk2
-rw-r--r--include/libril/ril_ex.h2
-rw-r--r--libril/Android.mk2
-rw-r--r--libril/RilSapSocket.h16
-rw-r--r--libril/ril.cpp26
-rw-r--r--libril/ril_service.cpp4
-rw-r--r--libril/sap_service.cpp1
-rw-r--r--librilutils/Android.mk7
-rw-r--r--reference-ril/Android.mk5
-rw-r--r--reference-ril/reference-ril.c29
-rw-r--r--rild/Android.mk1
11 files changed, 31 insertions, 64 deletions
diff --git a/CleanSpec.mk b/CleanSpec.mk
index ffa18d5..cca8c69 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -52,3 +52,5 @@ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/bin/rild)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/etc/init/rild.rc)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/libril.so)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib64/libril.so)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib/librilutils.so)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/lib64/librilutils.so)
diff --git a/include/libril/ril_ex.h b/include/libril/ril_ex.h
index 251e8ff..757bcf9 100644
--- a/include/libril/ril_ex.h
+++ b/include/libril/ril_ex.h
@@ -22,6 +22,8 @@
#define NUM_ELEMS_SOCKET(a) (sizeof (a) / sizeof (a)[0])
+struct ril_event;
+
void rilEventAddWakeup_helper(struct ril_event *ev);
int blockingWrite_helper(int fd, void* data, size_t len);
diff --git a/libril/Android.mk b/libril/Android.mk
index 0016839..5264a81 100644
--- a/libril/Android.mk
+++ b/libril/Android.mk
@@ -28,7 +28,7 @@ LOCAL_SHARED_LIBRARIES := \
LOCAL_STATIC_LIBRARIES := \
libprotobuf-c-nano-enable_malloc \
-LOCAL_CFLAGS += -Wno-unused-parameter
+LOCAL_CFLAGS += -Wall -Wextra -Wno-unused-parameter -Werror
ifeq ($(SIM_COUNT), 2)
LOCAL_CFLAGS += -DANDROID_MULTI_SIM -DDSDA_RILD1
diff --git a/libril/RilSapSocket.h b/libril/RilSapSocket.h
index 1f6163e..8c8c4bc 100644
--- a/libril/RilSapSocket.h
+++ b/libril/RilSapSocket.h
@@ -36,22 +36,6 @@
*/
class RilSapSocket : public RilSocket {
/**
- * Function pointer to the ril initialization funtion.
- *
- * @param Ril environment variable with place request and
- * response handlers and timeout handler.
- *
- * @param Number of arguements for the initialization function.
- *
- * @param Arguements to the initialization function used to
- * generate instance id of the ril daemon.
- *
- * @return Radio functions with handlers for onRequest, onStateRequest,
- * supports, onCancel and getVersion.
- */
- RIL_RadioFunctions *(*UimInit)(const struct RIL_Env *, int argc, char **argv);
-
- /**
* Place holder for the radio functions returned by the initialization
* function. Currenty only onRequest handler is being used.
*/
diff --git a/libril/ril.cpp b/libril/ril.cpp
index f07bd5a..6d375ca 100644
--- a/libril/ril.cpp
+++ b/libril/ril.cpp
@@ -114,12 +114,8 @@ RIL_RadioFunctions s_callbacks = {0, NULL, NULL, NULL, NULL, NULL};
static int s_registerCalled = 0;
static pthread_t s_tid_dispatch;
-static pthread_t s_tid_reader;
static int s_started = 0;
-static int s_fdDebug = -1;
-static int s_fdDebug_socket2 = -1;
-
static int s_fdWakeupRead;
static int s_fdWakeupWrite;
@@ -128,44 +124,30 @@ int s_wakelock_count = 0;
static struct ril_event s_wakeupfd_event;
static pthread_mutex_t s_pendingRequestsMutex = PTHREAD_MUTEX_INITIALIZER;
-static pthread_mutex_t s_writeMutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_mutex_t s_wakeLockCountMutex = PTHREAD_MUTEX_INITIALIZER;
static RequestInfo *s_pendingRequests = NULL;
#if (SIM_COUNT >= 2)
static pthread_mutex_t s_pendingRequestsMutex_socket2 = PTHREAD_MUTEX_INITIALIZER;
-static pthread_mutex_t s_writeMutex_socket2 = PTHREAD_MUTEX_INITIALIZER;
static RequestInfo *s_pendingRequests_socket2 = NULL;
#endif
#if (SIM_COUNT >= 3)
static pthread_mutex_t s_pendingRequestsMutex_socket3 = PTHREAD_MUTEX_INITIALIZER;
-static pthread_mutex_t s_writeMutex_socket3 = PTHREAD_MUTEX_INITIALIZER;
static RequestInfo *s_pendingRequests_socket3 = NULL;
#endif
#if (SIM_COUNT >= 4)
static pthread_mutex_t s_pendingRequestsMutex_socket4 = PTHREAD_MUTEX_INITIALIZER;
-static pthread_mutex_t s_writeMutex_socket4 = PTHREAD_MUTEX_INITIALIZER;
static RequestInfo *s_pendingRequests_socket4 = NULL;
#endif
-static struct ril_event s_wake_timeout_event;
-static struct ril_event s_debug_event;
-
-
static const struct timeval TIMEVAL_WAKE_TIMEOUT = {ANDROID_WAKE_LOCK_SECS,ANDROID_WAKE_LOCK_USECS};
static pthread_mutex_t s_startupMutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t s_startupCond = PTHREAD_COND_INITIALIZER;
-static pthread_mutex_t s_dispatchMutex = PTHREAD_MUTEX_INITIALIZER;
-static pthread_cond_t s_dispatchCond = PTHREAD_COND_INITIALIZER;
-
-static RequestInfo *s_toDispatchHead = NULL;
-static RequestInfo *s_toDispatchTail = NULL;
-
static UserCallbackInfo *s_last_wake_timeout_info = NULL;
static void *s_lastNITZTimeData = NULL;
@@ -435,9 +417,6 @@ extern "C" void RIL_setcallbacks (const RIL_RadioFunctions *callbacks) {
extern "C" void
RIL_register (const RIL_RadioFunctions *callbacks) {
- int ret;
- int flags;
-
RLOGI("SIM_COUNT: %d", SIM_COUNT);
if (callbacks == NULL) {
@@ -573,9 +552,7 @@ checkAndDequeueRequestInfoIfAck(struct RequestInfo *pRI, bool isAck) {
extern "C" void
RIL_onRequestAck(RIL_Token t) {
RequestInfo *pRI;
- int ret;
- size_t errorOffset;
RIL_SOCKET_ID socket_id = RIL_SOCKET_1;
pRI = (RequestInfo *)t;
@@ -609,7 +586,6 @@ extern "C" void
RIL_onRequestComplete(RIL_Token t, RIL_Errno e, void *response, size_t responselen) {
RequestInfo *pRI;
int ret;
- size_t errorOffset;
RIL_SOCKET_ID socket_id = RIL_SOCKET_1;
pRI = (RequestInfo *)t;
@@ -955,7 +931,7 @@ failCauseToString(RIL_Errno e) {
case RIL_E_SIM_FULL: return "E_SIM_FULL";
case RIL_E_NETWORK_REJECT: return "E_NETWORK_REJECT";
case RIL_E_OPERATION_NOT_ALLOWED: return "E_OPERATION_NOT_ALLOWED";
- case RIL_E_EMPTY_RECORD: "E_EMPTY_RECORD";
+ case RIL_E_EMPTY_RECORD: return "E_EMPTY_RECORD";
case RIL_E_INVALID_SMS_FORMAT: return "E_INVALID_SMS_FORMAT";
case RIL_E_ENCODING_ERR: return "E_ENCODING_ERR";
case RIL_E_INVALID_SMSC_ADDRESS: return "E_INVALID_SMSC_ADDRESS";
diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp
index 06868b2..26aa4e1 100644
--- a/libril/ril_service.cpp
+++ b/libril/ril_service.cpp
@@ -1485,7 +1485,6 @@ Return<void> RadioImpl::writeSmsToSim(int32_t serial, const SmsWriteArgs& smsWri
RIL_SMS_WriteArgs args;
args.status = (int) smsWriteArgs.status;
- int len;
if (!copyHidlStringToRil(&args.pdu, smsWriteArgs.pdu, pRI)) {
return Void();
}
@@ -2346,7 +2345,6 @@ Return<void> RadioImpl::requestIccSimAuthentication(int32_t serial, int32_t auth
pf.authContext = authContext;
- int len;
if (!copyHidlStringToRil(&pf.authData, authData, pRI)) {
return Void();
}
@@ -4277,7 +4275,6 @@ int radio::getNetworkSelectionModeResponse(int slotId,
RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e);
bool manual = false;
- int serviceClass;
if (response == NULL || responseLen != sizeof(int)) {
RLOGE("getNetworkSelectionModeResponse Invalid response: NULL");
if (e == RIL_E_SUCCESS) responseInfo.error = RadioError::INVALID_RESPONSE;
@@ -4511,7 +4508,6 @@ int radio::getMuteResponse(int slotId,
RadioResponseInfo responseInfo = {};
populateResponseInfo(responseInfo, serial, responseType, e);
bool enable = false;
- int serviceClass;
if (response == NULL || responseLen != sizeof(int)) {
RLOGE("getMuteResponse Invalid response: NULL");
if (e == RIL_E_SUCCESS) responseInfo.error = RadioError::INVALID_RESPONSE;
diff --git a/libril/sap_service.cpp b/libril/sap_service.cpp
index 7bed05a..254d000 100644
--- a/libril/sap_service.cpp
+++ b/libril/sap_service.cpp
@@ -532,7 +532,6 @@ Return<void> SapImpl::setTransferProtocolReq(int32_t token, SapTransferProtocol
void *sapDecodeMessage(MsgId msgId, MsgType msgType, uint8_t *payloadPtr, size_t payloadLen) {
void *responsePtr = NULL;
- bool decodeStatus = false;
pb_istream_t stream;
/* Create the stream */
diff --git a/librilutils/Android.mk b/librilutils/Android.mk
index 455f9bc..275fea9 100644
--- a/librilutils/Android.mk
+++ b/librilutils/Android.mk
@@ -14,9 +14,12 @@ LOCAL_C_INCLUDES += \
LOCAL_EXPORT_C_INCLUDE_DIRS := \
$(LOCAL_PATH)/../include
+LOCAL_CFLAGS := -Wall -Wextra -Werror
+
LOCAL_PROTOC_OPTIMIZE_TYPE := nanopb-c-enable_malloc
LOCAL_MODULE:= librilutils
+LOCAL_VENDOR_MODULE:= true
include $(BUILD_SHARED_LIBRARY)
@@ -36,9 +39,12 @@ LOCAL_C_INCLUDES += \
LOCAL_EXPORT_C_INCLUDE_DIRS := \
$(LOCAL_PATH)/../include
+LOCAL_CFLAGS : -Wall -Wextra -Werror
+
LOCAL_PROTOC_OPTIMIZE_TYPE := nanopb-c-enable_malloc
LOCAL_MODULE:= librilutils_static
+LOCAL_VENDOR_MODULE:= true
include $(BUILD_STATIC_LIBRARY)
@@ -49,6 +55,7 @@ include $(CLEAR_VARS)
src_proto := $(LOCAL_PATH)
LOCAL_MODULE := sap-api-java-static
LOCAL_SRC_FILES := proto/sap-api.proto
+LOCAL_CFLAGS := -Wall -Wextra -Werror
LOCAL_PROTOC_OPTIMIZE_TYPE := micro
include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/reference-ril/Android.mk b/reference-ril/Android.mk
index d9908c1..6afdbd3 100644
--- a/reference-ril/Android.mk
+++ b/reference-ril/Android.mk
@@ -14,8 +14,11 @@ LOCAL_SRC_FILES:= \
LOCAL_SHARED_LIBRARIES := \
liblog libcutils libutils libril librilutils
+LOCAL_STATIC_LIBRARIES := libqemu_pipe libbase
+
# for asprinf
LOCAL_CFLAGS := -D_GNU_SOURCE
+LOCAL_CFLAGS += -Wall -Wextra -Wno-unused-variable -Wno-unused-function -Werror
LOCAL_C_INCLUDES :=
@@ -31,6 +34,8 @@ ifeq ($(TARGET_DEVICE),dream)
LOCAL_CFLAGS += -DPOLL_CALL_STATE -DUSE_QMI
endif
+LOCAL_VENDOR_MODULE:= true
+
ifeq (foo,foo)
#build shared library
LOCAL_SHARED_LIBRARIES += \
diff --git a/reference-ril/reference-ril.c b/reference-ril/reference-ril.c
index 22f93c5..f451fb0 100644
--- a/reference-ril/reference-ril.c
+++ b/reference-ril/reference-ril.c
@@ -37,7 +37,7 @@
#include <cutils/sockets.h>
#include <sys/system_properties.h>
#include <termios.h>
-#include <system/qemu_pipe.h>
+#include <qemu_pipe.h>
#include "ril.h"
@@ -802,9 +802,11 @@ static void requestGetCurrentCalls(void *data __unused, size_t datalen __unused,
}
return;
+#ifdef WORKAROUND_ERRONEOUS_ANSWER
error:
RIL_onRequestComplete(t, RIL_E_GENERIC_FAILURE, NULL, 0);
at_response_free(p_response);
+#endif
}
static void requestDial(void *data, size_t datalen __unused, RIL_Token t)
@@ -887,9 +889,13 @@ static void requestSignalStrength(void *data __unused, size_t datalen __unused,
ATResponse *p_response = NULL;
int err;
char *line;
- int count =0;
- int numofElements=sizeof(RIL_SignalStrength_v6)/sizeof(int);
- int response[numofElements];
+ int count = 0;
+ // Accept a response that is at least v6, and up to v10
+ int minNumOfElements=sizeof(RIL_SignalStrength_v6)/sizeof(int);
+ int maxNumOfElements=sizeof(RIL_SignalStrength_v10)/sizeof(int);
+ int response[maxNumOfElements];
+
+ memset(response, 0, sizeof(response));
err = at_send_command_singleline("AT+CSQ", "+CSQ:", &p_response);
@@ -903,9 +909,9 @@ static void requestSignalStrength(void *data __unused, size_t datalen __unused,
err = at_tok_start(&line);
if (err < 0) goto error;
- for (count =0; count < numofElements; count ++) {
+ for (count = 0; count < maxNumOfElements; count++) {
err = at_tok_nextint(&line, &(response[count]));
- if (err < 0) goto error;
+ if (err < 0 && count < minNumOfElements) goto error;
}
RIL_onRequestComplete(t, RIL_E_SUCCESS, response, sizeof(response));
@@ -1074,12 +1080,6 @@ static void requestCdmaDeviceIdentity(int request __unused, void *data __unused,
RIL_onRequestComplete(t, RIL_E_SUCCESS, responseStr, count*sizeof(char*));
at_response_free(p_response);
-
- return;
-error:
- RLOGE("requestCdmaDeviceIdentity must never return an error when radio is on");
- at_response_free(p_response);
- RIL_onRequestComplete(t, RIL_E_GENERIC_FAILURE, NULL, 0);
}
static void requestCdmaGetSubscriptionSource(int request __unused, void *data,
@@ -1168,11 +1168,6 @@ static void requestCdmaSubscription(int request __unused, void *data __unused,
responseStr[3] = "8587777777"; // MIN
responseStr[4] = "1"; // PRL Version
RIL_onRequestComplete(t, RIL_E_SUCCESS, responseStr, count*sizeof(char*));
-
- return;
-error:
- RLOGE("requestRegistrationState must never return an error when radio is on");
- RIL_onRequestComplete(t, RIL_E_GENERIC_FAILURE, NULL, 0);
}
static void requestCdmaGetRoamingPreference(int request __unused, void *data __unused,
diff --git a/rild/Android.mk b/rild/Android.mk
index 4f5802b..7ac505c 100644
--- a/rild/Android.mk
+++ b/rild/Android.mk
@@ -17,6 +17,7 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \
librilutils_static
LOCAL_CFLAGS := -DRIL_SHLIB
+LOCAL_CFLAGS += -Wall -Wextra -Werror
ifeq ($(SIM_COUNT), 2)
LOCAL_CFLAGS += -DANDROID_MULTI_SIM