void xlltemac_error_handler(XLlTemac * Temac) { unsigned Pending = XLlTemac_IntPending(Temac); if (Pending & XTE_INT_RXFIFOOVR_MASK) { print("Temac error interrupt: Rx fifo over run\r\n"); } XLlTemac_IntClear(Temac, Pending); }
/** * * This is the Error handler callback function and this function increments the * the error counter so that the main thread knows the number of errors. * * @param Temac is a reference to the Temac device instance. * * @return None. * * @note None. * ******************************************************************************/ static void TemacErrorHandler(XLlTemac * Temac) { u32 Pending = XLlTemac_IntPending(Temac); if (Pending & XTE_INT_RXRJECT_MASK) { TemacUtilErrorTrap("Temac: Rx packet rejected"); } if (Pending & XTE_INT_RXFIFOOVR_MASK) { TemacUtilErrorTrap("Temac: Rx fifo over run"); } XLlTemac_IntClear(Temac, Pending); /* * Bump counter */ DeviceErrors++; }