• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/caif/

Lines Matching refs:rfml

35 	struct cfrfml *rfml = container_obj(&srvl->layer);
37 if (rfml->incomplete_frm)
38 cfpkt_destroy(rfml->incomplete_frm);
72 static struct cfpkt *rfm_append(struct cfrfml *rfml, char *seghead,
83 if (memcmp(seghead, rfml->seghead, 6) != 0)
86 tmppkt = cfpkt_append(rfml->incomplete_frm, pkt,
87 rfml->pdu_size + RFM_HEAD_SIZE);
104 struct cfrfml *rfml;
109 rfml = container_obj(layr);
110 spin_lock(&rfml->sync);
118 if (rfml->incomplete_frm == NULL) {
120 if (cfpkt_peek_head(pkt, rfml->seghead, 6) < 0)
123 rfml->pdu_size = get_unaligned_le16(rfml->seghead+4);
127 rfml->incomplete_frm = pkt;
131 tmppkt = rfm_append(rfml, seghead, pkt, &err);
138 rfml->incomplete_frm = tmppkt;
148 if (rfml->incomplete_frm) {
151 tmppkt = rfm_append(rfml, seghead, pkt, &err);
158 rfml->incomplete_frm = NULL;
164 if (rfml->pdu_size != cfpkt_getlen(pkt) - RFM_HEAD_SIZE + 1)
168 err = rfml->serv.layer.up->receive(rfml->serv.layer.up, pkt);
177 if (rfml->incomplete_frm)
178 cfpkt_destroy(rfml->incomplete_frm);
179 rfml->incomplete_frm = NULL;
187 rfml->serv.dev_info.id);
189 spin_unlock(&rfml->sync);
194 static int cfrfml_transmit_segment(struct cfrfml *rfml, struct cfpkt *pkt)
196 caif_assert(cfpkt_getlen(pkt) >= rfml->fragment_size);
199 cfpkt_info(pkt)->channel_id = rfml->serv.layer.id;
206 cfpkt_info(pkt)->dev_info = &rfml->serv.dev_info;
208 return rfml->serv.layer.dn->transmit(rfml->serv.layer.dn, pkt);
218 struct cfrfml *rfml = container_obj(layr);
223 if (!cfsrvl_ready(&rfml->serv, &err))
231 if (cfpkt_getlen(pkt) > rfml->fragment_size + RFM_HEAD_SIZE)
237 while (cfpkt_getlen(frontpkt) > rfml->fragment_size + RFM_HEAD_SIZE) {
251 rearpkt = cfpkt_split(frontpkt, rfml->fragment_size);
255 err = cfrfml_transmit_segment(rfml, frontpkt);
277 err = cfrfml_transmit_segment(rfml, frontpkt);
289 rfml->serv.dev_info.id);