 Details
 Details
        
                          [Home]
Issue of the Implementation # L0020
Brief
drivers/net/3c505.c: Get spin_lock twice
Detailed Description
Driver drivers/net/3c505.c - get spin_lock twice First spin_lock in driver drivers/net/3c505.c at line 1075:
1070 static netdev_tx_t elp_start_xmit(struct sk_buff *skb, struct net_device 
*dev)
1071 {
1072         unsigned long flags;
1073         elp_device *adapter = netdev_priv(dev);
1074
1075         spin_lock_irqsave(&adapter->lock, flags);
1076         check_3c505_dma(dev);
...
Path to second spin_lock_irqsave(&adapter->lock, flags) from 
 elp_start_xmit:
 293 static inline void check_3c505_dma(struct net_device *dev)
 294 {
 295         elp_device *adapter = netdev_priv(dev);
 296         if (adapter->dmaing && time_after(jiffies, adapter-
>current_dma.start_time + 10)) {
 297                 unsigned long flags, f;
 298                 pr_err("%s: DMA %s timed out, %d bytes left
", dev-
>name,
 299                         adapter->current_dma.direction ? "download" : 
"upload",
 300                         get_dma_residue(dev->dma));
 301                 spin_lock_irqsave(&adapter->lock, flags);
                    Component
linux-kernel 2.6.35-rc1
Accepted
https://lkml.org/lkml/2010/6/17/408
Status
Recognized as an error
[Home]
» 
  