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);
}
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;