linux/drivers/net/ethernet/sfc
Ben Hutchings 734d4e159b sfc: Fix memory leak when discarding scattered packets
Commit 2768935a46 ('sfc: reuse pages to avoid DMA mapping/unmapping
costs') did not fully take account of DMA scattering which was
introduced immediately before.  If a received packet is invalid and
must be discarded, we only drop a reference to the first buffer's
page, but we need to drop a reference for each buffer the packet
used.

I think this bug was missed partly because efx_recycle_rx_buffers()
was not renamed and so no longer does what its name says.  It does not
change the state of buffers, but only prepares the underlying pages
for recycling.  Rename it accordingly.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-07-05 01:29:15 -07:00
..
Kconfig sfc: Fix Kconfig typo "----help---" 2013-03-18 10:50:23 +01:00
Makefile ptp: Enable clock drivers along with associated net/PHY drivers 2012-11-01 11:35:18 -04:00
bitfield.h sfc: Add parentheses around use of bitfield macro arguments 2012-10-02 01:58:39 +01:00
efx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2013-07-03 14:55:13 -07:00
efx.h sfc: Fix EEH with legacy interrupts. 2013-06-24 19:58:25 +01:00
enum.h sfc: Add AER and EEH support for Siena 2013-03-07 20:22:04 +00:00
ethtool.c sfc: Report software timestamping capabilities 2013-06-24 19:58:29 +01:00
falcon.c Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2013-05-02 14:38:53 -07:00
falcon_boards.c sfc: Change state names to be clearer, and comment them 2012-08-24 20:10:18 +01:00
falcon_xmac.c sfc: Fix interface statistics running backward 2012-07-17 16:12:34 +01:00
filter.c sfc: Enable accelerated RFS on vlans 2013-06-24 19:58:30 +01:00
filter.h sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP 2012-10-02 01:58:41 +01:00
io.h sfc: Remove confusing MMIO functions 2012-12-01 00:26:11 +00:00
mcdi.c sfc: Fix naming of MTD partitions for FPGA bitfiles 2013-04-25 01:37:00 -04:00
mcdi.h sfc: Fix MCDI structure field lookup 2012-10-02 01:58:40 +01:00
mcdi_mac.c sfc: Add SR-IOV back-end support for SFC9000 family 2012-02-16 00:25:13 +00:00
mcdi_mon.c sfc: initialize dynamic sysfs attributes for lockdep 2012-07-19 10:48:08 -07:00
mcdi_pcol.h sfc: PTP changes to support improved UUID filtering mode 2013-03-07 20:21:55 +00:00
mcdi_phy.c sfc: Added support for new ethtool APIs for obtaining module eeprom 2012-05-10 03:10:46 +01:00
mdio_10g.c sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
mdio_10g.h
mtd.c sfc: Expose FPGA bitfile partition through MTD 2012-09-19 02:56:24 +01:00
net_driver.h sfc: Define and set RX buffer flag for packets parsed as TCP 2013-06-24 19:58:32 +01:00
nic.c sfc: Fix IRQ cleanup in case of a probe failure 2013-06-24 20:02:52 +01:00
nic.h sfc: Report software timestamping capabilities 2013-06-24 19:58:29 +01:00
phy.h
ptp.c sfc: Report software timestamping capabilities 2013-06-24 19:58:29 +01:00
qt202x_phy.c sfc: Implement module EEPROM access for SFE4002 and SFN4112F 2012-05-10 03:10:54 +01:00
regs.h sfc: Correct MAC filter bitfield definitions 2012-02-16 00:11:31 +00:00
rx.c sfc: Fix memory leak when discarding scattered packets 2013-07-05 01:29:15 -07:00
selftest.c sfc: lock TX queues when calling netif_device_detach() 2012-12-01 02:37:35 +00:00
selftest.h sfc: Run event/IRQ self-test asynchronously when interface is brought up 2012-03-06 18:14:15 +00:00
siena.c sfc: Store port number in private data, not net_device::dev_id 2013-06-12 03:15:02 -07:00
siena_sriov.c sfc: Remove confusing MMIO functions 2012-12-01 00:26:11 +00:00
spi.h sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
tenxpress.c sfc: Fix some formatting errors reported by checkpatch 2012-01-05 18:44:49 +00:00
tx.c sfc: Add support for IEEE-1588 PTP 2012-09-19 02:54:12 +01:00
txc43128_phy.c sfc: Const-qualify static data as appropriate, partly prompted by checkpatch 2012-01-09 17:08:13 +00:00
vfdi.h sfc: Specify that the VFDI status page has page alignment and size 2012-02-22 20:48:07 +00:00
workarounds.h