3c59x: Remove incorrect locking; correct documented lock hierarchy
authorBen Hutchings <ben@decadent.org.uk>
Mon, 30 Aug 2010 14:15:33 +0000 (14:15 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 2 Sep 2010 01:01:55 +0000 (18:01 -0700)
commit24cd804d1dc60a74c53da983094df3516500c276
tree5fe89de05b65e4a435d59dcd9992fb63182ddedf
parentde6be6c1f77798c4da38301693d33aff1cd76e84
3c59x: Remove incorrect locking; correct documented lock hierarchy

vortex_ioctl() was grabbing vortex_private::lock around its call to
generic_mii_ioctl().  This is no longer necessary since there are more
specific locks which the mdio_{read,write}() functions will obtain.
Worse, those functions do not save and restore IRQ flags when locking
the MII state, so interrupts will be enabled when generic_mii_ioctl()
returns.

Since there is currently no need for any function to call
mdio_{read,write}() while holding another spinlock, do not change them
to save and restore IRQ flags but remove the specification of ordering
between vortex_private::lock and vortex_private::mii_lock.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/3c59x.c