usbnet: smsc95xx: fix memcpy for accessing rx-data

Change the RX code to use get_unaligned_le32() instead of the combo
of memcpy and cpu_to_le32s(&var).

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Ben Dooks 2018-11-14 11:50:21 +00:00 committed by David S. Miller
parent 0c8b26556c
commit 6809d2167c

View File

@ -618,9 +618,7 @@ static void smsc95xx_status(struct usbnet *dev, struct urb *urb)
return; return;
} }
memcpy(&intdata, urb->transfer_buffer, 4); intdata = get_unaligned_le32(urb->transfer_buffer);
le32_to_cpus(&intdata);
netif_dbg(dev, link, dev->net, "intdata: 0x%08X\n", intdata); netif_dbg(dev, link, dev->net, "intdata: 0x%08X\n", intdata);
if (intdata & INT_ENP_PHY_INT_) if (intdata & INT_ENP_PHY_INT_)
@ -1934,8 +1932,7 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
unsigned char *packet; unsigned char *packet;
u16 size; u16 size;
memcpy(&header, skb->data, sizeof(header)); header = get_unaligned_le32(skb->data);
le32_to_cpus(&header);
skb_pull(skb, 4 + NET_IP_ALIGN); skb_pull(skb, 4 + NET_IP_ALIGN);
packet = skb->data; packet = skb->data;