diff options
author | Dan Williams <dcbw@redhat.com> | 2010-10-14 10:22:59 -0500 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2010-10-14 10:22:59 -0500 |
commit | dd8a061d28ecaf286bfba3bdbd2a495c45cfb4a4 (patch) | |
tree | 85a4ecd53f7eb02d227d98d906e9d927febc0d04 /src/mm-options.c | |
parent | 8a4f621245c7b5a1a06471260f5f75422e9098cc (diff) |
serial: make QCDM frame parsing more robust
Ensure that valid HDLC frames that are not valid QCDM frames
are correctly rejected, and that their data is correctly
discarded.
The core bug was that Sierra CnS frames have leading and trailing
HDLC frame terminator bytes (0x7E), and the code was incorrectly
treating the leading terminator as the end of a frame, not the
beginning. Thus it would consider the outstanding serial request
finished without actually parsing the response packet.
Now, we make sure we don't tell the serial receive code that
we have a full QCDM frame until we actually do have one, which is
at least 3 bytes + 0x7E.
Diffstat (limited to 'src/mm-options.c')
0 files changed, 0 insertions, 0 deletions