I still don't see why this can't be written as a single txn_list with 2 elements in it.  The underlying I2C layer will automatically issue a restart between the write and the read and it makes your two bus transfers properly atomic relative to other bus activity.