Lines Matching refs:hh

263 static int parse_hip(const u8 *buf, const u32 buflen, struct hip_hdr *hh)  in parse_hip()  argument
271 curp = save16bit(&hh->payload_len, curp); in parse_hip()
272 curp = save8bit(&hh->msgid, curp); in parse_hip()
273 curp = save8bit(&hh->msgspecific, curp); in parse_hip()
275 padded = hh->msgid.byte & 0x80; in parse_hip()
276 hh->msgid.byte &= 0x7F; /* 7 bits */ in parse_hip()
278 hh->extmsgid.is_present = (hh->msgid.byte == SIERRA_NET_HIP_EXTENDEDID); in parse_hip()
279 if (hh->extmsgid.is_present) { in parse_hip()
283 hh->payload_len.word &= 0x3FFF; /* 14 bits */ in parse_hip()
285 curp = save16bit(&hh->extmsgid, curp); in parse_hip()
286 hh->extmsgid.word &= 0x03FF; /* 10 bits */ in parse_hip()
288 hh->hdrlen = SIERRA_NET_HIP_EXT_HDR_LEN; in parse_hip()
290 hh->payload_len.word &= 0x07FF; /* 11 bits */ in parse_hip()
291 hh->hdrlen = SIERRA_NET_HIP_HDR_LEN; in parse_hip()
295 hh->hdrlen++; in parse_hip()
296 hh->payload_len.word--; in parse_hip()
300 if (buflen < (hh->hdrlen + hh->payload_len.word)) in parse_hip()
413 struct hip_hdr *hh) in sierra_net_handle_lsi() argument
418 link_up = sierra_net_parse_lsi(dev, data + hh->hdrlen, in sierra_net_handle_lsi()
419 hh->payload_len.word); in sierra_net_handle_lsi()
425 sierra_net_set_ctx_index(priv, hh->msgspecific.byte); in sierra_net_handle_lsi()
491 struct hip_hdr hh; in sierra_net_kevent() local
496 err = parse_hip(buf, len, &hh); in sierra_net_kevent()
505 if (len != hh.hdrlen + hh.payload_len.word) { in sierra_net_kevent()
508 hh.hdrlen + hh.payload_len.word); in sierra_net_kevent()
514 switch (hh.msgid.byte) { in sierra_net_kevent()
517 hh.msgspecific.byte); in sierra_net_kevent()
518 sierra_net_handle_lsi(dev, buf, &hh); in sierra_net_kevent()
523 hh.msgspecific.byte); in sierra_net_kevent()
538 "extmsgid 0x%04x\n", hh.extmsgid.word); in sierra_net_kevent()
545 "msgid 0x%02x\n", hh.msgid.byte); in sierra_net_kevent()
805 struct hip_hdr hh; in sierra_net_rx_fixup() local
812 err = parse_hip(skb->data, skb->len, &hh); in sierra_net_rx_fixup()
823 if (!hh.extmsgid.is_present in sierra_net_rx_fixup()
824 || hh.extmsgid.word != SIERRA_NET_HIP_EXT_IP_IN_ID) { in sierra_net_rx_fixup()
833 skb_pull(skb, hh.hdrlen); in sierra_net_rx_fixup()
845 if (hh.payload_len.word == skb->len) in sierra_net_rx_fixup()
848 new_skb = sierra_net_skb_clone(dev, skb, hh.payload_len.word); in sierra_net_rx_fixup()