From 0c8e664713d4dc726bedb5ba0b2e356eed9ae14c Mon Sep 17 00:00:00 2001 From: Rudolf Marek Date: Sat, 19 Feb 2011 14:51:31 +0000 Subject: 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 Acked-by: Peter Stuge git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6373 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/superio/winbond/w83697hf/superio.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'src/superio/winbond/w83697hf') diff --git a/src/superio/winbond/w83697hf/superio.c b/src/superio/winbond/w83697hf/superio.c index b96e69bce5..9159fc2547 100644 --- a/src/superio/winbond/w83697hf/superio.c +++ b/src/superio/winbond/w83697hf/superio.c @@ -70,12 +70,9 @@ static void w83697hf_pnp_set_resources(device_t dev) static void w83697hf_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); } -- cgit v1.2.3