* Ingo Molnar <[EMAIL PROTECTED]> wrote:

> Jean,
> 
> -tip testing found another (similar) i2c crash with latest -git, on a 
> Core2Duo laptop:
> 
> calling  nforce2_init+0x0/0x1b
> initcall nforce2_init+0x0/0x1b returned 0 after 0 msecs
> calling  nforce2_s4985_init+0x0/0x275
> BUG: unable to handle kernel NULL pointer dereference at 0000000c
> IP: [<c04af2cf>] i2c_smbus_xfer+0x27/0x3f0
> *pdpt = 00000000009cb001 *pde = 0000000000000000 
> Oops: 0000 [#1] SMP 

turning off I2C_NFORCE2_S4985 makes the system boot up fine. Workaround 
patch below.

        Ingo

------------------->
commit 15e524060d13e8fac3fe2fb6c6519be6de9ab8a8
Author: Ingo Molnar <[EMAIL PROTECTED]>
Date:   Thu Jul 17 11:29:44 2008 +0200

    i2c workaround: turn off I2C_NFORCE2_S4985 for now
    
    I2C_NFORCE2_S4985 causes this crash:
    
    calling  nforce2_init+0x0/0x1b
    initcall nforce2_init+0x0/0x1b returned 0 after 0 msecs
    calling  nforce2_s4985_init+0x0/0x275
    BUG: unable to handle kernel NULL pointer dereference at 0000000c
    IP: [<c04af2cf>] i2c_smbus_xfer+0x27/0x3f0
    *pdpt = 00000000009cb001 *pde = 0000000000000000
    Oops: 0000 [#1] SMP
    
    Pid: 1, comm: swapper Not tainted (2.6.26-tip #3033)
    EIP: 0060:[<c04af2cf>] EFLAGS: 00010246 CPU: 0
    EIP is at i2c_smbus_xfer+0x27/0x3f0
    EAX: 00000003 EBX: 00000000 ECX: 00000000 EDX: 00000018
    ESI: 00000003 EDI: 00000018 EBP: f7c6ff24 ESP: f7c6fea8
     DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
    Process swapper (pid: 1, ti=f7c6e000 task=f7c70000 task.ti=f7c6e000)
    Stack: 00000035 00030000 00000000 c0104237 00000000 00000046 00000046 
00000000
           00000000 f7c6ff50 c09debf0 0001007b fffe007b 000000d8 ffffffef 
c01213cb
           00000060 00000286 f7c6ff1c 00000004 00000286 00000246 f7c6ff24 
c014673a
    Call Trace:
     [<c0104237>] ? common_interrupt+0x23/0x28
     [<c01213cb>] ? vprintk+0x290/0x29b
     [<c014673a>] ? ftrace_record_ip+0x19f/0x1e6
     [<c01a1385>] ? sysfs_add_file_mode+0x57/0x76
     [<c099632f>] ? nforce2_s4985_init+0x2d/0x275
     [<c013319c>] ? ktime_get_ts+0x51/0x55
     [<c01331b8>] ? ktime_get+0x18/0x34
     [<c0971887>] ? kernel_init+0x11f/0x24a
     [<c0996302>] ? nforce2_s4985_init+0x0/0x275
     [<c011cbe8>] ? schedule_tail+0x1e/0x4d
     [<c01037aa>] ? ret_from_fork+0x6/0x1c
     [<c0971768>] ? kernel_init+0x0/0x24a
     [<c0971768>] ? kernel_init+0x0/0x24a
     [<c0104477>] ? kernel_thread_helper+0x7/0x10
     =======================
    Code: 5e 5f 5d c3 55 89 e5 57 56 53 83 ec 70 e8 ca 51 c5 ff 89 45 8c 8b 75 
0c 83 e1 14 8a 45 08 89 d7 8b 5d 8c 88 45 8b 89 f0 88 45 8a <8b> 43 0c 83 78 04 
00 0f b7 c1 89 45 84 74 3a 83 c3 20 89 d8 e8
    EIP: [<c04af2cf>] i2c_smbus_xfer+0x27/0x3f0 SS:ESP 0068:f7c6fea8
    Kernel panic - not syncing: Fatal exception
    Pid: 1, comm: swapper Tainted: G      D   2.6.26-tip #3033
     [<c01208ee>] panic+0x44/0xeb
     [<c0104c8d>] die+0x123/0x13a
     [<c0110f38>] do_page_fault+0x632/0x6f2
     [<c0110906>] ? do_page_fault+0x0/0x6f2
     [<c06585ca>] error_code+0x72/0x78
     [<c04af2cf>] ? i2c_smbus_xfer+0x27/0x3f0
     [<c0104237>] ? common_interrupt+0x23/0x28
     [<c01213cb>] ? vprintk+0x290/0x29b
     [<c014673a>] ? ftrace_record_ip+0x19f/0x1e6
     [<c01a1385>] ? sysfs_add_file_mode+0x57/0x76
     [<c099632f>] nforce2_s4985_init+0x2d/0x275
     [<c013319c>] ? ktime_get_ts+0x51/0x55
     [<c01331b8>] ? ktime_get+0x18/0x34
     [<c0971887>] kernel_init+0x11f/0x24a
     [<c0996302>] ? nforce2_s4985_init+0x0/0x275
     [<c011cbe8>] ? schedule_tail+0x1e/0x4d
     [<c01037aa>] ? ret_from_fork+0x6/0x1c
     [<c0971768>] ? kernel_init+0x0/0x24a
     [<c0971768>] ? kernel_init+0x0/0x24a
     [<c0104477>] kernel_thread_helper+0x7/0x10
     =======================
    
    with this config:
    
      http://redhat.com/~mingo/misc/config-Thu_Jul_17_10_47_42_CEST_2008.bad
    
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
---
 drivers/i2c/busses/Kconfig |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
index 6ee997b..2213fab 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -149,6 +149,9 @@ config I2C_NFORCE2
 config I2C_NFORCE2_S4985
        tristate "SMBus multiplexing on the Tyan S4985"
        depends on I2C_NFORCE2 && EXPERIMENTAL
+       # broke a T60 Core2Duo with:
+       # http://redhat.com/~mingo/misc/config-Thu_Jul_17_10_47_42_CEST_2008.bad
+       depends on 0
        help
          Enabling this option will add specific SMBus support for the Tyan
          S4985 motherboard.  On this 4-CPU board, the SMBus is multiplexed

_______________________________________________
i2c mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/i2c

Reply via email to