diff options
author | Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com> | 2011-03-27 04:05:00 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-04-19 16:38:50 -0700 |
commit | 9db4e4381a8e881ff65a5d3400bfa471f84217e7 (patch) | |
tree | 5063e10432abf17472d9dd437f7451f553ef5be2 /drivers/tty/rocket.c | |
parent | 5680e94148a86e8c31fdc5cb0ea0d5c6810c05b0 (diff) |
tty/n_gsm: fix bug in CRC calculation for gsm1 mode
Problem description:
gsm_queue() calculate a CRC for arrived frames. As a last step of
CRC calculation it call
gsm->fcs = gsm_fcs_add(gsm->fcs, gsm->received_fcs);
This work perfectly for the case of GSM0 mode as gsm->received_fcs
contain the last piece of data required to generate final CRC.
gsm->received_fcs is not used for GSM1 mode. Thus we put an
additional byte to CRC calculation. As result we get a wrong CRC
and reject incoming frame.
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
Acked-by: Alan Cox <alan@linux.intel.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/tty/rocket.c')
0 files changed, 0 insertions, 0 deletions