summaryrefslogtreecommitdiff
path: root/src/superio/via/vt1211/vt1211.c
diff options
context:
space:
mode:
authorRudolf Marek <r.marek@assembler.cz>2011-02-19 14:51:31 +0000
committerRudolf Marek <r.marek@assembler.cz>2011-02-19 14:51:31 +0000
commit0c8e664713d4dc726bedb5ba0b2e356eed9ae14c (patch)
treea81752632b470dfcb252e15865c3f2aa7de9bfe0 /src/superio/via/vt1211/vt1211.c
parentb8cdd9b4506309ced1529862d7598131a5cb4ea7 (diff)
downloadcoreboot-0c8e664713d4dc726bedb5ba0b2e356eed9ae14c.tar.xz
It turns out that the code which enables specific LDN is somewhat buggy.
Instead of enable the device the device gets disabled. However after some time the serial line gets back, most likely some "enable resources" might fix it. I'm attaching patch which somewhat fixes the problem and changes the function to look same in all superio code. Some boards even did not convert the dev->enabled to 0,1 values. Signed-off-by: Rudolf Marek <r.marek@assembler.cz> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6373 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'src/superio/via/vt1211/vt1211.c')
-rw-r--r--src/superio/via/vt1211/vt1211.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/superio/via/vt1211/vt1211.c b/src/superio/via/vt1211/vt1211.c
index 3cfeea66a4..dbe7404368 100644
--- a/src/superio/via/vt1211/vt1211.c
+++ b/src/superio/via/vt1211/vt1211.c
@@ -186,12 +186,9 @@ static void vt1211_pnp_set_resources(struct device *dev)
static void vt1211_pnp_enable(device_t dev)
{
- if (dev->enabled)
- return;
-
pnp_enter_ext_func_mode(dev);
pnp_set_logical_device(dev);
- pnp_set_enable(dev, 0);
+ pnp_set_enable(dev, !!dev->enabled);
pnp_exit_ext_func_mode(dev);
}