forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/drivers/net/usb/sr9800.c
....@@ -115,6 +115,7 @@
115115 u32 padbytes = 0xffff0000;
116116 u32 packet_len;
117117 int padlen;
118
+ void *ptr;
118119
119120 padlen = ((skb->len + 4) % (dev->maxpacket - 1)) ? 0 : 4;
120121
....@@ -133,14 +134,12 @@
133134 return NULL;
134135 }
135136
136
- skb_push(skb, 4);
137
+ ptr = skb_push(skb, 4);
137138 packet_len = (((skb->len - 4) ^ 0x0000ffff) << 16) + (skb->len - 4);
138
- cpu_to_le32s(&packet_len);
139
- skb_copy_to_linear_data(skb, &packet_len, sizeof(packet_len));
139
+ put_unaligned_le32(packet_len, ptr);
140140
141141 if (padlen) {
142
- cpu_to_le32s(&padbytes);
143
- memcpy(skb_tail_pointer(skb), &padbytes, sizeof(padbytes));
142
+ put_unaligned_le32(padbytes, skb_tail_pointer(skb));
144143 skb_put(skb, sizeof(padbytes));
145144 }
146145