aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorRichard Cochran <richardcochran@gmail.com>2015-05-25 11:55:43 +0200
committerBen Hutchings <ben@decadent.org.uk>2015-08-07 00:32:16 +0100
commitdbd061fc4f55c9759b2e59f13080e1735095bbce (patch)
tree91eabb29f2d52bd6a0c7e0fc82a41cc6d082ed40 /drivers/net
parentdfbbd2eeb55b42e1e32a113c3cde01a6114391d3 (diff)
downloadkernel_samsung_smdk4412-dbd061fc4f55c9759b2e59f13080e1735095bbce.zip
kernel_samsung_smdk4412-dbd061fc4f55c9759b2e59f13080e1735095bbce.tar.gz
kernel_samsung_smdk4412-dbd061fc4f55c9759b2e59f13080e1735095bbce.tar.bz2
net: dp83640: fix broken calibration routine.
[ Upstream commit 397a253af5031de4a4612210055935309af4472c ] Currently, the calibration function that corrects the initial offsets among multiple devices only works the first time. If the function is called more than once, the calibration fails and bogus offsets will be programmed into the devices. In a well hidden spot, the device documentation tells that trigger indexes 0 and 1 are special in allowing the TRIG_IF_LATE flag to actually work. This patch fixes the issue by using one of the special triggers during the recalibration method. Signed-off-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/phy/dp83640.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c
index 9663e0b..bb335ab 100644
--- a/drivers/net/phy/dp83640.c
+++ b/drivers/net/phy/dp83640.c
@@ -42,7 +42,7 @@
#define PSF_TX 0x1000
#define EXT_EVENT 1
#define CAL_EVENT 7
-#define CAL_TRIGGER 7
+#define CAL_TRIGGER 1
#define PER_TRIGGER 6
/* phyter seems to miss the mark by 16 ns */