summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Cochran <richardcochran@gmail.com>2015-05-25 11:55:43 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-06-22 17:01:17 -0700
commit9dae772fe7d9ca1c39970802df69a2a2cc047028 (patch)
tree40cbbe356c142aefa7133aa5c16a1f5dc4416f1c
parent57bc6480ec7693ab03c4b81baa679d4383c5844c (diff)
downloadlwn-9dae772fe7d9ca1c39970802df69a2a2cc047028.tar.gz
lwn-9dae772fe7d9ca1c39970802df69a2a2cc047028.zip
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-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 98e7cbf720a5..857eb768077f 100644
--- a/drivers/net/phy/dp83640.c
+++ b/drivers/net/phy/dp83640.c
@@ -45,7 +45,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
#define MII_DP83640_MICR 0x11