linux/drivers/net
Jacob Keller cafa1fca9d i40e: fix Timesync Tx interrupt handler code
This patch fixes the PTP Tx timestamp interrupt handler. The original
code misinterpreted the interrupt handler design. We were clearing the
ena_mask bit for the Timesync interrupts. This is done to indicate that
the interrupt will be handled in a scheduled work item (instead of
immediately) and that work item is responsible for re-enabling the
interrupts. However, the Tx timestamp was being handled immediately and
nothing was ever re-enabling it. This resulted in a single interrupt
working for the life of the driver.

This patch fixes the issue by instead clearing the bit from icr0 which
is used to indicate that the interrupt was immediately handled and can
be re-enabled right away. This patch also clears up a related issue due
to writing the PRTTSYN_STAT_0 register, which was unintentionally
clearing the cause bits for Timesync interrupts.

Change-ID: I057bd70d53c302f60fab78246989cbdfa469d83b
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Acked-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Acked-by: Shannon Nelson <shannon.nelson@intel.com>
Tested-by: Kavindya Deegala <kavindya.s.deegala@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-04-26 12:55:39 -04:00
..
appletalk
arcnet
bonding bonding: Remove debug_fs files when module init fails 2014-04-11 15:04:40 -04:00
caif caif: delete unnecessary field initialization 2014-02-17 00:29:23 -05:00
can can: slcan: Fix spinlock variant 2014-04-24 22:32:41 +02:00
cris
dsa
ethernet i40e: fix Timesync Tx interrupt handler code 2014-04-26 12:55:39 -04:00
fddi
hamradio yam: replace del_timer by del_timer_sync 2014-03-27 15:28:06 -04:00
hippi
hyperv Drivers: net: hyperv: Address UDP checksum issues 2014-04-11 15:15:12 -04:00
ieee802154 at86rf230: fix __at86rf230_read_subreg function 2014-04-15 00:08:22 -04:00
irda irtty-sir.c: Do not set_termios() on irtty_close() 2014-02-17 16:27:51 -05:00
phy net/phy: micrel: fix bugged test on device tree loading for ksz9021 2014-04-23 14:58:58 -04:00
plip
ppp net: ppp: use sk_unattached_filter api 2014-03-31 00:45:09 -04:00
slip
team team: forbid incorrect fall-through in notifier 2014-04-24 13:26:32 -04:00
usb r8152: check RTL8152_UNPLUG 2014-04-12 01:59:38 -04:00
vmxnet3 vmxnet3: Call dev_kfree_skb_any instead of dev_kfree_skb. 2014-03-24 21:19:23 -07:00
wan driver/net: cosa driver uses udelay incorrectly 2014-04-15 00:08:22 -04:00
wimax wimax/i2400m: remove open-coded skb_cow_head. 2014-03-29 17:49:47 -04:00
wireless mwifiex: fix hung task on command timeout 2014-04-15 13:27:05 -04:00
xen-netback xen-netback: Trivial format string fix 2014-04-04 10:49:53 -04:00
dummy.c net: Replace u64_stats_fetch_begin_bh to u64_stats_fetch_begin_irq 2014-03-14 22:41:36 -04:00
eql.c
ifb.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-03-29 18:48:54 -04:00
Kconfig netpoll: Remove dead packet receive code (CONFIG_NETPOLL_TRAP) 2014-03-17 15:48:12 -04:00
LICENSE.SRC
loopback.c net: Replace u64_stats_fetch_begin_bh to u64_stats_fetch_begin_irq 2014-03-14 22:41:36 -04:00
macvlan.c net: Replace u64_stats_fetch_begin_bh to u64_stats_fetch_begin_irq 2014-03-14 22:41:36 -04:00
macvtap.c
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c net: nlmon: flag nlmon devs with LLTX/SG 2014-03-28 16:49:47 -04:00
ntb_netdev.c NTB: Code Style Clean-up 2014-04-07 10:59:19 -07:00
rionet.c rapidio: rework device hierarchy and introduce mport class of devices 2014-04-07 16:36:07 -07:00
sb1000.c
Space.c
sungem_phy.c
tun.c drivers/net: Use RCU_INIT_POINTER(x, NULL) in tun.c 2014-03-27 00:18:09 -04:00
veth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-03-29 18:48:54 -04:00
virtio_net.c virtio_net: zero is an invald queue_pairs number 2014-04-22 16:01:35 -04:00
vxlan.c vxlan: ensure to advertise the right fdb remote 2014-04-23 15:01:09 -04:00
xen-netfront.c drivers: net: xen-netfront: fix array initialization bug 2014-04-12 16:49:06 -04:00