Re: [stable] Re: [01/11] fix amd64 2.6.11 oops on modprobe (saa7110)

2005-03-11 Thread Chris Wright
* Jean Delvare ([EMAIL PROTECTED]) wrote:
> Hi Greg, all,
> 
> > > Not that I really care, but isn't there a rule that a patch "... can
> > > not contain any "trivial" fixes in it (spelling changes, whitespace
> > > cleanups, etc.)"?
> > 
> > Good point.  Jean, care to respin the patch?
> 
> Sure, sorry for the trouble.

Thanks, updated patch.
-chris
-- 
Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net
-
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: [01/11] fix amd64 2.6.11 oops on modprobe (saa7110)

2005-03-11 Thread Jean Delvare
Hi Greg, all,

> > Not that I really care, but isn't there a rule that a patch "... can
> > not contain any "trivial" fixes in it (spelling changes, whitespace
> > cleanups, etc.)"?
> 
> Good point.  Jean, care to respin the patch?

Sure, sorry for the trouble.

---

This is a rewrite of the saa7110_write_block function, which was
plain broken in the case where the underlying adapter supports
I2C_FUNC_I2C. It also includes related fixes which ensure that
different parts of the driver agree on the number of registers the
chip has.

Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
Signed-off-by: Chris Wright <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>

--- linux-2.6.11/drivers/media/video/saa7110.c.orig 2005-03-03 
08:01:14.0 +0100
+++ linux-2.6.11/drivers/media/video/saa7110.c  2005-03-11 10:06:09.0 
+0100
@@ -60,8 +60,10 @@
 
 #defineI2C_SAA7110 0x9C/* or 0x9E */
 
+#define SAA7110_NR_REG 0x35
+
 struct saa7110 {
-   unsigned char reg[54];
+   u8 reg[SAA7110_NR_REG];
 
int norm;
int input;
@@ -95,31 +97,28 @@
 unsigned int   len)
 {
int ret = -1;
-   u8 reg = *data++;
+   u8 reg = *data; /* first register to write to */
 
-   len--;
+   /* Sanity check */
+   if (reg + (len - 1) > SAA7110_NR_REG)
+   return ret;
 
/* the saa7110 has an autoincrement function, use it if
 * the adapter understands raw I2C */
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
struct saa7110 *decoder = i2c_get_clientdata(client);
struct i2c_msg msg;
-   u8 block_data[54];
 
-   msg.len = 0;
-   msg.buf = (char *) block_data;
+   msg.len = len;
+   msg.buf = (char *) data;
msg.addr = client->addr;
-   msg.flags = client->flags;
-   while (len >= 1) {
-   msg.len = 0;
-   block_data[msg.len++] = reg;
-   while (len-- >= 1 && msg.len < 54)
-   block_data[msg.len++] =
-   decoder->reg[reg++] = *data++;
-   ret = i2c_transfer(client->adapter, , 1);
-   }
+   msg.flags = 0;
+   ret = i2c_transfer(client->adapter, , 1);
+
+   /* Cache the written data */
+   memcpy(decoder->reg + reg, data + 1, len - 1);
} else {
-   while (len-- >= 1) {
+   for (++data, --len; len; len--) {
if ((ret = saa7110_write(client, reg++,
 *data++)) < 0)
break;
@@ -192,7 +191,7 @@
return 0;
 }
 
-static const unsigned char initseq[] = {
+static const unsigned char initseq[1 + SAA7110_NR_REG] = {
0, 0x4C, 0x3C, 0x0D, 0xEF, 0xBD, 0xF2, 0x03, 0x00,
/* 0x08 */ 0xF8, 0xF8, 0x60, 0x60, 0x00, 0x86, 0x18, 0x90,
/* 0x10 */ 0x00, 0x59, 0x40, 0x46, 0x42, 0x1A, 0xFF, 0xDA,


-- 
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: [01/11] fix amd64 2.6.11 oops on modprobe (saa7110)

2005-03-11 Thread Jean Delvare
Hi Greg, all,

  Not that I really care, but isn't there a rule that a patch ... can
  not contain any trivial fixes in it (spelling changes, whitespace
  cleanups, etc.)?
 
 Good point.  Jean, care to respin the patch?

Sure, sorry for the trouble.

---

This is a rewrite of the saa7110_write_block function, which was
plain broken in the case where the underlying adapter supports
I2C_FUNC_I2C. It also includes related fixes which ensure that
different parts of the driver agree on the number of registers the
chip has.

Signed-off-by: Jean Delvare [EMAIL PROTECTED]
Signed-off-by: Chris Wright [EMAIL PROTECTED]
Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED]

--- linux-2.6.11/drivers/media/video/saa7110.c.orig 2005-03-03 
08:01:14.0 +0100
+++ linux-2.6.11/drivers/media/video/saa7110.c  2005-03-11 10:06:09.0 
+0100
@@ -60,8 +60,10 @@
 
 #defineI2C_SAA7110 0x9C/* or 0x9E */
 
+#define SAA7110_NR_REG 0x35
+
 struct saa7110 {
-   unsigned char reg[54];
+   u8 reg[SAA7110_NR_REG];
 
int norm;
int input;
@@ -95,31 +97,28 @@
 unsigned int   len)
 {
int ret = -1;
-   u8 reg = *data++;
+   u8 reg = *data; /* first register to write to */
 
-   len--;
+   /* Sanity check */
+   if (reg + (len - 1)  SAA7110_NR_REG)
+   return ret;
 
/* the saa7110 has an autoincrement function, use it if
 * the adapter understands raw I2C */
if (i2c_check_functionality(client-adapter, I2C_FUNC_I2C)) {
struct saa7110 *decoder = i2c_get_clientdata(client);
struct i2c_msg msg;
-   u8 block_data[54];
 
-   msg.len = 0;
-   msg.buf = (char *) block_data;
+   msg.len = len;
+   msg.buf = (char *) data;
msg.addr = client-addr;
-   msg.flags = client-flags;
-   while (len = 1) {
-   msg.len = 0;
-   block_data[msg.len++] = reg;
-   while (len-- = 1  msg.len  54)
-   block_data[msg.len++] =
-   decoder-reg[reg++] = *data++;
-   ret = i2c_transfer(client-adapter, msg, 1);
-   }
+   msg.flags = 0;
+   ret = i2c_transfer(client-adapter, msg, 1);
+
+   /* Cache the written data */
+   memcpy(decoder-reg + reg, data + 1, len - 1);
} else {
-   while (len-- = 1) {
+   for (++data, --len; len; len--) {
if ((ret = saa7110_write(client, reg++,
 *data++))  0)
break;
@@ -192,7 +191,7 @@
return 0;
 }
 
-static const unsigned char initseq[] = {
+static const unsigned char initseq[1 + SAA7110_NR_REG] = {
0, 0x4C, 0x3C, 0x0D, 0xEF, 0xBD, 0xF2, 0x03, 0x00,
/* 0x08 */ 0xF8, 0xF8, 0x60, 0x60, 0x00, 0x86, 0x18, 0x90,
/* 0x10 */ 0x00, 0x59, 0x40, 0x46, 0x42, 0x1A, 0xFF, 0xDA,


-- 
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: [stable] Re: [01/11] fix amd64 2.6.11 oops on modprobe (saa7110)

2005-03-11 Thread Chris Wright
* Jean Delvare ([EMAIL PROTECTED]) wrote:
 Hi Greg, all,
 
   Not that I really care, but isn't there a rule that a patch ... can
   not contain any trivial fixes in it (spelling changes, whitespace
   cleanups, etc.)?
  
  Good point.  Jean, care to respin the patch?
 
 Sure, sorry for the trouble.

Thanks, updated patch.
-chris
-- 
Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net
-
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: [01/11] fix amd64 2.6.11 oops on modprobe (saa7110)

2005-03-10 Thread Greg KH
On Thu, Mar 10, 2005 at 07:37:40PM -0600, Josh Boyer wrote:
> On Thu, 2005-03-10 at 15:07 -0800, Greg KH wrote:
> > -stable review patch.  If anyone has any objections, please let us know.
> > 
> > --
> > 
> > This is a rewrite of the saa7110_write_block function, which was plain
> > broken in the case where the underlying adapter supports I2C_FUNC_I2C.
> > It also includes related fixes which ensure that different parts of the
> > driver agree on the number of registers the chip has.
> > 
> > Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
> > Signed-off-by: Chris Wright <[EMAIL PROTECTED]>
> > Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
> > 
> > --- linux-2.6.11-bk3/drivers/media/video/saa7110.c.orig Tue Mar  8 
> > 10:27:15 2005
> > +++ linux-2.6.11-bk3/drivers/media/video/saa7110.c  Tue Mar  8 12:02:45 2005
> > @@ -58,10 +58,12 @@
> >  #define SAA7110_MAX_INPUT  9   /* 6 CVBS, 3 SVHS */
> >  #define SAA7110_MAX_OUTPUT 0   /* its a decoder only */
> >  
> > -#defineI2C_SAA7110 0x9C/* or 0x9E */
> > +#define I2C_SAA71100x9C/* or 0x9E */
> 
> Not that I really care, but isn't there a rule that a patch "... can not
> contain any "trivial" fixes in it (spelling changes, whitespace
> cleanups, etc.)"?

Good point.  Jean, care to respin the patch?

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: [01/11] fix amd64 2.6.11 oops on modprobe (saa7110)

2005-03-10 Thread Josh Boyer
On Thu, 2005-03-10 at 15:07 -0800, Greg KH wrote:
> -stable review patch.  If anyone has any objections, please let us know.
> 
> --
> 
> This is a rewrite of the saa7110_write_block function, which was plain
> broken in the case where the underlying adapter supports I2C_FUNC_I2C.
> It also includes related fixes which ensure that different parts of the
> driver agree on the number of registers the chip has.
> 
> Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
> Signed-off-by: Chris Wright <[EMAIL PROTECTED]>
> Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
> 
> --- linux-2.6.11-bk3/drivers/media/video/saa7110.c.orig   Tue Mar  8 
> 10:27:15 2005
> +++ linux-2.6.11-bk3/drivers/media/video/saa7110.cTue Mar  8 12:02:45 2005
> @@ -58,10 +58,12 @@
>  #define SAA7110_MAX_INPUT9   /* 6 CVBS, 3 SVHS */
>  #define SAA7110_MAX_OUTPUT   0   /* its a decoder only */
>  
> -#define  I2C_SAA7110 0x9C/* or 0x9E */
> +#define I2C_SAA7110  0x9C/* or 0x9E */

Not that I really care, but isn't there a rule that a patch "... can not
contain any "trivial" fixes in it (spelling changes, whitespace
cleanups, etc.)"?

josh


-
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/


[01/11] fix amd64 2.6.11 oops on modprobe (saa7110)

2005-03-10 Thread Greg KH

-stable review patch.  If anyone has any objections, please let us know.

--

This is a rewrite of the saa7110_write_block function, which was plain
broken in the case where the underlying adapter supports I2C_FUNC_I2C.
It also includes related fixes which ensure that different parts of the
driver agree on the number of registers the chip has.

Signed-off-by: Jean Delvare <[EMAIL PROTECTED]>
Signed-off-by: Chris Wright <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>

--- linux-2.6.11-bk3/drivers/media/video/saa7110.c.orig Tue Mar  8 10:27:15 2005
+++ linux-2.6.11-bk3/drivers/media/video/saa7110.c  Tue Mar  8 12:02:45 2005
@@ -58,10 +58,12 @@
 #define SAA7110_MAX_INPUT  9   /* 6 CVBS, 3 SVHS */
 #define SAA7110_MAX_OUTPUT 0   /* its a decoder only */
 
-#defineI2C_SAA7110 0x9C/* or 0x9E */
+#define I2C_SAA71100x9C/* or 0x9E */
+
+#define SAA7110_NR_REG 0x35
 
 struct saa7110 {
-   unsigned char reg[54];
+   u8 reg[SAA7110_NR_REG];
 
int norm;
int input;
@@ -95,31 +97,28 @@
 unsigned int   len)
 {
int ret = -1;
-   u8 reg = *data++;
+   u8 reg = *data; /* first register to write to */
 
-   len--;
+   /* Sanity check */
+   if (reg + (len - 1) > SAA7110_NR_REG)
+   return ret;
 
/* the saa7110 has an autoincrement function, use it if
 * the adapter understands raw I2C */
if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) {
struct saa7110 *decoder = i2c_get_clientdata(client);
struct i2c_msg msg;
-   u8 block_data[54];
 
-   msg.len = 0;
-   msg.buf = (char *) block_data;
+   msg.len = len;
+   msg.buf = (char *) data;
msg.addr = client->addr;
-   msg.flags = client->flags;
-   while (len >= 1) {
-   msg.len = 0;
-   block_data[msg.len++] = reg;
-   while (len-- >= 1 && msg.len < 54)
-   block_data[msg.len++] =
-   decoder->reg[reg++] = *data++;
-   ret = i2c_transfer(client->adapter, , 1);
-   }
+   msg.flags = 0;
+   ret = i2c_transfer(client->adapter, , 1);
+
+   /* Cache the written data */
+   memcpy(decoder->reg + reg, data + 1, len - 1);
} else {
-   while (len-- >= 1) {
+   for (++data, --len; len; len--) {
if ((ret = saa7110_write(client, reg++,
 *data++)) < 0)
break;
@@ -192,7 +191,7 @@
return 0;
 }
 
-static const unsigned char initseq[] = {
+static const unsigned char initseq[1 + SAA7110_NR_REG] = {
0, 0x4C, 0x3C, 0x0D, 0xEF, 0xBD, 0xF2, 0x03, 0x00,
/* 0x08 */ 0xF8, 0xF8, 0x60, 0x60, 0x00, 0x86, 0x18, 0x90,
/* 0x10 */ 0x00, 0x59, 0x40, 0x46, 0x42, 0x1A, 0xFF, 0xDA,
-
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/


[01/11] fix amd64 2.6.11 oops on modprobe (saa7110)

2005-03-10 Thread Greg KH

-stable review patch.  If anyone has any objections, please let us know.

--

This is a rewrite of the saa7110_write_block function, which was plain
broken in the case where the underlying adapter supports I2C_FUNC_I2C.
It also includes related fixes which ensure that different parts of the
driver agree on the number of registers the chip has.

Signed-off-by: Jean Delvare [EMAIL PROTECTED]
Signed-off-by: Chris Wright [EMAIL PROTECTED]
Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED]

--- linux-2.6.11-bk3/drivers/media/video/saa7110.c.orig Tue Mar  8 10:27:15 2005
+++ linux-2.6.11-bk3/drivers/media/video/saa7110.c  Tue Mar  8 12:02:45 2005
@@ -58,10 +58,12 @@
 #define SAA7110_MAX_INPUT  9   /* 6 CVBS, 3 SVHS */
 #define SAA7110_MAX_OUTPUT 0   /* its a decoder only */
 
-#defineI2C_SAA7110 0x9C/* or 0x9E */
+#define I2C_SAA71100x9C/* or 0x9E */
+
+#define SAA7110_NR_REG 0x35
 
 struct saa7110 {
-   unsigned char reg[54];
+   u8 reg[SAA7110_NR_REG];
 
int norm;
int input;
@@ -95,31 +97,28 @@
 unsigned int   len)
 {
int ret = -1;
-   u8 reg = *data++;
+   u8 reg = *data; /* first register to write to */
 
-   len--;
+   /* Sanity check */
+   if (reg + (len - 1)  SAA7110_NR_REG)
+   return ret;
 
/* the saa7110 has an autoincrement function, use it if
 * the adapter understands raw I2C */
if (i2c_check_functionality(client-adapter, I2C_FUNC_I2C)) {
struct saa7110 *decoder = i2c_get_clientdata(client);
struct i2c_msg msg;
-   u8 block_data[54];
 
-   msg.len = 0;
-   msg.buf = (char *) block_data;
+   msg.len = len;
+   msg.buf = (char *) data;
msg.addr = client-addr;
-   msg.flags = client-flags;
-   while (len = 1) {
-   msg.len = 0;
-   block_data[msg.len++] = reg;
-   while (len-- = 1  msg.len  54)
-   block_data[msg.len++] =
-   decoder-reg[reg++] = *data++;
-   ret = i2c_transfer(client-adapter, msg, 1);
-   }
+   msg.flags = 0;
+   ret = i2c_transfer(client-adapter, msg, 1);
+
+   /* Cache the written data */
+   memcpy(decoder-reg + reg, data + 1, len - 1);
} else {
-   while (len-- = 1) {
+   for (++data, --len; len; len--) {
if ((ret = saa7110_write(client, reg++,
 *data++))  0)
break;
@@ -192,7 +191,7 @@
return 0;
 }
 
-static const unsigned char initseq[] = {
+static const unsigned char initseq[1 + SAA7110_NR_REG] = {
0, 0x4C, 0x3C, 0x0D, 0xEF, 0xBD, 0xF2, 0x03, 0x00,
/* 0x08 */ 0xF8, 0xF8, 0x60, 0x60, 0x00, 0x86, 0x18, 0x90,
/* 0x10 */ 0x00, 0x59, 0x40, 0x46, 0x42, 0x1A, 0xFF, 0xDA,
-
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: [01/11] fix amd64 2.6.11 oops on modprobe (saa7110)

2005-03-10 Thread Josh Boyer
On Thu, 2005-03-10 at 15:07 -0800, Greg KH wrote:
 -stable review patch.  If anyone has any objections, please let us know.
 
 --
 
 This is a rewrite of the saa7110_write_block function, which was plain
 broken in the case where the underlying adapter supports I2C_FUNC_I2C.
 It also includes related fixes which ensure that different parts of the
 driver agree on the number of registers the chip has.
 
 Signed-off-by: Jean Delvare [EMAIL PROTECTED]
 Signed-off-by: Chris Wright [EMAIL PROTECTED]
 Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED]
 
 --- linux-2.6.11-bk3/drivers/media/video/saa7110.c.orig   Tue Mar  8 
 10:27:15 2005
 +++ linux-2.6.11-bk3/drivers/media/video/saa7110.cTue Mar  8 12:02:45 2005
 @@ -58,10 +58,12 @@
  #define SAA7110_MAX_INPUT9   /* 6 CVBS, 3 SVHS */
  #define SAA7110_MAX_OUTPUT   0   /* its a decoder only */
  
 -#define  I2C_SAA7110 0x9C/* or 0x9E */
 +#define I2C_SAA7110  0x9C/* or 0x9E */

Not that I really care, but isn't there a rule that a patch ... can not
contain any trivial fixes in it (spelling changes, whitespace
cleanups, etc.)?

josh


-
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: [01/11] fix amd64 2.6.11 oops on modprobe (saa7110)

2005-03-10 Thread Greg KH
On Thu, Mar 10, 2005 at 07:37:40PM -0600, Josh Boyer wrote:
 On Thu, 2005-03-10 at 15:07 -0800, Greg KH wrote:
  -stable review patch.  If anyone has any objections, please let us know.
  
  --
  
  This is a rewrite of the saa7110_write_block function, which was plain
  broken in the case where the underlying adapter supports I2C_FUNC_I2C.
  It also includes related fixes which ensure that different parts of the
  driver agree on the number of registers the chip has.
  
  Signed-off-by: Jean Delvare [EMAIL PROTECTED]
  Signed-off-by: Chris Wright [EMAIL PROTECTED]
  Signed-off-by: Greg Kroah-Hartman [EMAIL PROTECTED]
  
  --- linux-2.6.11-bk3/drivers/media/video/saa7110.c.orig Tue Mar  8 
  10:27:15 2005
  +++ linux-2.6.11-bk3/drivers/media/video/saa7110.c  Tue Mar  8 12:02:45 2005
  @@ -58,10 +58,12 @@
   #define SAA7110_MAX_INPUT  9   /* 6 CVBS, 3 SVHS */
   #define SAA7110_MAX_OUTPUT 0   /* its a decoder only */
   
  -#defineI2C_SAA7110 0x9C/* or 0x9E */
  +#define I2C_SAA71100x9C/* or 0x9E */
 
 Not that I really care, but isn't there a rule that a patch ... can not
 contain any trivial fixes in it (spelling changes, whitespace
 cleanups, etc.)?

Good point.  Jean, care to respin the patch?

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/