aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/skge.h
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@linux-foundation.org>2007-03-16 14:01:28 -0700
committerJeff Garzik <jeff@garzik.org>2007-03-23 01:48:33 -0400
commit9cbe330f1fbbc8de15a5914aa6e91d89eb9daac4 (patch)
tree42cf338b904d2d2e538416359c1b96fe80c62301 /drivers/net/skge.h
parentskge: mask irqs when device down (diff)
downloadlinux-dev-9cbe330f1fbbc8de15a5914aa6e91d89eb9daac4.tar.xz
linux-dev-9cbe330f1fbbc8de15a5914aa6e91d89eb9daac4.zip
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 '')
-rw-r--r--drivers/net/skge.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/skge.h b/drivers/net/skge.h
index e9354dfa7e9a..86467ae74d45 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;