linux/drivers/net
Johannes Berg 0c19744c34 iwlwifi: process multiple frames per RXB
The flow handler (hardware) can put multiple
frames into a single RX buffer. To handle
this, walk the RX buffer and check if there
are multiple valid packets in it.

To let the upper layer handle this correctly
introduce rxb_offset() which is needed when
we pass pages to mac80211 -- we need to know
the offset into the page there.

Also change the page handling scheme to use
refcounting. Anyone who needs a page will
"steal" it, which marks it as having been
used & refcounts it. The RX handler then has
to free its own reference and must not reuse
the page.

Finally, do not set the bit asking the FH to
give us each packet in a single buffer. This
really enables the feature.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-04-09 16:37:14 -04:00
..
appletalk
arcnet
bonding bonding: remove entries for master_ip and vlan_ip and query devices instead 2012-03-22 22:36:17 -04:00
caif Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-03-09 14:34:20 -08:00
can can: peak_usb: PCAN-USB specific part: fix little endian usage 2012-03-07 15:51:01 +01:00
cris
dsa drivers/net: dsa/mv88e6xxx.c files need linux/module.h 2012-01-24 15:44:50 -05:00
ethernet Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-03-27 16:52:32 -07:00
fddi
hamradio hamradio: fix incompatible pointer in module parameter 2012-02-01 14:40:01 -05:00
hippi drivers/net: Remove unnecessary k.alloc/v.alloc OOM messages 2012-01-31 16:20:21 -05:00
hyperv net/hyperv: Fix the code handling tx busy 2012-03-19 17:27:06 -04:00
irda net/irda: add clk_prepare/clk_unprepare to pxaficp_ir 2012-03-16 23:11:14 -07:00
phy Generialize powerpc's irq_host as irq_domain 2012-03-21 10:27:19 -07:00
plip drivers/net: Remove alloc_etherdev error messages 2012-01-31 16:20:48 -05:00
ppp ppp: Replace uses of <linux/if_ppp.h> with <linux/ppp-ioctl.h> 2012-03-04 20:41:38 -05:00
slip drivers/net: Remove unnecessary k.alloc/v.alloc OOM messages 2012-01-31 16:20:21 -05:00
team net: use eth_hw_addr_random() and reset addr_assign_type 2012-02-15 15:34:17 -05:00
tokenring Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-02-10 23:32:28 -05:00
usb net: add a truesize parameter to skb_add_rx_frag() 2012-03-25 13:29:58 -04:00
vmxnet3 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-03-05 21:16:26 -05:00
wan Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-03-20 21:04:47 -07:00
wimax wimax/i2400m: fix erroneous NETDEV_TX_BUSY use 2012-03-16 02:01:41 -07:00
wireless iwlwifi: process multiple frames per RXB 2012-04-09 16:37:14 -04:00
xen-netback drivers/net: Remove unnecessary k.alloc/v.alloc OOM messages 2012-01-31 16:20:21 -05:00
dummy.c net: use eth_hw_addr_random() and reset addr_assign_type 2012-02-15 15:34:17 -05:00
eql.c
ifb.c net: replace random_ether_addr() with eth_hw_addr_random() 2012-02-15 15:34:16 -05:00
Kconfig
LICENSE.SRC
loopback.c
macvlan.c net: use eth_hw_addr_random() and reset addr_assign_type 2012-02-15 15:34:17 -05:00
macvtap.c security: trim security.h 2012-02-14 10:45:42 +11:00
Makefile
mdio.c ethtool, mdio, mii: Specify MDIO information fields in struct ethtool_cmd 2012-03-01 16:41:26 -05:00
mii.c ethtool, mdio, mii: Specify MDIO information fields in struct ethtool_cmd 2012-03-01 16:41:26 -05:00
netconsole.c drivers/net: Remove unnecessary k.alloc/v.alloc OOM messages 2012-01-31 16:20:21 -05:00
rionet.c drivers/net: Remove alloc_etherdev error messages 2012-01-31 16:20:48 -05:00
sb1000.c
Space.c CS89x0 : add platform driver support 2012-02-01 16:49:50 +01:00
sungem_phy.c
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-03-18 23:29:41 -04:00
veth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-02-19 16:03:15 -05:00
virtio_net.c net: replace random_ether_addr() with eth_hw_addr_random() 2012-02-15 15:34:16 -05:00
xen-netfront.c One tiny feature that accidentally got lost in the initial git pull: 2012-03-24 12:20:25 -07:00