Fix Vitesse 824x PHY interrupt acking
The Vitesse 824x PHY doesn't allow an interrupt to be cleared if the mask bit for that interrupt isn't set. This means that the PHY Lib's order of handling interrupts (disable, then clear) breaks on this PHY. However, clearing then disabling the interrupt opens up the code for a silly race condition. So rather than change the PHY Lib, we change the Vitesse driver so it always clears interrupts before disabling them. Further, the ack function only clears the interrupt if interrupts are enabled. Signed-off-by: NAndy Fleming <afleming@freescale.com> Signed-off-by: NYork Sun <yorksun@freescale.com> Acked-by: NHaiying Wang <Haiying.Wang@freescale.com>
Showing
想要评论请 注册 或 登录