Lines Matching refs:rx
54 struct asix_rx_fixup_info *rx) in asix_rx_fixup_internal() argument
68 if (rx->remaining && (rx->remaining + sizeof(u32) <= skb->len)) { in asix_rx_fixup_internal()
69 offset = ((rx->remaining + 1) & 0xfffe); in asix_rx_fixup_internal()
70 rx->header = get_unaligned_le32(skb->data + offset); in asix_rx_fixup_internal()
73 size = (u16)(rx->header & 0x7ff); in asix_rx_fixup_internal()
74 if (size != ((~rx->header >> 16) & 0x7ff)) { in asix_rx_fixup_internal()
76 rx->remaining); in asix_rx_fixup_internal()
77 if (rx->ax_skb) { in asix_rx_fixup_internal()
78 kfree_skb(rx->ax_skb); in asix_rx_fixup_internal()
79 rx->ax_skb = NULL; in asix_rx_fixup_internal()
85 rx->remaining = 0; in asix_rx_fixup_internal()
93 if (!rx->remaining) { in asix_rx_fixup_internal()
95 rx->header = get_unaligned_le16( in asix_rx_fixup_internal()
97 rx->split_head = true; in asix_rx_fixup_internal()
102 if (rx->split_head == true) { in asix_rx_fixup_internal()
103 rx->header |= (get_unaligned_le16( in asix_rx_fixup_internal()
105 rx->split_head = false; in asix_rx_fixup_internal()
108 rx->header = get_unaligned_le32(skb->data + in asix_rx_fixup_internal()
114 size = (u16)(rx->header & 0x7ff); in asix_rx_fixup_internal()
115 if (size != ((~rx->header >> 16) & 0x7ff)) { in asix_rx_fixup_internal()
117 rx->header, offset); in asix_rx_fixup_internal()
131 rx->ax_skb = netdev_alloc_skb_ip_align(dev->net, size); in asix_rx_fixup_internal()
133 rx->remaining = size; in asix_rx_fixup_internal()
136 if (rx->remaining > skb->len - offset) { in asix_rx_fixup_internal()
138 rx->remaining -= copy_length; in asix_rx_fixup_internal()
140 copy_length = rx->remaining; in asix_rx_fixup_internal()
141 rx->remaining = 0; in asix_rx_fixup_internal()
144 if (rx->ax_skb) { in asix_rx_fixup_internal()
145 data = skb_put(rx->ax_skb, copy_length); in asix_rx_fixup_internal()
147 if (!rx->remaining) in asix_rx_fixup_internal()
148 usbnet_skb_return(dev, rx->ax_skb); in asix_rx_fixup_internal()
166 struct asix_rx_fixup_info *rx = &dp->rx_fixup_info; in asix_rx_fixup_common() local
168 return asix_rx_fixup_internal(dev, skb, rx); in asix_rx_fixup_common()