if(rx_addr_cur<nic->rx_head)/* nothing new in the buffer? */
return1;
rx_head=nic->pbuf+nic->rx_head;
desc_hdr=__raw_readl(rx_head++);/* read the 32-bit descriptor header */
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. */
{
dev_info(nic->dev,"%s: weird, invalid RX descriptor (%x, head %x)",__func__,desc_hdr,(unsignedint)rx_head-1);
// fixme: we need to pass the phase value somehow for RX timestamps. For the time being, we pass the R-F counter difference on the MSB of UTC (instead of sign value), so the PTP can detect the valid counter