lkml.org 
[lkml]   [2003]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Date
From
Subject[PATCH]Re: spin_locks without smp.
> On Fri, Jan 10, 2003 at 03:45:46AM -0800, William Lee Irwin III wrote:
> > Buggy on preempt. Remove the #ifdef
Yes sir. :)

Is that okay?

Maciej


--- linux/drivers/net/eexpress.c 2002-11-29 00:53:13.000000000 +0100
+++ linux.new/drivers/net/eexpress.c 2003-01-10 13:08:24.000000000 +0100
@@ -600,9 +600,7 @@
static void eexp_timeout(struct net_device *dev)
{
struct net_local *lp = (struct net_local *)dev->priv;
-#ifdef CONFIG_SMP
unsigned long flags;
-#endif
int status;

disable_irq(dev->irq);
@@ -612,9 +610,7 @@
* lets make it work first..
*/

-#ifdef CONFIG_SMP
spin_lock_irqsave(&lp->lock, flags);
-#endif

status = scb_status(dev);
unstick_cu(dev);
@@ -628,9 +624,7 @@
outb(0,dev->base_addr+SIGNAL_CA);
}
netif_wake_queue(dev);
-#ifdef CONFIG_SMP
spin_unlock_irqrestore(&lp->lock, flags);
-#endif
}

/*
@@ -640,9 +634,7 @@
static int eexp_xmit(struct sk_buff *buf, struct net_device *dev)
{
struct net_local *lp = (struct net_local *)dev->priv;
-#ifdef CONFIG_SMP
unsigned long flags;
-#endif

#if NET_DEBUG > 6
printk(KERN_DEBUG "%s: eexp_xmit()\n", dev->name);
@@ -655,9 +647,7 @@
* lets make it work first..
*/

-#ifdef CONFIG_SMP
spin_lock_irqsave(&lp->lock, flags);
-#endif

{
unsigned short length = (ETH_ZLEN < buf->len) ? buf->len :
@@ -669,9 +659,7 @@
eexp_hw_tx_pio(dev,data,length);
}
dev_kfree_skb(buf);
-#ifdef CONFIG_SMP
spin_unlock_irqrestore(&lp->lock, flags);
-#endif
enable_irq(dev->irq);
return 0;
}--- linux/drivers/net/eexpress.c 2002-11-29 00:53:13.000000000 +0100
+++ linux.new/drivers/net/eexpress.c 2003-01-10 13:08:24.000000000 +0100
@@ -600,9 +600,7 @@
static void eexp_timeout(struct net_device *dev)
{
struct net_local *lp = (struct net_local *)dev->priv;
-#ifdef CONFIG_SMP
unsigned long flags;
-#endif
int status;

disable_irq(dev->irq);
@@ -612,9 +610,7 @@
* lets make it work first..
*/

-#ifdef CONFIG_SMP
spin_lock_irqsave(&lp->lock, flags);
-#endif

status = scb_status(dev);
unstick_cu(dev);
@@ -628,9 +624,7 @@
outb(0,dev->base_addr+SIGNAL_CA);
}
netif_wake_queue(dev);
-#ifdef CONFIG_SMP
spin_unlock_irqrestore(&lp->lock, flags);
-#endif
}

/*
@@ -640,9 +634,7 @@
static int eexp_xmit(struct sk_buff *buf, struct net_device *dev)
{
struct net_local *lp = (struct net_local *)dev->priv;
-#ifdef CONFIG_SMP
unsigned long flags;
-#endif

#if NET_DEBUG > 6
printk(KERN_DEBUG "%s: eexp_xmit()\n", dev->name);
@@ -655,9 +647,7 @@
* lets make it work first..
*/

-#ifdef CONFIG_SMP
spin_lock_irqsave(&lp->lock, flags);
-#endif

{
unsigned short length = (ETH_ZLEN < buf->len) ? buf->len :
@@ -669,9 +659,7 @@
eexp_hw_tx_pio(dev,data,length);
}
dev_kfree_skb(buf);
-#ifdef CONFIG_SMP
spin_unlock_irqrestore(&lp->lock, flags);
-#endif
enable_irq(dev->irq);
return 0;
}
\
 
 \ /
  Last update: 2005-03-22 13:32    [W:0.052 / U:0.724 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site