tg3: Add APE register access locking
authorMatt Carlson <mcarlson@broadcom.com>
Fri, 15 Aug 2008 21:07:24 +0000 (14:07 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 15 Aug 2008 21:07:24 +0000 (14:07 -0700)
commit77b483f132ba25edf4ef455dd87a91ab7bbf4170
tree8cb8f8444de1228cafed26784923e1045aba64c7
parentc6153b5b77650879d78dec76414213c76dd8d574
tg3: Add APE register access locking

If the driver resets the chip while the APE is performing a register
access, that register access will never complete and the APE will hang
indefinitely.  To prevent this race condition, the driver must acquire
an APE mutex before resetting the chip.  The APE will not attempt a
register access until it acquires this lock.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tg3.c
drivers/net/tg3.h