|
@@ -109,12 +109,15 @@ static int __devinit ce4100_i2c_probe(struct pci_dev *dev,
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
sds = kzalloc(sizeof(*sds), GFP_KERNEL);
|
|
|
- if (!sds)
|
|
|
+ if (!sds) {
|
|
|
+ ret = -ENOMEM;
|
|
|
goto err_mem;
|
|
|
+ }
|
|
|
|
|
|
for (i = 0; i < ARRAY_SIZE(sds->pdev); i++) {
|
|
|
sds->pdev[i] = add_i2c_device(dev, i);
|
|
|
if (IS_ERR(sds->pdev[i])) {
|
|
|
+ ret = PTR_ERR(sds->pdev[i]);
|
|
|
while (--i >= 0)
|
|
|
platform_device_unregister(sds->pdev[i]);
|
|
|
goto err_dev_add;
|