libertas: make if_sdio align packets
Incoming packets have to be aligned or the IP stack becomes upset. Make sure to shift them two bytes to achieve this. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
4ef31702c1
Коммит
51e6b712b5
|
@ -182,12 +182,14 @@ static int if_sdio_handle_data(struct if_sdio_card *card,
|
|||
goto out;
|
||||
}
|
||||
|
||||
skb = dev_alloc_skb(MRVDRV_ETH_RX_PACKET_BUFFER_SIZE);
|
||||
skb = dev_alloc_skb(MRVDRV_ETH_RX_PACKET_BUFFER_SIZE + NET_IP_ALIGN);
|
||||
if (!skb) {
|
||||
ret = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
|
||||
skb_reserve(skb, NET_IP_ALIGN);
|
||||
|
||||
data = skb_put(skb, size);
|
||||
|
||||
memcpy(data, buffer, size);
|
||||
|
|
Загрузка…
Ссылка в новой задаче