@@ -901,6 +901,9 @@ i2c_dw_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
901901 ret = i2c_dw_wait_transfer (dev );
902902 if (ret ) {
903903 dev_err (dev -> dev , "controller timed out\n" );
904+ dev_err (dev -> dev , "%s: message err %d msgs_num %u, addr %02x, flags %04x, len %u, first byte %02x\n" ,
905+ __func__ , ret , num , msgs [0 ].addr , msgs [0 ].flags , msgs [0 ].len ,
906+ (!msgs [0 ].flags & I2C_M_RD ) && msgs [0 ].len >= 1 ? msgs [0 ].buf [0 ] : 0 );
904907 /* i2c_dw_init_master() implicitly disables the adapter */
905908 i2c_recover_bus (& dev -> adapter );
906909 i2c_dw_init_master (dev );
@@ -941,6 +944,9 @@ i2c_dw_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num)
941944 /* We have an error */
942945 if (dev -> cmd_err == DW_IC_ERR_TX_ABRT ) {
943946 ret = i2c_dw_handle_tx_abort (dev );
947+ dev_err (dev -> dev , "%s: Aborted message err %d msgs_num %u, addr %02x, flags %04x, len %u, first byte %02x\n" ,
948+ __func__ , ret , num , msgs [0 ].addr , msgs [0 ].flags , msgs [0 ].len ,
949+ (!msgs [0 ].flags & I2C_M_RD ) && msgs [0 ].len >= 1 ? msgs [0 ].buf [0 ] : 0 );
944950 goto done ;
945951 }
946952
0 commit comments