]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/net/atlx/atl2.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[mv-sheeva.git] / drivers / net / atlx / atl2.c
index 255e4e7ea0eefed478a964266377bd1ce4ec6f86..40cf9e5cb9e2b90a6bbfe812580df8d8bf35e8f3 100644 (file)
@@ -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;