- patches.suse/slab-handle-memoryless-nodes-v2a.patch: Refresh.
[linux-flexiantxendom0-3.2.10.git] / drivers / net / atlx / atl2.c
index 0d26807..ec52529 100644 (file)
@@ -651,7 +651,7 @@ static int atl2_request_irq(struct atl2_adapter *adapter)
        if (adapter->have_msi)
                flags &= ~IRQF_SHARED;
 
-       return request_irq(adapter->pdev->irq, &atl2_intr, flags, netdev->name,
+       return request_irq(adapter->pdev->irq, atl2_intr, flags, netdev->name,
                netdev);
 }
 
@@ -1959,12 +1959,15 @@ static int atl2_get_eeprom(struct net_device *netdev,
                return -ENOMEM;
 
        for (i = first_dword; i < last_dword; i++) {
-               if (!atl2_read_eeprom(hw, i*4, &(eeprom_buff[i-first_dword])))
-                       return -EIO;
+               if (!atl2_read_eeprom(hw, i*4, &(eeprom_buff[i-first_dword]))) {
+                       ret_val = -EIO;
+                       goto free;
+               }
        }
 
        memcpy(bytes, (u8 *)eeprom_buff + (eeprom->offset & 3),
                eeprom->len);
+free:
        kfree(eeprom_buff);
 
        return ret_val;