WSL2-Linux-Kernel/drivers/net
Sathya Perla e50287be7c be2net: dma_sync each RX frag before passing it to the stack
The driver currently maps a page for DMA, divides the page into multiple
frags and posts them to the HW. It un-maps the page after data is received
on all the frags of the page. This scheme doesn't work when bounce buffers
are used for DMA (swiotlb=force kernel param).

This patch fixes this problem by calling dma_sync_single_for_cpu() for each
frag (excepting the last one) so that the data is copied from the bounce
buffers. The page is un-mapped only when DMA finishes on the last frag of
the page.
(Thanks Ben H. for suggesting the dma_sync API!)

This patch also renames the "last_page_user" field of be_rx_page_info{}
struct to "last_frag" to improve readability of the fixed code.

Reported-by: Li Fengmao <li.fengmao@zte.com.cn>
Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-04 16:17:53 -05:00
..
appletalk
arcnet
bonding bonding: send arp requests even if there's no route to them 2014-03-02 14:54:10 -05:00
caif caif: delete unnecessary field initialization 2014-02-17 00:29:23 -05:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-02-19 01:24:22 -05:00
cris
dsa
ethernet be2net: dma_sync each RX frag before passing it to the stack 2014-03-04 16:17:53 -05:00
fddi
hamradio
hippi
hyperv hyperv: Add latest NetVSP versions to auto negotiation 2014-02-19 19:52:45 -05:00
ieee802154 ieee802154: fix at86rf212_set_txpower() exit path 2014-03-03 15:40:35 -05:00
irda irtty-sir.c: Do not set_termios() on irtty_close() 2014-02-17 16:27:51 -05:00
phy phy: micrel: add of configuration for LED mode 2014-02-26 17:00:07 -05:00
plip
ppp
slip
team Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-02-19 01:24:22 -05:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-02-19 01:24:22 -05:00
vmxnet3 vmxnet3: Use pci_enable_msix_range() instead of pci_enable_msix() 2014-02-18 15:33:34 -05:00
wan
wimax
wireless Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2014-02-20 15:02:02 -05:00
xen-netback
Kconfig net: fix macvtap type name in Kconfig 2014-02-13 15:48:31 -05:00
LICENSE.SRC
Makefile
Space.c
dummy.c net: introduce netdev_alloc_pcpu_stats() for drivers 2014-02-14 15:49:55 -05:00
eql.c
ifb.c
loopback.c loopback: sctp: add NETIF_F_SCTP_CSUM to device features 2014-02-24 19:00:08 -05:00
macvlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-02-19 01:24:22 -05:00
macvtap.c
mdio.c
mii.c
netconsole.c
nlmon.c net: introduce netdev_alloc_pcpu_stats() for drivers 2014-02-14 15:49:55 -05:00
ntb_netdev.c
rionet.c
sb1000.c
sungem_phy.c
tun.c netdevice: add queue selection fallback handler for ndo_select_queue 2014-02-17 00:36:34 -05:00
veth.c rtnl: make ifla_policy static 2014-02-18 18:15:42 -05:00
virtio_net.c
vxlan.c vxlan: remove unused port variable in vxlan_udp_encap_recv() 2014-02-26 15:46:25 -05:00
xen-netfront.c net: introduce netdev_alloc_pcpu_stats() for drivers 2014-02-14 15:49:55 -05:00