mirror of git://git.sysmocom.de/ofono
sms: Fix sms send for qmi modems not returning TP-MR
Gobi 2000 doesn't provide the QMI_WMS_RESULT_MESSAGE_ID field. As a result, delivery is resolved as failed and it tries to retransmit it again and again. From user point of view, a message is sent but the message is received 4 times. ofonod[6370]: drivers/qmimodem/qmibridge.c:ask_qmi() READ: QMI QMUX: QMI length = 19 QMI flags = 0x80 QMI service = "wms" QMI client = 1 QMI QMI: QMI flags = "response" QMI transaction = 293 QMI tlv_length = 7 QMI message = "Raw Send" (0x0020) QMI TLV: QMI type = "Result" (0x02) QMI length = 4 QMI value = 00:00:00:00 QMI translated = SUCCESS
This commit is contained in:
parent
b5ad34faab
commit
58f9395711
|
@ -171,7 +171,8 @@ static void raw_send_cb(struct qmi_result *result, void *user_data)
|
|||
}
|
||||
|
||||
if (!qmi_result_get_uint16(result, QMI_WMS_RESULT_MESSAGE_ID, &msgid)) {
|
||||
CALLBACK_WITH_FAILURE(cb, -1, cbd->data);
|
||||
DBG("TP-MR field missing");
|
||||
CALLBACK_WITH_SUCCESS(cb, -1, cbd->data);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -720,7 +720,7 @@ static void tx_finished(const struct ofono_error *error, int mr, void *data)
|
|||
entry->cur_pdu += 1;
|
||||
entry->retry = 0;
|
||||
|
||||
if (entry->flags & OFONO_SMS_SUBMIT_FLAG_REQUEST_SR)
|
||||
if (entry->flags & OFONO_SMS_SUBMIT_FLAG_REQUEST_SR && mr >= 0)
|
||||
status_report_assembly_add_fragment(sms->sr_assembly,
|
||||
entry->uuid.uuid,
|
||||
&entry->receiver,
|
||||
|
|
Loading…
Reference in New Issue