|
@@ -366,9 +366,8 @@ static irqreturn_t mpc52xx_fec_tx_interrupt(int irq, void *dev_id)
|
|
|
{
|
|
|
struct net_device *dev = dev_id;
|
|
|
struct mpc52xx_fec_priv *priv = netdev_priv(dev);
|
|
|
- unsigned long flags;
|
|
|
|
|
|
- spin_lock_irqsave(&priv->lock, flags);
|
|
|
+ spin_lock(&priv->lock);
|
|
|
while (bcom_buffer_done(priv->tx_dmatsk)) {
|
|
|
struct sk_buff *skb;
|
|
|
struct bcom_fec_bd *bd;
|
|
@@ -379,7 +378,7 @@ static irqreturn_t mpc52xx_fec_tx_interrupt(int irq, void *dev_id)
|
|
|
|
|
|
dev_kfree_skb_irq(skb);
|
|
|
}
|
|
|
- spin_unlock_irqrestore(&priv->lock, flags);
|
|
|
+ spin_unlock(&priv->lock);
|
|
|
|
|
|
netif_wake_queue(dev);
|
|
|
|
|
@@ -395,9 +394,8 @@ static irqreturn_t mpc52xx_fec_rx_interrupt(int irq, void *dev_id)
|
|
|
struct bcom_fec_bd *bd;
|
|
|
u32 status, physaddr;
|
|
|
int length;
|
|
|
- unsigned long flags;
|
|
|
|
|
|
- spin_lock_irqsave(&priv->lock, flags);
|
|
|
+ spin_lock(&priv->lock);
|
|
|
|
|
|
while (bcom_buffer_done(priv->rx_dmatsk)) {
|
|
|
|
|
@@ -429,7 +427,7 @@ static irqreturn_t mpc52xx_fec_rx_interrupt(int irq, void *dev_id)
|
|
|
|
|
|
/* Process the received skb - Drop the spin lock while
|
|
|
* calling into the network stack */
|
|
|
- spin_unlock_irqrestore(&priv->lock, flags);
|
|
|
+ spin_unlock(&priv->lock);
|
|
|
|
|
|
dma_unmap_single(dev->dev.parent, physaddr, rskb->len,
|
|
|
DMA_FROM_DEVICE);
|
|
@@ -438,10 +436,10 @@ static irqreturn_t mpc52xx_fec_rx_interrupt(int irq, void *dev_id)
|
|
|
rskb->protocol = eth_type_trans(rskb, dev);
|
|
|
netif_rx(rskb);
|
|
|
|
|
|
- spin_lock_irqsave(&priv->lock, flags);
|
|
|
+ spin_lock(&priv->lock);
|
|
|
}
|
|
|
|
|
|
- spin_unlock_irqrestore(&priv->lock, flags);
|
|
|
+ spin_unlock(&priv->lock);
|
|
|
|
|
|
return IRQ_HANDLED;
|
|
|
}
|
|
@@ -452,7 +450,6 @@ static irqreturn_t mpc52xx_fec_interrupt(int irq, void *dev_id)
|
|
|
struct mpc52xx_fec_priv *priv = netdev_priv(dev);
|
|
|
struct mpc52xx_fec __iomem *fec = priv->fec;
|
|
|
u32 ievent;
|
|
|
- unsigned long flags;
|
|
|
|
|
|
ievent = in_be32(&fec->ievent);
|
|
|
|
|
@@ -470,9 +467,9 @@ static irqreturn_t mpc52xx_fec_interrupt(int irq, void *dev_id)
|
|
|
if (net_ratelimit() && (ievent & FEC_IEVENT_XFIFO_ERROR))
|
|
|
dev_warn(&dev->dev, "FEC_IEVENT_XFIFO_ERROR\n");
|
|
|
|
|
|
- spin_lock_irqsave(&priv->lock, flags);
|
|
|
+ spin_lock(&priv->lock);
|
|
|
mpc52xx_fec_reset(dev);
|
|
|
- spin_unlock_irqrestore(&priv->lock, flags);
|
|
|
+ spin_unlock(&priv->lock);
|
|
|
|
|
|
return IRQ_HANDLED;
|
|
|
}
|