smu_sat_get_sdb_partition() - unsigned len cannot be negative
PATCH 1/1 smu_sat_get_sdb_partition() - unsigned len cannot be negative
i2c_smbus_read_word_data() returns a s32, which may be negative but unsigned len cannot be negative.
Signed-off-by Roel Kluin <[email protected]>
---
for i2c_smbus_read_word_data(), see
vi drivers/i2c/i2c-core.c +1663
drivers/macintosh/windfarm_smu_sat.c +3 -2
@@ -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 ;