if(!RX_DESC_VALID(desc_hdr)){/* invalid descriptor? Weird, the RX_ADDR seems to be saying something different. Ignore the packet and purge the RX buffer. */
//invalid descriptor ? then probably the interrupt was generated by full rx buffer
if(minic_readl(MINIC_REG_MCR)&MINIC_MCR_RX_FULL){
minic_new_rx_buffer();
}else{
//otherwise, weird !!
pp_printf("invalid descriptor @%x = %x\n",
(uint32_t)minic.rx_head,desc_hdr);
minic_new_rx_buffer();
hdr_size=0;
payload_size=0;
/* uint16_t pointers to copy directly 16-bit data from FIFO to memory */
ptr16_hdr=(uint16_t*)hdr;
ptr16_payload=(uint16_t*)payload;
/* Read the whole frame till OOB or till the FIFO is empty */