Missing spin_unlock_irqrestore from rrunner driver.
PATCH 1/1 Missing spin_unlock_irqrestore from rrunner driver.
drivers/net/rrunner.c +1 -0
@@ -1645,6 +1645,7 @@ static int rr_ioctl(struct net_device *dprintk (KERN_ERR "%s: Error reading EEPROM\n" , dev->name); error = -EFAULT ; +spin_unlock_irqrestore (&rrpriv->lock, flags); goto gf_out; }spin_unlock_irqrestore (&rrpriv->lock, flags);
[email protected] <[email protected]> :
drivers/net/rrunner.c static int rr_ioctl(struct net_device *d
Quoted 12 lines
diff -urpN --exclude-from=/home/davej/.exclude
bk-linus/drivers/net/rrunner.clinux-2.5/drivers/net/rrunner.cdrivers/net/rrunner.c +1
-1@@ -1645,6 +1645,7 @@ static int rr_ioctl(struct net_device *dprintk (KERN_ERR "%s: Error reading EEPROM\n" , dev->name); error = -EFAULT ; +spin_unlock_irqrestore (&rrpriv->lock, flags); goto gf_out; }spin_unlock_irqrestore (&rrpriv->lock, flags); -
Bloat :o)
drivers/net/rrunner.c +1 -1
@@ -1641,13 +1641,13 @@ static int rr_ioctl(struct net_device *dspin_lock_irqsave (&rrpriv->lock, flags); i =rr_read_eeprom (rrpriv,0 , image,EEPROM_BYTES ); +spin_unlock_irqrestore (&rrpriv->lock, flags);if (i !=EEPROM_BYTES ){printk (KERN_ERR "%s: Error reading EEPROM\n" , dev->name); error = -EFAULT ; goto gf_out; } -spin_unlock_irqrestore (&rrpriv->lock, flags); error =copy_to_user (rq->ifr_data, image,EEPROM_BYTES );if (error) error = -EFAULT ;
Quoted 7 lines · Francois Romieu
drivers/net/rrunner.c static int rr_ioctl(struct net_device *d
Quoted 5 lines
drivers/net/rrunner.c +1
-1+spin_unlock_irqrestore (&rrpriv->lock, flags); goto gf_out; }spin_unlock_irqrestore (&rrpriv->lock, flags); -Bloat :o)
Agreed, yours a much nicer fix.
Dave
Signature · 1 line
Dave Jones http://www.codemonkey.org.uk