ChibiOS: Unreliable SMBus transaction on Copter-3.6-rc7?

I flashed the Cube with stock Copter-3.6-rc7 ChibiOS. When I try to read the cell voltages through MAVProxy, I get the following:

STABILIZE> status BATTERY_STATUS
STABILIZE> 209: BATTERY_STATUS {id : 0, battery_function : 0, type : 0, temperature : 2730, voltages : [4147, 4148, 4147, 4147, 65535, 65535, 65535, 65535, 65535, 65535], current_battery : 0, current_consumed : 225, energy_consumed : -1, battery_remaining : 98}

STABILIZE> status BATTERY_STATUS
STABILIZE> 214: BATTERY_STATUS {id : 0, battery_function : 0, type : 0, temperature : 2730, voltages : [65535, 4148, 4147, 65535, 65535, 65535, 65535, 65535, 65535, 65535], current_battery : 0, current_consumed : 225, energy_consumed : -1, battery_remaining : 98}

STABILIZE> status BATTERY_STATUS
STABILIZE> 5076: BATTERY_STATUS {id : 0, battery_function : 0, type : 0, temperature : 2860, voltages : [4147, 4147, 4147, 65535, 65535, 65535, 65535, 65535, 65535, 65535], current_battery : 0, current_consumed : 223, energy_consumed : -1, battery_remaining : 98}

Its a 4S battery and I use a bms. BATT_MONITOR=7. The cell voltages read seems very sporadic. Most of the times one or two cells end up returning UINT16_MAX as the read_word(maxell_cell_ids[i], data) returns false. But this seems to work well in NuttX.

Is it just me or has anyone else encountered this problem? Should a bug report be filed?

This seems to happen with the latest dev branch too. Any help is much appreciated! Thank you

I am seeing the same problem on 3.6.8. Does anyone have any ideas?