]> git.baikalelectronics.ru Git - kernel.git/commit
Fix Vitesse 824x PHY interrupt acking
authorAndy Fleming <afleming@freescale.com>
Tue, 10 Jul 2007 21:42:04 +0000 (16:42 -0500)
committerJeff Garzik <jeff@garzik.org>
Wed, 18 Jul 2007 22:29:37 +0000 (18:29 -0400)
commitf80ab5b2c8dac880d6ac7020bcbcfa0bb5c75743
treec815c595c104997f017102ed04ec33cffb8cd309
parent6b03d4e744f05b37928eab1db3a2b9537ff27f6b
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: Andy Fleming <afleming@freescale.com>
Signed-off-by: York Sun <yorksun@freescale.com>
Acked-by: Haiying Wang <Haiying.Wang@freescale.com>
drivers/net/phy/vitesse.c