Who should I write to about this OOPS in 2,6,11-mm3?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Miles Lane <miles.lane at gmail.com> wrote:
>
> On Fri, 18 Mar 2005 13:07:08 +0100 (CET), Jean Delvare
> <khali at linux-fr.org> wrote:
> 
> > Miles, could you please try to modify your oopsing configuration in the
> > following way:
> >   CONFIG_I2C_CHARDEV=n
> >   CONFIG_SENSORS_EEPROM=y
> > I would expect if to oops in i2c_add_driver() as well.
> 
> I had to copy this by hand, but I think I got it all down correctly.

Is worthwhile.

> 
> >>EIP; c02f094f <i2c_detect+f/500>   <=====
> 
> >>ebx; f7c076fc <pg0+376a46fc/3fa9b400>
> >>edx; f7c07558 <pg0+376a4558/3fa9b400>
> >>esi; c047c8e0 <eeprom_driver+0/e0>
> 
> Trace; c0104d7f <show_stack+7f/a0>
> Trace; c0104f1a <show_registers+15a/1c0>
> Trace; c0105184 <die+164/2e0>
> Trace; c0119936 <do_page_fault+356/68d>
> Trace; c0104853 <error_code+4f/54>
> Trace; c02f1aa1 <eeprom_attach_adapter+21/30>
> Trace; c02ee704 <i2c_add_driver+b4/e0>
> Trace; c050a652 <eeprom_init+12/40>
> Trace; c04ee8ab <do_initcalls+2b/c0>
> Trace; c0100302 <init+32/130>
> Trace; c0101351 <kernel_thread_helper+5/14>

Ah.  adapter->algo is NULL in i2c_detect().  I don't think i2c_adapters are
allowed to do that.  It could have been any old adapter, registered at some
earlier time.


If I'm right, this debug patch should point us at the culprit.

diff -puN drivers/i2c/i2c-core.c~a drivers/i2c/i2c-core.c
--- 25/drivers/i2c/i2c-core.c~a	2005-03-21 22:38:00.000000000 -0800
+++ 25-akpm/drivers/i2c/i2c-core.c	2005-03-21 22:39:27.000000000 -0800
@@ -150,6 +150,13 @@ int i2c_add_adapter(struct i2c_adapter *
 	struct list_head   *item;
 	struct i2c_driver  *driver;
 
+	if (adap->algo == NULL) {
+		printk("%s: adap->algo is NULL\n", __FUNCTION__);
+		dump_stack();
+		for ( ; ; )
+			;
+	}
+
 	down(&core_lists);
 
 	if (idr_pre_get(&i2c_adapter_idr, GFP_KERNEL) == 0) {
_




[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux