Patchwork [POWERPC] smu_sat_get_sdb_partition() - unsigned len cannot be negative

login
register
mail settings
Submitter roel kluin
Date Nov. 29, 2008, 11:17 a.m.
Message ID <493124C7.9030704@gmail.com>
Download mbox | patch
Permalink /patch/11395/
State Accepted, archived
Commit 2fd091f3eebc5accefa5f77ff04436982765d15c
Delegated to: Paul Mackerras
Headers show

Comments

roel kluin - Nov. 29, 2008, 11:17 a.m.
i2c_smbus_read_word_data() returns a s32, which may be negative
but unsigned len cannot be negative.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
---
for i2c_smbus_read_word_data(), see
vi drivers/i2c/i2c-core.c +1663

Patch

diff --git a/drivers/macintosh/windfarm_smu_sat.c b/drivers/macintosh/windfarm_smu_sat.c
index 7f2be4b..7847e98 100644
--- a/drivers/macintosh/windfarm_smu_sat.c
+++ b/drivers/macintosh/windfarm_smu_sat.c
@@ -87,11 +87,12 @@  struct smu_sdbp_header *smu_sat_get_sdb_partition(unsigned int sat_id, int id,
 		return NULL;
 	}
 
-	len = i2c_smbus_read_word_data(&sat->i2c, 9);
-	if (len < 0) {
+	err = i2c_smbus_read_word_data(&sat->i2c, 9);
+	if (err < 0) {
 		printk(KERN_ERR "smu_sat_get_sdb_part rd len error\n");
 		return NULL;
 	}
+	len = err;
 	if (len == 0) {
 		printk(KERN_ERR "smu_sat_get_sdb_part no partition %x\n", id);
 		return NULL;