Lines Matching refs:skb

41 static int __nci_spi_send(struct nci_spi *nspi, struct sk_buff *skb,  in __nci_spi_send()  argument
49 if (skb) { in __nci_spi_send()
50 t.tx_buf = skb->data; in __nci_spi_send()
51 t.len = skb->len; in __nci_spi_send()
68 struct sk_buff *skb) in nci_spi_send() argument
70 unsigned int payload_len = skb->len; in nci_spi_send()
76 hdr = skb_push(skb, NCI_SPI_HDR_LEN); in nci_spi_send()
85 crc = crc_ccitt(CRC_INIT, skb->data, skb->len); in nci_spi_send()
86 *skb_put(skb, 1) = crc >> 8; in nci_spi_send()
87 *skb_put(skb, 1) = crc & 0xFF; in nci_spi_send()
104 ret = __nci_spi_send(nspi, skb, 0); in nci_spi_send()
117 kfree_skb(skb); in nci_spi_send()
156 struct sk_buff *skb; in send_acknowledge() local
161 skb = nci_skb_alloc(nspi->ndev, 0, GFP_KERNEL); in send_acknowledge()
164 hdr = skb_push(skb, NCI_SPI_HDR_LEN); in send_acknowledge()
170 crc = crc_ccitt(CRC_INIT, skb->data, skb->len); in send_acknowledge()
171 *skb_put(skb, 1) = crc >> 8; in send_acknowledge()
172 *skb_put(skb, 1) = crc & 0xFF; in send_acknowledge()
174 ret = __nci_spi_send(nspi, skb, 0); in send_acknowledge()
176 kfree_skb(skb); in send_acknowledge()
183 struct sk_buff *skb; in __nci_spi_read() local
216 skb = nci_skb_alloc(nspi->ndev, rx_len, GFP_KERNEL); in __nci_spi_read()
217 if (!skb) in __nci_spi_read()
223 rx.rx_buf = skb_put(skb, rx_len); in __nci_spi_read()
234 *skb_push(skb, 1) = resp_hdr[1]; in __nci_spi_read()
235 *skb_push(skb, 1) = resp_hdr[0]; in __nci_spi_read()
238 return skb; in __nci_spi_read()
241 kfree_skb(skb); in __nci_spi_read()
246 static int nci_spi_check_crc(struct sk_buff *skb) in nci_spi_check_crc() argument
248 u16 crc_data = (skb->data[skb->len - 2] << 8) | in nci_spi_check_crc()
249 skb->data[skb->len - 1]; in nci_spi_check_crc()
252 ret = (crc_ccitt(CRC_INIT, skb->data, skb->len - NCI_SPI_CRC_LEN) in nci_spi_check_crc()
255 skb_trim(skb, skb->len - NCI_SPI_CRC_LEN); in nci_spi_check_crc()
260 static u8 nci_spi_get_ack(struct sk_buff *skb) in nci_spi_get_ack() argument
264 ret = skb->data[0] >> NCI_SPI_ACK_SHIFT; in nci_spi_get_ack()
267 skb_pull(skb, 2); in nci_spi_get_ack()
285 struct sk_buff *skb; in nci_spi_read() local
288 skb = __nci_spi_read(nspi); in nci_spi_read()
289 if (!skb) in nci_spi_read()
293 if (!nci_spi_check_crc(skb)) { in nci_spi_read()
301 nspi->req_result = nci_spi_get_ack(skb); in nci_spi_read()
309 if (!skb->len) { in nci_spi_read()
310 kfree_skb(skb); in nci_spi_read()
311 skb = NULL; in nci_spi_read()
320 return skb; in nci_spi_read()