Lines Matching full:fcs
220 u8 fcs; member
368 * gsm_fcs_add - update FCS
369 * @fcs: Current FCS
372 * Update the FCS to include c. Uses the algorithm in the specification
376 static inline u8 gsm_fcs_add(u8 fcs, u8 c) in gsm_fcs_add() argument
378 return gsm_fcs8[fcs ^ c]; in gsm_fcs_add()
382 * gsm_fcs_add_block - update FCS for a block
383 * @fcs: Current FCS
387 * Update the FCS to include c. Uses the algorithm in the specification
391 static inline u8 gsm_fcs_add_block(u8 fcs, u8 *c, int len) in gsm_fcs_add_block() argument
394 fcs = gsm_fcs8[fcs ^ *c++]; in gsm_fcs_add_block()
395 return fcs; in gsm_fcs_add_block()
622 #define HDR_LEN 6 /* ADDR CTRL [LEN.2] DATA FCS */
628 * @len: length excluding header and FCS
643 m->data = m->buffer + HDR_LEN - 1; /* Allow for FCS */ in gsm_data_alloc()
722 u8 *fcs = dp + msg->len; in __gsm_data_queue() local
739 *fcs = gsm_fcs_add_block(INIT_FCS, dp , msg->data - dp); in __gsm_data_queue()
742 *fcs = gsm_fcs_add_block(*fcs, msg->data, msg->len); in __gsm_data_queue()
743 *fcs = 0xFF - *fcs; in __gsm_data_queue()
748 /* Move the header back and adjust the length, also allow for the FCS in __gsm_data_queue()
1740 * The fcs holds the header FCS but any data FCS must be added here.
1748 /* We have to sneak a look at the packet body to do the FCS. in gsm_queue()
1752 gsm->fcs = gsm_fcs_add_block(gsm->fcs, gsm->buf, gsm->len); in gsm_queue()
1758 gsm->fcs = gsm_fcs_add(gsm->fcs, gsm->received_fcs); in gsm_queue()
1760 if (gsm->fcs != GOOD_FCS) { in gsm_queue()
1763 pr_debug("BAD FCS %02x\n", gsm->fcs); in gsm_queue()
1870 gsm->fcs = INIT_FCS; in gsm0_receive()
1874 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm0_receive()
1879 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm0_receive()
1884 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm0_receive()
1901 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm0_receive()
1920 case GSM_FCS: /* FCS follows the packet */ in gsm0_receive()
1949 and received at least one byte (the FCS) */ in gsm1_receive()
1951 /* Extract the FCS */ in gsm1_receive()
1953 gsm->fcs = gsm_fcs_add(gsm->fcs, gsm->buf[gsm->count]); in gsm1_receive()
1986 gsm->fcs = INIT_FCS; in gsm1_receive()
1989 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm1_receive()
1994 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm1_receive()
2000 if (gsm->count > gsm->mru) { /* Allow one for the FCS */ in gsm1_receive()