diff options
Diffstat (limited to 'drivers/net/ucc_geth.c')
-rw-r--r-- | drivers/net/ucc_geth.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index 7fb96f33bade..3b647d07e410 100644 --- a/drivers/net/ucc_geth.c +++ b/drivers/net/ucc_geth.c | |||
@@ -3084,10 +3084,11 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
3084 | u8 __iomem *bd; /* BD pointer */ | 3084 | u8 __iomem *bd; /* BD pointer */ |
3085 | u32 bd_status; | 3085 | u32 bd_status; |
3086 | u8 txQ = 0; | 3086 | u8 txQ = 0; |
3087 | unsigned long flags; | ||
3087 | 3088 | ||
3088 | ugeth_vdbg("%s: IN", __func__); | 3089 | ugeth_vdbg("%s: IN", __func__); |
3089 | 3090 | ||
3090 | spin_lock_irq(&ugeth->lock); | 3091 | spin_lock_irqsave(&ugeth->lock, flags); |
3091 | 3092 | ||
3092 | dev->stats.tx_bytes += skb->len; | 3093 | dev->stats.tx_bytes += skb->len; |
3093 | 3094 | ||
@@ -3144,7 +3145,7 @@ static int ucc_geth_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
3144 | uccf = ugeth->uccf; | 3145 | uccf = ugeth->uccf; |
3145 | out_be16(uccf->p_utodr, UCC_FAST_TOD); | 3146 | out_be16(uccf->p_utodr, UCC_FAST_TOD); |
3146 | #endif | 3147 | #endif |
3147 | spin_unlock_irq(&ugeth->lock); | 3148 | spin_unlock_irqrestore(&ugeth->lock, flags); |
3148 | 3149 | ||
3149 | return NETDEV_TX_OK; | 3150 | return NETDEV_TX_OK; |
3150 | } | 3151 | } |