As per the I2C protocol for any read operation there must be a dummy write prior to sending the read request.
I2C Read Sequence
-------------------
1) Send start condition.
2) Send 7-bit slave address with write bit (R/W = 0) /* This is the dummy write operation */
3)Send address or location on I2C device where you want to read from, after this the internal address pointer of I2C device points to location where you want to read from.
Step1 to Step 3 collectively is called dummy write
4) Now send a repeated start condition.
5) Send 7-bit slave address with read bit (R/W = 1). /* Read command */
6) Now slave will send data to master and master will acknowledge after each byte read. If it’s the last byte to be read from slave then master will send a NOT acknowledge (NACK).
7) Master then sends a stop condition to end the transfer.