Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-13 Thread Mark M. Hoffman
Hi Jean et. al.:

* Jean Delvare <[EMAIL PROTECTED]> [2008-02-10 19:01:15 +0100]:
> The missing NULL at the end of two sysfs file groups causes a kernel
> crash when calling sysfs_create_group().
> 
> Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
> ---
>  drivers/hwmon/adm1026.c |2 ++
>  1 file changed, 2 insertions(+)
> 
> --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c 2008-02-10 
> 11:21:54.0 +0100
> +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c  2008-02-10 18:51:00.0 
> +0100
> @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
>   _attr_temp3_crit_enable.attr,
>   _attr_temp3_auto_point1_pwm.attr,
>   _attr_temp3_auto_point2_pwm.attr,
> + NULL
>  };
>  
>  static const struct attribute_group adm1026_group_temp3 = {
> @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
>   _dev_attr_in9_max.dev_attr.attr,
>   _dev_attr_in9_min.dev_attr.attr,
>   _dev_attr_in9_alarm.dev_attr.attr,
> + NULL
>  };
>  
>  static const struct attribute_group adm1026_group_in8_9 = {

Applied to hwmon-2.6.git/testing, thanks.

-- 
Mark M. Hoffman
[EMAIL PROTECTED]

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-13 Thread Mark M. Hoffman
Hi Jean et. al.:

* Jean Delvare [EMAIL PROTECTED] [2008-02-10 19:01:15 +0100]:
 The missing NULL at the end of two sysfs file groups causes a kernel
 crash when calling sysfs_create_group().
 
 Signed-off-by: Jean Delvare [EMAIL PROTECTED]
 ---
  drivers/hwmon/adm1026.c |2 ++
  1 file changed, 2 insertions(+)
 
 --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c 2008-02-10 
 11:21:54.0 +0100
 +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c  2008-02-10 18:51:00.0 
 +0100
 @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
   dev_attr_temp3_crit_enable.attr,
   dev_attr_temp3_auto_point1_pwm.attr,
   dev_attr_temp3_auto_point2_pwm.attr,
 + NULL
  };
  
  static const struct attribute_group adm1026_group_temp3 = {
 @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
   sensor_dev_attr_in9_max.dev_attr.attr,
   sensor_dev_attr_in9_min.dev_attr.attr,
   sensor_dev_attr_in9_alarm.dev_attr.attr,
 + NULL
  };
  
  static const struct attribute_group adm1026_group_in8_9 = {

Applied to hwmon-2.6.git/testing, thanks.

-- 
Mark M. Hoffman
[EMAIL PROTECTED]

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-12 Thread Greg KH
On Tue, Feb 12, 2008 at 04:37:33PM +0100, Jean Delvare wrote:
> On Tue, 12 Feb 2008 07:27:15 -0800, Greg KH wrote:
> > On Tue, Feb 12, 2008 at 09:27:22AM +0100, Jean Delvare wrote:
> > > Hi Yinghai,
> > > 
> > > On Mon, 11 Feb 2008 15:39:39 -0800, Yinghai Lu wrote:
> > > > On Feb 10, 2008 10:01 AM, Jean Delvare <[EMAIL PROTECTED]> wrote:
> > > > > Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
> > > > > introduced two new sysfs file groups but forgot to NULL-terminate 
> > > > > them.
> > > > > Sorry about that, here's the fix:
> > > > >
> > > > > * * * * *
> > > > >
> > > > > The missing NULL at the end of two sysfs file groups causes a kernel
> > > > > crash when calling sysfs_create_group().
> > > > >
> > > > > Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
> > > > > ---
> > > > >  drivers/hwmon/adm1026.c |2 ++
> > > > >  1 file changed, 2 insertions(+)
> > > > >
> > > > > --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
> > > > > 11:21:54.0 +0100
> > > > > +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 
> > > > > 18:51:00.0 +0100
> > > > > @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
> > > > > _attr_temp3_crit_enable.attr,
> > > > > _attr_temp3_auto_point1_pwm.attr,
> > > > > _attr_temp3_auto_point2_pwm.attr,
> > > > > +   NULL
> > > > >  };
> > > > >
> > > > >  static const struct attribute_group adm1026_group_temp3 = {
> > > > > @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
> > > > > _dev_attr_in9_max.dev_attr.attr,
> > > > > _dev_attr_in9_min.dev_attr.attr,
> > > > > _dev_attr_in9_alarm.dev_attr.attr,
> > > > > +   NULL
> > > > >  };
> > > > >
> > > > >  static const struct attribute_group adm1026_group_in8_9 = {
> > > > >
> > > > > * * * * *
> > > > 
> > > > it works. Thanks
> > > 
> > > Great, thanks. Mark, please include this patch in your next patch to
> > > Linus for 2.6.25.
> > 
> > Can someone send it to [EMAIL PROTECTED] also when it goes into Linus's
> > tree, as it looks like a pretty bad thing :)
> 
> I certainly could, but then you would laugh at me because 2.6.24 isn't
> affected by the bug.

Heh, my fault, for some reason I thought this was a 2.6.24 bug, sorry :)

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-12 Thread Jean Delvare
On Tue, 12 Feb 2008 07:27:15 -0800, Greg KH wrote:
> On Tue, Feb 12, 2008 at 09:27:22AM +0100, Jean Delvare wrote:
> > Hi Yinghai,
> > 
> > On Mon, 11 Feb 2008 15:39:39 -0800, Yinghai Lu wrote:
> > > On Feb 10, 2008 10:01 AM, Jean Delvare <[EMAIL PROTECTED]> wrote:
> > > > Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
> > > > introduced two new sysfs file groups but forgot to NULL-terminate them.
> > > > Sorry about that, here's the fix:
> > > >
> > > > * * * * *
> > > >
> > > > The missing NULL at the end of two sysfs file groups causes a kernel
> > > > crash when calling sysfs_create_group().
> > > >
> > > > Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
> > > > ---
> > > >  drivers/hwmon/adm1026.c |2 ++
> > > >  1 file changed, 2 insertions(+)
> > > >
> > > > --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
> > > > 11:21:54.0 +0100
> > > > +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 
> > > > 18:51:00.0 +0100
> > > > @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
> > > > _attr_temp3_crit_enable.attr,
> > > > _attr_temp3_auto_point1_pwm.attr,
> > > > _attr_temp3_auto_point2_pwm.attr,
> > > > +   NULL
> > > >  };
> > > >
> > > >  static const struct attribute_group adm1026_group_temp3 = {
> > > > @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
> > > > _dev_attr_in9_max.dev_attr.attr,
> > > > _dev_attr_in9_min.dev_attr.attr,
> > > > _dev_attr_in9_alarm.dev_attr.attr,
> > > > +   NULL
> > > >  };
> > > >
> > > >  static const struct attribute_group adm1026_group_in8_9 = {
> > > >
> > > > * * * * *
> > > 
> > > it works. Thanks
> > 
> > Great, thanks. Mark, please include this patch in your next patch to
> > Linus for 2.6.25.
> 
> Can someone send it to [EMAIL PROTECTED] also when it goes into Linus's
> tree, as it looks like a pretty bad thing :)

I certainly could, but then you would laugh at me because 2.6.24 isn't
affected by the bug.

-- 
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-12 Thread Greg KH
On Tue, Feb 12, 2008 at 09:27:22AM +0100, Jean Delvare wrote:
> Hi Yinghai,
> 
> On Mon, 11 Feb 2008 15:39:39 -0800, Yinghai Lu wrote:
> > On Feb 10, 2008 10:01 AM, Jean Delvare <[EMAIL PROTECTED]> wrote:
> > > Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
> > > introduced two new sysfs file groups but forgot to NULL-terminate them.
> > > Sorry about that, here's the fix:
> > >
> > > * * * * *
> > >
> > > The missing NULL at the end of two sysfs file groups causes a kernel
> > > crash when calling sysfs_create_group().
> > >
> > > Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
> > > ---
> > >  drivers/hwmon/adm1026.c |2 ++
> > >  1 file changed, 2 insertions(+)
> > >
> > > --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
> > > 11:21:54.0 +0100
> > > +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 
> > > 18:51:00.0 +0100
> > > @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
> > > _attr_temp3_crit_enable.attr,
> > > _attr_temp3_auto_point1_pwm.attr,
> > > _attr_temp3_auto_point2_pwm.attr,
> > > +   NULL
> > >  };
> > >
> > >  static const struct attribute_group adm1026_group_temp3 = {
> > > @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
> > > _dev_attr_in9_max.dev_attr.attr,
> > > _dev_attr_in9_min.dev_attr.attr,
> > > _dev_attr_in9_alarm.dev_attr.attr,
> > > +   NULL
> > >  };
> > >
> > >  static const struct attribute_group adm1026_group_in8_9 = {
> > >
> > > * * * * *
> > 
> > it works. Thanks
> 
> Great, thanks. Mark, please include this patch in your next patch to
> Linus for 2.6.25.

Can someone send it to [EMAIL PROTECTED] also when it goes into Linus's
tree, as it looks like a pretty bad thing :)

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-12 Thread Jean Delvare
Hi Yinghai,

On Mon, 11 Feb 2008 15:39:39 -0800, Yinghai Lu wrote:
> On Feb 10, 2008 10:01 AM, Jean Delvare <[EMAIL PROTECTED]> wrote:
> > Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
> > introduced two new sysfs file groups but forgot to NULL-terminate them.
> > Sorry about that, here's the fix:
> >
> > * * * * *
> >
> > The missing NULL at the end of two sysfs file groups causes a kernel
> > crash when calling sysfs_create_group().
> >
> > Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
> > ---
> >  drivers/hwmon/adm1026.c |2 ++
> >  1 file changed, 2 insertions(+)
> >
> > --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
> > 11:21:54.0 +0100
> > +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 
> > 18:51:00.0 +0100
> > @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
> > _attr_temp3_crit_enable.attr,
> > _attr_temp3_auto_point1_pwm.attr,
> > _attr_temp3_auto_point2_pwm.attr,
> > +   NULL
> >  };
> >
> >  static const struct attribute_group adm1026_group_temp3 = {
> > @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
> > _dev_attr_in9_max.dev_attr.attr,
> > _dev_attr_in9_min.dev_attr.attr,
> > _dev_attr_in9_alarm.dev_attr.attr,
> > +   NULL
> >  };
> >
> >  static const struct attribute_group adm1026_group_in8_9 = {
> >
> > * * * * *
> 
> it works. Thanks

Great, thanks. Mark, please include this patch in your next patch to
Linus for 2.6.25.

> > Yinghai, the bug crept in because I do not have an ADM1026 chip to test
> > my changes. Could you please send a dump of your chip to me, so that I
> > can emulate it? This would avoid similar problems in the future.
> >
> > First you have to find out at which address the ADM1026 chip lives. The
> > first line of "sensors" should tell, otherwise you can run "i2cdetect
> > 1". The ADM1026 can live at 0x2c, 0x2d or 0x2e. Once you know the
> > address, run the following command to get the dump:
> >
> > rmmod adm1026
> > i2cdump 1 0x2d b
> 
> LBSuse:/x/kernel.org # ./i2cdetect 1
> WARNING! This program can confuse your I2C bus, cause data loss and worse!
> I will probe file /dev/i2c-1.
> I will probe address range 0x03-0x77.
> Continue? [Y/n] y
>  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
> 00:  -- -- -- -- -- 08 -- -- -- -- -- -- --
> 10: -- -- -- -- -- -- -- -- 18 19 -- -- 1c 1d -- --
> 20: -- -- -- -- -- -- -- -- -- -- -- -- UU UU -- --
> 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 40: 40 41 -- -- -- -- -- -- 48 49 4a -- -- -- -- --
> 50: UU UU UU UU UU UU -- -- -- -- -- -- -- -- -- --
> 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
> 70: -- -- -- -- -- -- -- --
> LBSuse:/x/kernel.org # ./i2cdump 1 0x2c b
> Error: Could not set address to 0x2c: Device or resource busy
> LBSuse:/x/kernel.org # ./i2cdump 1 0x2d b
> Error: Could not set address to 0x2d: Device or resource busy

You must unload the adm1026 driver before dumping (see the "rmmod
adm1026" above in my example.)

Thanks,
-- 
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-12 Thread Jean Delvare
Hi Yinghai,

On Mon, 11 Feb 2008 15:39:39 -0800, Yinghai Lu wrote:
 On Feb 10, 2008 10:01 AM, Jean Delvare [EMAIL PROTECTED] wrote:
  Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
  introduced two new sysfs file groups but forgot to NULL-terminate them.
  Sorry about that, here's the fix:
 
  * * * * *
 
  The missing NULL at the end of two sysfs file groups causes a kernel
  crash when calling sysfs_create_group().
 
  Signed-off-by: Jean Delvare [EMAIL PROTECTED]
  ---
   drivers/hwmon/adm1026.c |2 ++
   1 file changed, 2 insertions(+)
 
  --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
  11:21:54.0 +0100
  +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 
  18:51:00.0 +0100
  @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
  dev_attr_temp3_crit_enable.attr,
  dev_attr_temp3_auto_point1_pwm.attr,
  dev_attr_temp3_auto_point2_pwm.attr,
  +   NULL
   };
 
   static const struct attribute_group adm1026_group_temp3 = {
  @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
  sensor_dev_attr_in9_max.dev_attr.attr,
  sensor_dev_attr_in9_min.dev_attr.attr,
  sensor_dev_attr_in9_alarm.dev_attr.attr,
  +   NULL
   };
 
   static const struct attribute_group adm1026_group_in8_9 = {
 
  * * * * *
 
 it works. Thanks

Great, thanks. Mark, please include this patch in your next patch to
Linus for 2.6.25.

  Yinghai, the bug crept in because I do not have an ADM1026 chip to test
  my changes. Could you please send a dump of your chip to me, so that I
  can emulate it? This would avoid similar problems in the future.
 
  First you have to find out at which address the ADM1026 chip lives. The
  first line of sensors should tell, otherwise you can run i2cdetect
  1. The ADM1026 can live at 0x2c, 0x2d or 0x2e. Once you know the
  address, run the following command to get the dump:
 
  rmmod adm1026
  i2cdump 1 0x2d b
 
 LBSuse:/x/kernel.org # ./i2cdetect 1
 WARNING! This program can confuse your I2C bus, cause data loss and worse!
 I will probe file /dev/i2c-1.
 I will probe address range 0x03-0x77.
 Continue? [Y/n] y
  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
 00:  -- -- -- -- -- 08 -- -- -- -- -- -- --
 10: -- -- -- -- -- -- -- -- 18 19 -- -- 1c 1d -- --
 20: -- -- -- -- -- -- -- -- -- -- -- -- UU UU -- --
 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 40: 40 41 -- -- -- -- -- -- 48 49 4a -- -- -- -- --
 50: UU UU UU UU UU UU -- -- -- -- -- -- -- -- -- --
 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
 70: -- -- -- -- -- -- -- --
 LBSuse:/x/kernel.org # ./i2cdump 1 0x2c b
 Error: Could not set address to 0x2c: Device or resource busy
 LBSuse:/x/kernel.org # ./i2cdump 1 0x2d b
 Error: Could not set address to 0x2d: Device or resource busy

You must unload the adm1026 driver before dumping (see the rmmod
adm1026 above in my example.)

Thanks,
-- 
Jean Delvare
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-12 Thread Greg KH
On Tue, Feb 12, 2008 at 04:37:33PM +0100, Jean Delvare wrote:
 On Tue, 12 Feb 2008 07:27:15 -0800, Greg KH wrote:
  On Tue, Feb 12, 2008 at 09:27:22AM +0100, Jean Delvare wrote:
   Hi Yinghai,
   
   On Mon, 11 Feb 2008 15:39:39 -0800, Yinghai Lu wrote:
On Feb 10, 2008 10:01 AM, Jean Delvare [EMAIL PROTECTED] wrote:
 Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
 introduced two new sysfs file groups but forgot to NULL-terminate 
 them.
 Sorry about that, here's the fix:

 * * * * *

 The missing NULL at the end of two sysfs file groups causes a kernel
 crash when calling sysfs_create_group().

 Signed-off-by: Jean Delvare [EMAIL PROTECTED]
 ---
  drivers/hwmon/adm1026.c |2 ++
  1 file changed, 2 insertions(+)

 --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
 11:21:54.0 +0100
 +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 
 18:51:00.0 +0100
 @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
 dev_attr_temp3_crit_enable.attr,
 dev_attr_temp3_auto_point1_pwm.attr,
 dev_attr_temp3_auto_point2_pwm.attr,
 +   NULL
  };

  static const struct attribute_group adm1026_group_temp3 = {
 @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
 sensor_dev_attr_in9_max.dev_attr.attr,
 sensor_dev_attr_in9_min.dev_attr.attr,
 sensor_dev_attr_in9_alarm.dev_attr.attr,
 +   NULL
  };

  static const struct attribute_group adm1026_group_in8_9 = {

 * * * * *

it works. Thanks
   
   Great, thanks. Mark, please include this patch in your next patch to
   Linus for 2.6.25.
  
  Can someone send it to [EMAIL PROTECTED] also when it goes into Linus's
  tree, as it looks like a pretty bad thing :)
 
 I certainly could, but then you would laugh at me because 2.6.24 isn't
 affected by the bug.

Heh, my fault, for some reason I thought this was a 2.6.24 bug, sorry :)

greg k-h
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-12 Thread Jean Delvare
On Tue, 12 Feb 2008 07:27:15 -0800, Greg KH wrote:
 On Tue, Feb 12, 2008 at 09:27:22AM +0100, Jean Delvare wrote:
  Hi Yinghai,
  
  On Mon, 11 Feb 2008 15:39:39 -0800, Yinghai Lu wrote:
   On Feb 10, 2008 10:01 AM, Jean Delvare [EMAIL PROTECTED] wrote:
Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
introduced two new sysfs file groups but forgot to NULL-terminate them.
Sorry about that, here's the fix:
   
* * * * *
   
The missing NULL at the end of two sysfs file groups causes a kernel
crash when calling sysfs_create_group().
   
Signed-off-by: Jean Delvare [EMAIL PROTECTED]
---
 drivers/hwmon/adm1026.c |2 ++
 1 file changed, 2 insertions(+)
   
--- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
11:21:54.0 +0100
+++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 
18:51:00.0 +0100
@@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
dev_attr_temp3_crit_enable.attr,
dev_attr_temp3_auto_point1_pwm.attr,
dev_attr_temp3_auto_point2_pwm.attr,
+   NULL
 };
   
 static const struct attribute_group adm1026_group_temp3 = {
@@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
sensor_dev_attr_in9_max.dev_attr.attr,
sensor_dev_attr_in9_min.dev_attr.attr,
sensor_dev_attr_in9_alarm.dev_attr.attr,
+   NULL
 };
   
 static const struct attribute_group adm1026_group_in8_9 = {
   
* * * * *
   
   it works. Thanks
  
  Great, thanks. Mark, please include this patch in your next patch to
  Linus for 2.6.25.
 
 Can someone send it to [EMAIL PROTECTED] also when it goes into Linus's
 tree, as it looks like a pretty bad thing :)

I certainly could, but then you would laugh at me because 2.6.24 isn't
affected by the bug.

-- 
Jean Delvare
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-12 Thread Greg KH
On Tue, Feb 12, 2008 at 09:27:22AM +0100, Jean Delvare wrote:
 Hi Yinghai,
 
 On Mon, 11 Feb 2008 15:39:39 -0800, Yinghai Lu wrote:
  On Feb 10, 2008 10:01 AM, Jean Delvare [EMAIL PROTECTED] wrote:
   Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
   introduced two new sysfs file groups but forgot to NULL-terminate them.
   Sorry about that, here's the fix:
  
   * * * * *
  
   The missing NULL at the end of two sysfs file groups causes a kernel
   crash when calling sysfs_create_group().
  
   Signed-off-by: Jean Delvare [EMAIL PROTECTED]
   ---
drivers/hwmon/adm1026.c |2 ++
1 file changed, 2 insertions(+)
  
   --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
   11:21:54.0 +0100
   +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 
   18:51:00.0 +0100
   @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
   dev_attr_temp3_crit_enable.attr,
   dev_attr_temp3_auto_point1_pwm.attr,
   dev_attr_temp3_auto_point2_pwm.attr,
   +   NULL
};
  
static const struct attribute_group adm1026_group_temp3 = {
   @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
   sensor_dev_attr_in9_max.dev_attr.attr,
   sensor_dev_attr_in9_min.dev_attr.attr,
   sensor_dev_attr_in9_alarm.dev_attr.attr,
   +   NULL
};
  
static const struct attribute_group adm1026_group_in8_9 = {
  
   * * * * *
  
  it works. Thanks
 
 Great, thanks. Mark, please include this patch in your next patch to
 Linus for 2.6.25.

Can someone send it to [EMAIL PROTECTED] also when it goes into Linus's
tree, as it looks like a pretty bad thing :)

thanks,

greg k-h
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-11 Thread Yinghai Lu
On Feb 10, 2008 10:01 AM, Jean Delvare <[EMAIL PROTECTED]> wrote:
> On Sun, 10 Feb 2008 09:10:04 -0800, Greg KH wrote:
> > On Sat, Feb 09, 2008 at 11:55:43PM -0800, Yinghai Lu wrote:
> > > Calling initcall 0x80c4b575: sm_adm1026_init+0x0/0xe()
> > > i2c-adapter i2c-1: : Unrecognized stepping 0x45. Defaulting to ADM1026.
> > > general protection fault:  [1] SMP
> > > CPU 0
> > > Modules linked in:
> > > Pid: 1, comm: swapper Not tainted 2.6.24-smp-09379-g0cf975e-dirty #34
> > > RIP: 0010:[]  [] 
> > > sysfs_add_file+0x16/0x81
> > > RSP: :81040503dd50  EFLAGS: 00010286
> > > RAX:  RBX: fffe002e002d002c RCX: 48d9
> > > RDX: 0002 RSI: fffe002e002d002c RDI: 810202c4fb90
> > > RBP:  R08: 810202c4fb90 R09: 
> > > R10: 0002 R11: 0002 R12: fff4
> > > R13: 810202c4fb90 R14: 000c R15: 810202c4fb90
> > > FS:  () GS:80bde000() 
> > > knlGS:
> > > CS:  0010 DS: 0018 ES: 0018 CR0: 8005003b
> > > CR2: 7fff94de3470 CR3: 00201000 CR4: 06e0
> > > DR0:  DR1:  DR2: 
> > > DR3:  DR6: 0ff0 DR7: 0400
> > > Process swapper (pid: 1, threadinfo 81040503c000, task 
> > > 81020504)
> > > Stack:  810202c4fb90   
> > > 0001
> > >  810202c4e000 80b87850  810202c4e118
> > >  808e0cc0 802d933c 81040503dd55 810202c17878
> > > Call Trace:
> > >  [] sysfs_create_group+0xa2/0x106
> > >  [] adm1026_detect+0x4b3/0x522
> > >  [] adm1026_detect+0x0/0x522
> > >  [] i2c_probe_address+0xb9/0xfc
> > >  [] i2c_probe+0x162/0x175
> > >  [] adm1026_detect+0x0/0x522
> > >  [] i2c_register_driver+0x9a/0xea
> > >  [] kernel_init+0x15d/0x2c9
> > >  [] child_rip+0xa/0x12
> > >  [] kernel_init+0x0/0x2c9
> > >  [] child_rip+0x0/0x12
> > >
> > >
> > > Code: c0 84 c0 74 0c 41 58 48 89 df 5b 5d e9 2a 07 00 00 5e 5b 5d c3
> > > 41 55 49 89 fd 41 54 41 bc f4 ff ff ff 55 53 48 89 f3 48 83 ec 28 <8b>
> > > 76 10 48 8b 3b 66 81 e6 ff 0f 66 81 ce 00 80 0f b7 f6 e8 fd
> > > RIP  [] sysfs_add_file+0x16/0x81
> > >  RSP 
> > > ---[ end trace b23a825db37d3043 ]---
> >
> > Perhaps the adm1026 driver is not calling sysfs_create_group properly?
> >
> > Jean, any ideas?
>
> Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
> introduced two new sysfs file groups but forgot to NULL-terminate them.
> Sorry about that, here's the fix:
>
> * * * * *
>
> The missing NULL at the end of two sysfs file groups causes a kernel
> crash when calling sysfs_create_group().
>
> Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
> ---
>  drivers/hwmon/adm1026.c |2 ++
>  1 file changed, 2 insertions(+)
>
> --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
> 11:21:54.0 +0100
> +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 18:51:00.0 
> +0100
> @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
> _attr_temp3_crit_enable.attr,
> _attr_temp3_auto_point1_pwm.attr,
> _attr_temp3_auto_point2_pwm.attr,
> +   NULL
>  };
>
>  static const struct attribute_group adm1026_group_temp3 = {
> @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
> _dev_attr_in9_max.dev_attr.attr,
> _dev_attr_in9_min.dev_attr.attr,
> _dev_attr_in9_alarm.dev_attr.attr,
> +   NULL
>  };
>
>  static const struct attribute_group adm1026_group_in8_9 = {
>
> * * * * *

it works. Thanks

>
> Yinghai, the bug crept in because I do not have an ADM1026 chip to test
> my changes. Could you please send a dump of your chip to me, so that I
> can emulate it? This would avoid similar problems in the future.
>
> First you have to find out at which address the ADM1026 chip lives. The
> first line of "sensors" should tell, otherwise you can run "i2cdetect
> 1". The ADM1026 can live at 0x2c, 0x2d or 0x2e. Once you know the
> address, run the following command to get the dump:
>
> rmmod adm1026
> i2cdump 1 0x2d b

LBSuse:/x/kernel.org # ./i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:  -- -- -- -- -- 08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- 18 19 -- -- 1c 1d -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- UU UU -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 41 -- -- -- -- -- -- 48 49 4a -- -- -- -- --
50: UU UU UU UU UU UU -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
LBSuse:/x/kernel.org # ./i2cdump 1 0x2c b
Error: Could not set address to 0x2c: Device or resource busy
LBSuse:/x/kernel.org # ./i2cdump 

Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-11 Thread Yinghai Lu
On Feb 10, 2008 10:01 AM, Jean Delvare [EMAIL PROTECTED] wrote:
 On Sun, 10 Feb 2008 09:10:04 -0800, Greg KH wrote:
  On Sat, Feb 09, 2008 at 11:55:43PM -0800, Yinghai Lu wrote:
   Calling initcall 0x80c4b575: sm_adm1026_init+0x0/0xe()
   i2c-adapter i2c-1: : Unrecognized stepping 0x45. Defaulting to ADM1026.
   general protection fault:  [1] SMP
   CPU 0
   Modules linked in:
   Pid: 1, comm: swapper Not tainted 2.6.24-smp-09379-g0cf975e-dirty #34
   RIP: 0010:[802d79ad]  [802d79ad] 
   sysfs_add_file+0x16/0x81
   RSP: :81040503dd50  EFLAGS: 00010286
   RAX:  RBX: fffe002e002d002c RCX: 48d9
   RDX: 0002 RSI: fffe002e002d002c RDI: 810202c4fb90
   RBP:  R08: 810202c4fb90 R09: 
   R10: 0002 R11: 0002 R12: fff4
   R13: 810202c4fb90 R14: 000c R15: 810202c4fb90
   FS:  () GS:80bde000() 
   knlGS:
   CS:  0010 DS: 0018 ES: 0018 CR0: 8005003b
   CR2: 7fff94de3470 CR3: 00201000 CR4: 06e0
   DR0:  DR1:  DR2: 
   DR3:  DR6: 0ff0 DR7: 0400
   Process swapper (pid: 1, threadinfo 81040503c000, task 
   81020504)
   Stack:  810202c4fb90   
   0001
810202c4e000 80b87850  810202c4e118
808e0cc0 802d933c 81040503dd55 810202c17878
   Call Trace:
[802d933c] sysfs_create_group+0xa2/0x106
[8069fbc2] adm1026_detect+0x4b3/0x522
[8069f70f] adm1026_detect+0x0/0x522
[80698bff] i2c_probe_address+0xb9/0xfc
[806997db] i2c_probe+0x162/0x175
[8069f70f] adm1026_detect+0x0/0x522
[8069910f] i2c_register_driver+0x9a/0xea
[80c276d2] kernel_init+0x15d/0x2c9
[8021fc68] child_rip+0xa/0x12
[80c27575] kernel_init+0x0/0x2c9
[8021fc5e] child_rip+0x0/0x12
  
  
   Code: c0 84 c0 74 0c 41 58 48 89 df 5b 5d e9 2a 07 00 00 5e 5b 5d c3
   41 55 49 89 fd 41 54 41 bc f4 ff ff ff 55 53 48 89 f3 48 83 ec 28 8b
   76 10 48 8b 3b 66 81 e6 ff 0f 66 81 ce 00 80 0f b7 f6 e8 fd
   RIP  [802d79ad] sysfs_add_file+0x16/0x81
RSP 81040503dd50
   ---[ end trace b23a825db37d3043 ]---
 
  Perhaps the adm1026 driver is not calling sysfs_create_group properly?
 
  Jean, any ideas?

 Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
 introduced two new sysfs file groups but forgot to NULL-terminate them.
 Sorry about that, here's the fix:

 * * * * *

 The missing NULL at the end of two sysfs file groups causes a kernel
 crash when calling sysfs_create_group().

 Signed-off-by: Jean Delvare [EMAIL PROTECTED]
 ---
  drivers/hwmon/adm1026.c |2 ++
  1 file changed, 2 insertions(+)

 --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
 11:21:54.0 +0100
 +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 18:51:00.0 
 +0100
 @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
 dev_attr_temp3_crit_enable.attr,
 dev_attr_temp3_auto_point1_pwm.attr,
 dev_attr_temp3_auto_point2_pwm.attr,
 +   NULL
  };

  static const struct attribute_group adm1026_group_temp3 = {
 @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
 sensor_dev_attr_in9_max.dev_attr.attr,
 sensor_dev_attr_in9_min.dev_attr.attr,
 sensor_dev_attr_in9_alarm.dev_attr.attr,
 +   NULL
  };

  static const struct attribute_group adm1026_group_in8_9 = {

 * * * * *

it works. Thanks


 Yinghai, the bug crept in because I do not have an ADM1026 chip to test
 my changes. Could you please send a dump of your chip to me, so that I
 can emulate it? This would avoid similar problems in the future.

 First you have to find out at which address the ADM1026 chip lives. The
 first line of sensors should tell, otherwise you can run i2cdetect
 1. The ADM1026 can live at 0x2c, 0x2d or 0x2e. Once you know the
 address, run the following command to get the dump:

 rmmod adm1026
 i2cdump 1 0x2d b

LBSuse:/x/kernel.org # ./i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:  -- -- -- -- -- 08 -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- 18 19 -- -- 1c 1d -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- UU UU -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 41 -- -- -- -- -- -- 48 49 4a -- -- -- -- --
50: UU UU UU UU UU UU -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
LBSuse:/x/kernel.org # ./i2cdump 1 0x2c b
Error: Could not set address to 

Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-10 Thread Yinghai Lu
On Feb 10, 2008 10:01 AM, Jean Delvare <[EMAIL PROTECTED]> wrote:
> On Sun, 10 Feb 2008 09:10:04 -0800, Greg KH wrote:
> > On Sat, Feb 09, 2008 at 11:55:43PM -0800, Yinghai Lu wrote:
> > > Calling initcall 0x80c4b575: sm_adm1026_init+0x0/0xe()
> > > i2c-adapter i2c-1: : Unrecognized stepping 0x45. Defaulting to ADM1026.
> > > general protection fault:  [1] SMP
> > > CPU 0
> > > Modules linked in:
> > > Pid: 1, comm: swapper Not tainted 2.6.24-smp-09379-g0cf975e-dirty #34
> > > RIP: 0010:[]  [] 
> > > sysfs_add_file+0x16/0x81
> > > RSP: :81040503dd50  EFLAGS: 00010286
> > > RAX:  RBX: fffe002e002d002c RCX: 48d9
> > > RDX: 0002 RSI: fffe002e002d002c RDI: 810202c4fb90
> > > RBP:  R08: 810202c4fb90 R09: 
> > > R10: 0002 R11: 0002 R12: fff4
> > > R13: 810202c4fb90 R14: 000c R15: 810202c4fb90
> > > FS:  () GS:80bde000() 
> > > knlGS:
> > > CS:  0010 DS: 0018 ES: 0018 CR0: 8005003b
> > > CR2: 7fff94de3470 CR3: 00201000 CR4: 06e0
> > > DR0:  DR1:  DR2: 
> > > DR3:  DR6: 0ff0 DR7: 0400
> > > Process swapper (pid: 1, threadinfo 81040503c000, task 
> > > 81020504)
> > > Stack:  810202c4fb90   
> > > 0001
> > >  810202c4e000 80b87850  810202c4e118
> > >  808e0cc0 802d933c 81040503dd55 810202c17878
> > > Call Trace:
> > >  [] sysfs_create_group+0xa2/0x106
> > >  [] adm1026_detect+0x4b3/0x522
> > >  [] adm1026_detect+0x0/0x522
> > >  [] i2c_probe_address+0xb9/0xfc
> > >  [] i2c_probe+0x162/0x175
> > >  [] adm1026_detect+0x0/0x522
> > >  [] i2c_register_driver+0x9a/0xea
> > >  [] kernel_init+0x15d/0x2c9
> > >  [] child_rip+0xa/0x12
> > >  [] kernel_init+0x0/0x2c9
> > >  [] child_rip+0x0/0x12
> > >
> > >
> > > Code: c0 84 c0 74 0c 41 58 48 89 df 5b 5d e9 2a 07 00 00 5e 5b 5d c3
> > > 41 55 49 89 fd 41 54 41 bc f4 ff ff ff 55 53 48 89 f3 48 83 ec 28 <8b>
> > > 76 10 48 8b 3b 66 81 e6 ff 0f 66 81 ce 00 80 0f b7 f6 e8 fd
> > > RIP  [] sysfs_add_file+0x16/0x81
> > >  RSP 
> > > ---[ end trace b23a825db37d3043 ]---
> >
> > Perhaps the adm1026 driver is not calling sysfs_create_group properly?
> >
> > Jean, any ideas?
>
> Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
> introduced two new sysfs file groups but forgot to NULL-terminate them.
> Sorry about that, here's the fix:
>
> * * * * *
>
> The missing NULL at the end of two sysfs file groups causes a kernel
> crash when calling sysfs_create_group().
>
> Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
> ---
>  drivers/hwmon/adm1026.c |2 ++
>  1 file changed, 2 insertions(+)
>
> --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
> 11:21:54.0 +0100
> +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 18:51:00.0 
> +0100
> @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
> _attr_temp3_crit_enable.attr,
> _attr_temp3_auto_point1_pwm.attr,
> _attr_temp3_auto_point2_pwm.attr,
> +   NULL
>  };
>
>  static const struct attribute_group adm1026_group_temp3 = {
> @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
> _dev_attr_in9_max.dev_attr.attr,
> _dev_attr_in9_min.dev_attr.attr,
> _dev_attr_in9_alarm.dev_attr.attr,
> +   NULL
>  };
>
>  static const struct attribute_group adm1026_group_in8_9 = {
>
> * * * * *
>
> Yinghai, the bug crept in because I do not have an ADM1026 chip to test
> my changes. Could you please send a dump of your chip to me, so that I
> can emulate it? This would avoid similar problems in the future.
>
> First you have to find out at which address the ADM1026 chip lives. The
> first line of "sensors" should tell, otherwise you can run "i2cdetect
> 1". The ADM1026 can live at 0x2c, 0x2d or 0x2e. Once you know the
> address, run the following command to get the dump:
>
> rmmod adm1026
> i2cdump 1 0x2d b
>
> (Replace 0x2d with the actual address.)

good, I will try it Monday.

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] hwmon: (adm1026) Properly terminate sysfs groups (Was: panic about sysfs with adm1026)

2008-02-10 Thread Yinghai Lu
On Feb 10, 2008 10:01 AM, Jean Delvare [EMAIL PROTECTED] wrote:
 On Sun, 10 Feb 2008 09:10:04 -0800, Greg KH wrote:
  On Sat, Feb 09, 2008 at 11:55:43PM -0800, Yinghai Lu wrote:
   Calling initcall 0x80c4b575: sm_adm1026_init+0x0/0xe()
   i2c-adapter i2c-1: : Unrecognized stepping 0x45. Defaulting to ADM1026.
   general protection fault:  [1] SMP
   CPU 0
   Modules linked in:
   Pid: 1, comm: swapper Not tainted 2.6.24-smp-09379-g0cf975e-dirty #34
   RIP: 0010:[802d79ad]  [802d79ad] 
   sysfs_add_file+0x16/0x81
   RSP: :81040503dd50  EFLAGS: 00010286
   RAX:  RBX: fffe002e002d002c RCX: 48d9
   RDX: 0002 RSI: fffe002e002d002c RDI: 810202c4fb90
   RBP:  R08: 810202c4fb90 R09: 
   R10: 0002 R11: 0002 R12: fff4
   R13: 810202c4fb90 R14: 000c R15: 810202c4fb90
   FS:  () GS:80bde000() 
   knlGS:
   CS:  0010 DS: 0018 ES: 0018 CR0: 8005003b
   CR2: 7fff94de3470 CR3: 00201000 CR4: 06e0
   DR0:  DR1:  DR2: 
   DR3:  DR6: 0ff0 DR7: 0400
   Process swapper (pid: 1, threadinfo 81040503c000, task 
   81020504)
   Stack:  810202c4fb90   
   0001
810202c4e000 80b87850  810202c4e118
808e0cc0 802d933c 81040503dd55 810202c17878
   Call Trace:
[802d933c] sysfs_create_group+0xa2/0x106
[8069fbc2] adm1026_detect+0x4b3/0x522
[8069f70f] adm1026_detect+0x0/0x522
[80698bff] i2c_probe_address+0xb9/0xfc
[806997db] i2c_probe+0x162/0x175
[8069f70f] adm1026_detect+0x0/0x522
[8069910f] i2c_register_driver+0x9a/0xea
[80c276d2] kernel_init+0x15d/0x2c9
[8021fc68] child_rip+0xa/0x12
[80c27575] kernel_init+0x0/0x2c9
[8021fc5e] child_rip+0x0/0x12
  
  
   Code: c0 84 c0 74 0c 41 58 48 89 df 5b 5d e9 2a 07 00 00 5e 5b 5d c3
   41 55 49 89 fd 41 54 41 bc f4 ff ff ff 55 53 48 89 f3 48 83 ec 28 8b
   76 10 48 8b 3b 66 81 e6 ff 0f 66 81 ce 00 80 0f b7 f6 e8 fd
   RIP  [802d79ad] sysfs_add_file+0x16/0x81
RSP 81040503dd50
   ---[ end trace b23a825db37d3043 ]---
 
  Perhaps the adm1026 driver is not calling sysfs_create_group properly?
 
  Jean, any ideas?

 Yeah, I am an idiot. In 5b34dbcd88251508d02e48ad9b0f9b8232a13ee0 I
 introduced two new sysfs file groups but forgot to NULL-terminate them.
 Sorry about that, here's the fix:

 * * * * *

 The missing NULL at the end of two sysfs file groups causes a kernel
 crash when calling sysfs_create_group().

 Signed-off-by: Jean Delvare [EMAIL PROTECTED]
 ---
  drivers/hwmon/adm1026.c |2 ++
  1 file changed, 2 insertions(+)

 --- linux-2.6.25-rc0.orig/drivers/hwmon/adm1026.c   2008-02-10 
 11:21:54.0 +0100
 +++ linux-2.6.25-rc0/drivers/hwmon/adm1026.c2008-02-10 18:51:00.0 
 +0100
 @@ -1624,6 +1624,7 @@ static struct attribute *adm1026_attribu
 dev_attr_temp3_crit_enable.attr,
 dev_attr_temp3_auto_point1_pwm.attr,
 dev_attr_temp3_auto_point2_pwm.attr,
 +   NULL
  };

  static const struct attribute_group adm1026_group_temp3 = {
 @@ -1639,6 +1640,7 @@ static struct attribute *adm1026_attribu
 sensor_dev_attr_in9_max.dev_attr.attr,
 sensor_dev_attr_in9_min.dev_attr.attr,
 sensor_dev_attr_in9_alarm.dev_attr.attr,
 +   NULL
  };

  static const struct attribute_group adm1026_group_in8_9 = {

 * * * * *

 Yinghai, the bug crept in because I do not have an ADM1026 chip to test
 my changes. Could you please send a dump of your chip to me, so that I
 can emulate it? This would avoid similar problems in the future.

 First you have to find out at which address the ADM1026 chip lives. The
 first line of sensors should tell, otherwise you can run i2cdetect
 1. The ADM1026 can live at 0x2c, 0x2d or 0x2e. Once you know the
 address, run the following command to get the dump:

 rmmod adm1026
 i2cdump 1 0x2d b

 (Replace 0x2d with the actual address.)

good, I will try it Monday.

YH
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/