summaryrefslogtreecommitdiff
path: root/Documentation/lockstat.txt
diff options
context:
space:
mode:
authorJohn Fastabend <john.r.fastabend@intel.com>2010-02-03 14:23:32 (GMT)
committerDavid S. Miller <davem@davemloft.net>2010-02-04 03:39:56 (GMT)
commit10eec95569513206877769ad9336591c08015cfe (patch)
treec372678363eb4d192a138fa11d2abf08a10b1897 /Documentation/lockstat.txt
parent9c119ba54c0fcae72881948af3d37b47a2f8e1f9 (diff)
downloadlinux-fsl-qoriq-10eec95569513206877769ad9336591c08015cfe.tar.xz
ixgbe: only process one ixgbe_watchdog_task at a time.
Processing multiple ixgbe_watchdog_task calls may cause the link_up variable and IXGBE_FLAG_NEED_LINK_UPDATE flag to be set incorrectly. In the worse case this is causing the netif_carrier_off to be called inappropriately which results in an interface that can't be brought up. Although schedule_work() will only schedule the task if it is not already on the work queue the WORK_STRUCT_PENDING bits are cleared just before calling the work function. This allows WORK_STRUCT_PENDING to be cleared, the work function to start and meanwhile schedule another task. This patch adds a mutex to the watchdog task. This bug is actualized by changing DCB settings or doing extended cable pull or reset tests. Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/lockstat.txt')
0 files changed, 0 insertions, 0 deletions