diff options
author | Sven Schnelle <svens@stackframe.org> | 2012-01-10 14:44:12 +0100 |
---|---|---|
committer | Sven Schnelle <svens@stackframe.org> | 2012-01-31 17:53:29 +0100 |
commit | 483ec41e6f3947b8e11ed67f7efcfdc3ef035612 (patch) | |
tree | f59b1124459493c222ed764de5d0cbad34c4164e /src/mainboard/lenovo/x60/mainboard_smi.c | |
parent | fc4e7333e02b24ab7b4f5ae0e39d3115f41f6ab6 (diff) |
X60: fix docking
Fix ordering of power/reset/undock procedure to prevent
crashes seen with the old code. Also call dlpc_init()
only once.
Change-Id: I27d1f42e845fcccde40e6ca5af4a7762edab5d36
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Reviewed-on: http://review.coreboot.org/597
Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/mainboard/lenovo/x60/mainboard_smi.c')
-rw-r--r-- | src/mainboard/lenovo/x60/mainboard_smi.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mainboard/lenovo/x60/mainboard_smi.c b/src/mainboard/lenovo/x60/mainboard_smi.c index 34f1d36bb1..bd1333a658 100644 --- a/src/mainboard/lenovo/x60/mainboard_smi.c +++ b/src/mainboard/lenovo/x60/mainboard_smi.c @@ -28,6 +28,7 @@ #include <ec/acpi/ec.h> #include <pc80/mc146818rtc.h> #include <ec/lenovo/h8/h8.h> +#include <delay.h> #include "dock.h" #include "smi.h" @@ -72,8 +73,8 @@ int mainboard_io_trap_handler(int smif) switch (smif) { case SMI_DOCK_CONNECT: ec_clr_bit(0x03, 2); - dlpc_init(); - if (!dlpc_init() && !dock_connect()) { + udelay(250000); + if (!dock_connect()) { ec_set_bit(0x03, 2); /* set dock LED to indicate status */ ec_write(0x0c, 0x09); |