Please review. I tested for my needs, it should be OK after your validation.
Basically, changed from infinitely waiting -1 to limited timeout in ms.
Line 240: ESP_ERROR_CHECK(i2c_master_transmit(dev_handle, data, size, -1));
Line 268: ESP_ERROR_CHECK(i2c_master_receive(dev_handle, data, size, -1));