thanks Lokesh,
I found the problem, the chip select must go high after each write and read, that is accomplished by spi_write() & spi_read call.
Before I was using spi_write_then_read call(), so for complete write-read duration chip select was low.
regards,
Praveen