diff --git a/dom/system/gonk/ril_worker.js b/dom/system/gonk/ril_worker.js index a4100fa57b7d..37b105b4135b 100644 --- a/dom/system/gonk/ril_worker.js +++ b/dom/system/gonk/ril_worker.js @@ -60,6 +60,7 @@ let RILQUIRKS_DATACALLSTATE_DOWN_IS_UP = false; let RILQUIRKS_V5_LEGACY = true; let RILQUIRKS_REQUEST_USE_DIAL_EMERGENCY_CALL = false; let RILQUIRKS_MODEM_DEFAULTS_TO_EMERGENCY_MODE = false; +let RILQUIRKS_SIM_APP_STATE_EXTRA_FIELDS = false; /** * This object contains helpers buffering incoming data & deconstructing it @@ -727,6 +728,10 @@ let RIL = { case "Qualcomm RIL 1.0": let product_model = libcutils.property_get("ro.product.model"); if (DEBUG) debug("Detected product model " + product_model); + if (product_model == "otoro1") { + if (DEBUG) debug("Enabling RILQUIRKS_SIM_APP_STATE_EXTRA_FIELDS."); + RILQUIRKS_SIM_APP_STATE_EXTRA_FIELDS = true; + } if (DEBUG) { debug("Detected Qualcomm RIL 1.0, " + "disabling RILQUIRKS_V5_LEGACY and " + @@ -2825,6 +2830,12 @@ RIL[REQUEST_GET_SIM_STATUS] = function REQUEST_GET_SIM_STATUS(length, options) { pin1: Buf.readUint32(), pin2: Buf.readUint32() }); + if (RILQUIRKS_SIM_APP_STATE_EXTRA_FIELDS) { + Buf.readUint32(); + Buf.readUint32(); + Buf.readUint32(); + Buf.readUint32(); + } } if (DEBUG) debug("iccStatus: " + JSON.stringify(iccStatus));