No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Daniel Hua 3a53285228 igb: Clear TXSTMP when ptp_tx_work() is timeout
Problem description:
After ethernet cable connect and disconnect for several iterations on a
device with i210, tx timestamp will stop being put into the socket.

Steps to reproduce:
1. Setup a device with i210 and wire it to a 802.1AS capable switch (
Extreme Networks Summit x440 is used in our case)
2. Have the gptp daemon running on the device and make sure it is synced
with the switch
3. Have the switch disable and enable the port, wait for the device gets
resynced with the switch
4. Iterates step 3 until the device is not albe to get resynced
5. Review the log in dmesg and you will see warning message "igb : clearing
Tx timestamp hang"

Root cause:
If ptp_tx_work() gets scheduled just before the port gets disabled, a LINK
DOWN event will be processed before ptp_tx_work(), which may cause timeout
in ptp_tx_work(). In the timeout logic, the TSYNCTXCTL's TXTT bit (Transmit
timestamp valid bit) is not cleared, causing no new timestamp loaded to
TXSTMP register. Consequently therefore, no new interrupt is triggerred by
TSICR.TXTS bit and no more Tx timestamp send to the socket.

Signed-off-by: Daniel Hua <daniel.hua@ni.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-01-24 12:27:48 -08:00
arch ARM: dts: imx6q-b450v3: Add switch port configuration 2018-01-23 19:22:38 -05:00
block
certs
crypto
Documentation Documentation/pktgen: Clearify how-to use pktgen samples 2018-01-24 15:03:36 -05:00
drivers igb: Clear TXSTMP when ptp_tx_work() is timeout 2018-01-24 12:27:48 -08:00
firmware
fs Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-23 13:51:56 -05:00
include net/sched: act_csum: don't use spinlock in the fast path 2018-01-23 19:51:46 -05:00
init
ipc
kernel Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-23 13:51:56 -05:00
lib bpf: add couple of test cases for signed extended imms 2018-01-19 18:36:59 -08:00
mm mm, page_vma_mapped: Introduce pfn_in_hpage() 2018-01-22 12:15:57 -08:00
net pktgen: Clean read user supplied flag mess 2018-01-24 15:03:36 -05:00
samples samples/bpf: xdp_monitor include cpumap tracepoints in monitoring 2018-01-20 02:10:55 +01:00
scripts scripts/gdb/linux/tasks.py: fix get_thread_info 2018-01-19 10:09:41 -08:00
security Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-17 00:10:42 -05:00
sound
tools selftests/bpf: validate replace of TC filters is working 2018-01-23 20:24:32 -05:00
usr
virt KVM/ARM Fixes for v4.15, Round 3 (v2) 2018-01-17 14:59:27 +01:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-23 13:51:56 -05:00
Makefile Linux 4.15-rc9 2018-01-21 13:51:26 -08:00
README

Linux kernel
============

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.