diff --git a/drivers/qmimodem/sms.c b/drivers/qmimodem/sms.c index 7e6baec5..23c85731 100644 --- a/drivers/qmimodem/sms.c +++ b/drivers/qmimodem/sms.c @@ -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; } diff --git a/src/sms.c b/src/sms.c index b86158e6..bec13ece 100644 --- a/src/sms.c +++ b/src/sms.c @@ -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,