Transfer in i2c returned -6

Hi all,
i am currently working on a i2c driver for pixhawk to read data from an external board.
I used the hmc5883 and mb12xx as guiding examples.
everything is compiling fine but when i try to write data to the external board the pixhawk returns “i2c::transfer returned -6” to nsh.
is this problem familiar to anyone?
what kind of err cause to returned -6?