From 0dfee26e04a7c7fba828bfe9f5bde0b290099346 Mon Sep 17 00:00:00 2001 From: Jostar Yang Date: Thu, 15 Mar 2018 17:29:07 +0800 Subject: [PATCH] Fix to use correct offset to read psu serial --- .../modules/builds/x86-64-accton-as6812-32x-psu.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/platforms/accton/x86-64/x86-64-accton-as6812-32x/modules/builds/x86-64-accton-as6812-32x-psu.c b/packages/platforms/accton/x86-64/x86-64-accton-as6812-32x/modules/builds/x86-64-accton-as6812-32x-psu.c index 7a96c931..a782870e 100755 --- a/packages/platforms/accton/x86-64/x86-64-accton-as6812-32x/modules/builds/x86-64-accton-as6812-32x-psu.c +++ b/packages/platforms/accton/x86-64/x86-64-accton-as6812-32x/modules/builds/x86-64-accton-as6812-32x-psu.c @@ -297,8 +297,8 @@ struct serial_number_info { struct serial_number_info serials[] = { {PSU_YM_2401_JCR, 0x20, 11}, {PSU_YM_2401_JDR, 0x20, 11}, -{PSU_CPR_4011_4M11, 0x46, 15}, -{PSU_CPR_4011_4M21, 0x46, 15}, +{PSU_CPR_4011_4M11, 0x47, 15}, +{PSU_CPR_4011_4M21, 0x47, 15}, {PSU_CPR_6011_2M11, 0x46, 15}, {PSU_CPR_6011_2M21, 0x46, 15}, {PSU_UM400D_01G, 0x50, 9}, @@ -317,16 +317,18 @@ static int as6812_32x_psu_serial_number_get(struct device *dev, enum psu_type ty case PSU_CPR_6011_2M11: case PSU_CPR_6011_2M21: { - status = as6812_32x_psu_read_block(client, serials[i].offset, - data->serial, serials[i].length); + if(type >= sizeof(serials)/sizeof(struct serial_number_info)) + return -EINVAL; + status = as6812_32x_psu_read_block(client, serials[type].offset, + data->serial, serials[type].length); if (status < 0) { data->serial[0] = '\0'; dev_dbg(&client->dev, "unable to read serial number from (0x%x) offset(0x%x)\n", - client->addr, serials[i].offset); + client->addr, serials[type].offset); return status; } else { - data->serial[serials[i].length] = '\0'; + data->serial[serials[type].length] = '\0'; return 0; } }