Răsfoiți Sursa

max732x: correct nr_port checking off by one error

Setup both client_group_a and client_group_b if nr_port > 8 (not including
nr_port==8).

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Cc: Eric Miao <eric.miao@marvell.com>
Cc: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Axel Lin 15 ani în urmă
părinte
comite
5535cb681c
1 a modificat fișierele cu 3 adăugiri și 3 ștergeri
  1. 3 3
      drivers/gpio/max732x.c

+ 3 - 3
drivers/gpio/max732x.c

@@ -595,14 +595,14 @@ static int __devinit max732x_probe(struct i2c_client *client,
 	switch (client->addr & 0x70) {
 	switch (client->addr & 0x70) {
 	case 0x60:
 	case 0x60:
 		chip->client_group_a = client;
 		chip->client_group_a = client;
-		if (nr_port > 7) {
+		if (nr_port > 8) {
 			c = i2c_new_dummy(client->adapter, addr_b);
 			c = i2c_new_dummy(client->adapter, addr_b);
 			chip->client_group_b = chip->client_dummy = c;
 			chip->client_group_b = chip->client_dummy = c;
 		}
 		}
 		break;
 		break;
 	case 0x50:
 	case 0x50:
 		chip->client_group_b = client;
 		chip->client_group_b = client;
-		if (nr_port > 7) {
+		if (nr_port > 8) {
 			c = i2c_new_dummy(client->adapter, addr_a);
 			c = i2c_new_dummy(client->adapter, addr_a);
 			chip->client_group_a = chip->client_dummy = c;
 			chip->client_group_a = chip->client_dummy = c;
 		}
 		}
@@ -617,7 +617,7 @@ static int __devinit max732x_probe(struct i2c_client *client,
 	mutex_init(&chip->lock);
 	mutex_init(&chip->lock);
 
 
 	max732x_readb(chip, is_group_a(chip, 0), &chip->reg_out[0]);
 	max732x_readb(chip, is_group_a(chip, 0), &chip->reg_out[0]);
-	if (nr_port > 7)
+	if (nr_port > 8)
 		max732x_readb(chip, is_group_a(chip, 8), &chip->reg_out[1]);
 		max732x_readb(chip, is_group_a(chip, 8), &chip->reg_out[1]);
 
 
 	ret = max732x_irq_setup(chip, id);
 	ret = max732x_irq_setup(chip, id);