mirror of git://git.sysmocom.de/ofono
Add extra_pdu_crlf quirk
This commit is contained in:
parent
a90d89e8c1
commit
86864c819c
|
@ -675,7 +675,15 @@ static void new_bytes(GAtChat *p)
|
||||||
len -= p->read_so_far;
|
len -= p->read_so_far;
|
||||||
wrap -= p->read_so_far;
|
wrap -= p->read_so_far;
|
||||||
|
|
||||||
have_pdu(p);
|
/* Some modems like the TI Calypso send a CMT style
|
||||||
|
* notification with an extra CRLF thrown in
|
||||||
|
*/
|
||||||
|
if ((p->flags & G_AT_CHAT_FLAG_EXTRA_PDU_CRLF) &&
|
||||||
|
p->read_so_far == 2) {
|
||||||
|
p->state = PARSER_STATE_PDU;
|
||||||
|
ring_buffer_drain(p->buf, p->read_so_far);
|
||||||
|
} else
|
||||||
|
have_pdu(p);
|
||||||
|
|
||||||
p->read_so_far = 0;
|
p->read_so_far = 0;
|
||||||
} else if (p->state == PARSER_STATE_INITIAL_CR) {
|
} else if (p->state == PARSER_STATE_INITIAL_CR) {
|
||||||
|
|
|
@ -39,6 +39,7 @@ typedef void (*GAtDisconnectFunc)(gpointer user_data);
|
||||||
|
|
||||||
enum _GAtChatFlags {
|
enum _GAtChatFlags {
|
||||||
G_AT_CHAT_FLAG_NO_LEADING_CRLF = 1, /* Some emulators are broken */
|
G_AT_CHAT_FLAG_NO_LEADING_CRLF = 1, /* Some emulators are broken */
|
||||||
|
G_AT_CHAT_FLAG_EXTRA_PDU_CRLF = 2,
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef enum _GAtChatFlags GAtChatFlags;
|
typedef enum _GAtChatFlags GAtChatFlags;
|
||||||
|
|
Loading…
Reference in New Issue