diff options
author | Stefan Sørensen <stefan.sorensen@spectralink.com> | 2014-07-22 15:20:45 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-07-22 19:56:18 -0700 |
commit | 63502b8d01631bd41778a64c9f6b72ea409bf97b (patch) | |
tree | 157d94a877a55474fec8f4bd3bf01fa05203fbe4 /REPORTING-BUGS | |
parent | 36763266bbe8a2e93a7639b99bac2fee2c42bc5b (diff) | |
download | linux-63502b8d01631bd41778a64c9f6b72ea409bf97b.tar.bz2 |
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>
Diffstat (limited to 'REPORTING-BUGS')
0 files changed, 0 insertions, 0 deletions