Multibyte SPI reading

Hi, 

I try to verify the data that has been written into flash by calling following function. The issue is that the value that has been written is 0x015028AD, but I get just 0x000000AD.

*flash_page_data_buff++ = 0x015028AD 

temp_rd_byte = 0x000000AD

void Compare_flash(unsigned char Block_ID, unsigned long* flash_page_data_buff, unsigned long long data_count)
{
unsigned long temp_rd_byte, result = 1;
unsigned long long RD_count;

if(Block_ID > FLASH_BLOCK_COUNT-1) {
printf("\nERROR: Invalid Flash Block ID\n");
while(1) asm("nop;"); }

unsigned long READ_ADDR = Block_ID * FLASH_BLOCK_SIZE;
printf("\n\n============================================================\n");
printf("\nVerifying the Flash contents from Block %d:\n", Block_ID);

Select_Slave(); // Select Flash
flash_byte_access(FLASH_RD_DAT); // send sector erase command (0x64KB)
flash_byte_access(READ_ADDR >> 16); // send block address
flash_byte_access(READ_ADDR >> 8);
flash_byte_access(READ_ADDR);

for(RD_count=0; RD_count<data_count; RD_count++)
{
// printf("\*pREG_SPI2_TFIFO %d...\n", *pREG_SPI2_TFIFO);
// *flash_page_data_buff++ = (flash_byte_access(DUMMY_BYTE));
temp_rd_byte = (flash_byte_access(DUMMY_BYTE));
if(temp_rd_byte != *flash_page_data_buff++)
{
result = 0;
break;
}
}
Deselect_Slave(); // deselct_flash;

if(result)
printf("\nSUCCESS: DATA written and verified to flash\n");
else
printf("\nERROR: DATA writing or verification unsuccessful\n");
printf("\n============================================================\n\n");
}

Anyone have an idea?