diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-03-16 14:01:28 -0700 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-03-23 01:48:33 -0400 |
commit | 9cbe330f1fbbc8de15a5914aa6e91d89eb9daac4 (patch) | |
tree | 42cf338b904d2d2e538416359c1b96fe80c62301 /drivers/net/skge.h | |
parent | 4ebabfcb1d6af5191ef5c8305717ccbc24979f6c (diff) | |
download | op-kernel-dev-9cbe330f1fbbc8de15a5914aa6e91d89eb9daac4.zip op-kernel-dev-9cbe330f1fbbc8de15a5914aa6e91d89eb9daac4.tar.gz |
skge: use per-port phy locking
Rather than a workqueue and a per-board mutex to control PHY,
use a tasklet and spinlock. Tasklet is lower overhead and works
just as well for this.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/skge.h')
-rw-r--r-- | drivers/net/skge.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/skge.h b/drivers/net/skge.h index e9354df..86467ae 100644 --- a/drivers/net/skge.h +++ b/drivers/net/skge.h @@ -2424,8 +2424,8 @@ struct skge_hw { u32 ram_size; u32 ram_offset; u16 phy_addr; - struct work_struct phy_work; - struct mutex phy_mutex; + spinlock_t phy_lock; + struct tasklet_struct phy_task; }; enum pause_control { @@ -2457,7 +2457,7 @@ struct skge_port { struct net_device_stats net_stats; - struct delayed_work link_thread; + struct timer_list link_timer; enum pause_control flow_control; enum pause_status flow_status; u8 rx_csum; |