n_gsm: fix the wrong FCS handling
authorDu, Alek <alek.du@intel.com>
Thu, 7 Jul 2011 14:16:48 +0000 (15:16 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 8 Jul 2011 22:09:22 +0000 (15:09 -0700)
FCS could be GSM0_SOF, so will break state machine...

[This byte isn't quoted in any way so a SOF here doesn't imply an error
 occurred.]

Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Cc: stable <stable@kernel.org> [3.0]
[Trivial but best backported once its in 3.1rc I think]
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/tty/n_gsm.c

index a38114b01fea7dc08dfd729c7c65f7985bcb9e09..14522ee8a91fb6670dca4303f296d18c003d7049 100644 (file)
@@ -1871,10 +1871,6 @@ static void gsm0_receive(struct gsm_mux *gsm, unsigned char c)
                break;
        case GSM_FCS:           /* FCS follows the packet */
                gsm->received_fcs = c;
-               if (c == GSM0_SOF) {
-                       gsm->state = GSM_SEARCH;
-                       break;
-               }
                gsm_queue(gsm);
                gsm->state = GSM_SSOF;
                break;