OpenCloudOS-Kernel/drivers/net/phy
Stefan Sørensen 63502b8d01 dp83640: Fix receive timestamp race condition
When timestamping received packets, rx_timestamp_work may be scheduled
before the timestamps is received from the hardware resulting in the
packet beeing delivered without the timestamp.

This is fixed by changing the receive timestamp path:

On receiving a packet that need timestamping, the rxts list is
traversed.  If a match is found, packet+timestamp are delivered,
otherwise the packet is added to a rx_queue.

When a timestamp arrives rx_queue is traversed and if a matching
packet is found, it is delivered with the timestamp. Otherwise the
timestamp is added to the rxts list for matching with packets arriving
later.

In case the hardware drops a timestamp, a workqueue regularly checks
the queue for old packets and delivers them without a timestamp.

Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-07-22 19:56:18 -07:00
..
Kconfig amd-xgbe: Configuration and build support 2014-06-05 15:26:51 -07:00
Makefile amd-xgbe: Configuration and build support 2014-06-05 15:26:51 -07:00
amd-xgbe-phy.c amd-xgbe: fix unused variable compilation warning in phylib driver 2014-06-11 00:13:16 -07:00
amd.c phylib: Support registering a bunch of drivers 2012-07-09 00:10:56 -07:00
at803x.c net: phy: at803x: fix coccinelle warnings 2014-06-22 17:16:02 -07:00
bcm7xxx.c net: phy: bcm7xxx: properly clear AFE_RX_LP_COUNTER 2014-03-26 16:19:24 -04:00
bcm63xx.c phy: bcm63xx: report Broadcom BCM63xx PHYs as internal 2013-05-27 22:42:50 -07:00
bcm87xx.c net/phy/bcm87xx: Add MODULE_LICENSE("GPL") to GPL driver 2012-09-22 15:33:46 -04:00
broadcom.c net: phy: broadcom: extract register definitions 2014-02-14 00:27:58 -05:00
cicada.c net: phy: cicada: fix checkpath errors 2013-12-18 00:49:01 -05:00
davicom.c net: phy: davicom: fix checkpath errors 2013-12-18 00:49:01 -05:00
dp83640.c dp83640: Fix receive timestamp race condition 2014-07-22 19:56:18 -07:00
dp83640_reg.h
et1011c.c
fixed.c net: phy: extend fixed driver with fixed_phy_register() 2014-05-16 17:18:49 -04:00
icplus.c net: phy: icplus: fix checkpath error 2013-12-18 00:49:02 -05:00
lxt.c net: phy: lxt: fix checkpath errors 2013-12-18 00:49:02 -05:00
marvell.c net: phy: marvell: provide genphy suspend/resume 2013-12-17 14:42:44 -05:00
mdio-bitbang.c Revert "drivers/net/phy/mdio-bitbang.c: Call mdiobus_unregister before mdiobus_free" 2012-11-14 22:32:15 -05:00
mdio-gpio.c net: mdio-gpio: warn about missing bus alias id 2014-05-09 15:51:19 -04:00
mdio-moxart.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
mdio-mux-gpio.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
mdio-mux-mmioreg.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
mdio-mux.c netdev/phy: skip disabled mdio-mux nodes 2012-08-20 02:16:00 -07:00
mdio-octeon.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
mdio-sun4i.c net: sun4i: remove empty MDIO bus reset function 2014-03-28 01:38:02 -04:00
mdio_bus.c net: fix circular dependency in of_mdio code 2014-07-02 00:24:14 -07:00
micrel.c ARM: i.MX6: Add OF configuration support for ksz9031 2014-05-07 16:51:09 -04:00
national.c phy: Use pr_<level> 2012-06-11 16:58:24 -07:00
phy.c phy: Expand phy speed/duplex settings array 2014-07-15 16:30:04 -07:00
phy_device.c net: phy: export phy_suspend and phy_resume 2014-07-08 21:06:50 -07:00
qsemi.c
realtek.c net: phy: realtek: register/unregister multiple drivers properly 2014-06-11 15:17:27 -07:00
smsc.c net/phy: Remove return value for void function 2014-04-23 15:28:05 -04:00
spi_ks8995.c net: Micrel KSZ8864RMN 4-port managed switch support 2014-04-03 16:15:29 -04:00
ste10Xp.c phylib: Support registering a bunch of drivers 2012-07-09 00:10:56 -07:00
vitesse.c net/phy: Remove return value for void function 2014-04-23 15:28:05 -04:00