Lines Matching full:fcs

92 /* SOF, ADDR, CTRL, LEN1, LEN2, ..., FCS, EOF */
251 u8 fcs; member
409 * gsm_fcs_add - update FCS
410 * @fcs: Current FCS
413 * Update the FCS to include c. Uses the algorithm in the specification
417 static inline u8 gsm_fcs_add(u8 fcs, u8 c) in gsm_fcs_add() argument
419 return gsm_fcs8[fcs ^ c]; in gsm_fcs_add()
423 * gsm_fcs_add_block - update FCS for a block
424 * @fcs: Current FCS
428 * Update the FCS to include c. Uses the algorithm in the specification
432 static inline u8 gsm_fcs_add_block(u8 fcs, u8 *c, int len) in gsm_fcs_add_block() argument
435 fcs = gsm_fcs8[fcs ^ *c++]; in gsm_fcs_add_block()
436 return fcs; in gsm_fcs_add_block()
794 #define HDR_LEN 6 /* ADDR CTRL [LEN.2] DATA FCS */
800 * @len: length excluding header and FCS
815 m->data = m->buffer + HDR_LEN - 1; /* Allow for FCS */ in gsm_data_alloc()
985 u8 *fcs = dp + msg->len; in __gsm_data_queue() local
1002 *fcs = gsm_fcs_add_block(INIT_FCS, dp , msg->data - dp); in __gsm_data_queue()
1005 *fcs = gsm_fcs_add_block(*fcs, msg->data, msg->len); in __gsm_data_queue()
1006 *fcs = 0xFF - *fcs; in __gsm_data_queue()
1011 /* Move the header back and adjust the length, also allow for the FCS in __gsm_data_queue()
2167 * The fcs holds the header FCS but any data FCS must be added here.
2176 if (gsm->fcs != GOOD_FCS) { in gsm_queue()
2179 pr_debug("BAD FCS %02x\n", gsm->fcs); in gsm_queue()
2281 gsm->fcs = INIT_FCS; in gsm0_receive()
2285 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm0_receive()
2290 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm0_receive()
2295 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm0_receive()
2312 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm0_receive()
2329 /* Calculate final FCS for UI frames over all data */ in gsm0_receive()
2331 gsm->fcs = gsm_fcs_add_block(gsm->fcs, gsm->buf, in gsm0_receive()
2337 case GSM_FCS: /* FCS follows the packet */ in gsm0_receive()
2338 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm0_receive()
2383 /* Remove the FCS from data */ in gsm1_receive()
2386 /* Calculate final FCS for UI frames over all in gsm1_receive()
2387 * data but FCS in gsm1_receive()
2389 gsm->fcs = gsm_fcs_add_block(gsm->fcs, gsm->buf, in gsm1_receive()
2392 /* Add the FCS itself to test against GOOD_FCS */ in gsm1_receive()
2393 gsm->fcs = gsm_fcs_add(gsm->fcs, gsm->buf[gsm->count]); in gsm1_receive()
2427 gsm->fcs = INIT_FCS; in gsm1_receive()
2430 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm1_receive()
2435 gsm->fcs = gsm_fcs_add(gsm->fcs, c); in gsm1_receive()
2441 if (gsm->count > gsm->mru) { /* Allow one for the FCS */ in gsm1_receive()