|
@@ -715,6 +715,7 @@ static int dock_add(acpi_handle handle)
|
|
|
if (ret) {
|
|
|
printk(KERN_ERR PREFIX "Error %d registering dock device\n", ret);
|
|
|
kfree(dock_station);
|
|
|
+ dock_station = NULL;
|
|
|
return ret;
|
|
|
}
|
|
|
ret = device_create_file(&dock_device.dev, &dev_attr_docked);
|
|
@@ -722,6 +723,7 @@ static int dock_add(acpi_handle handle)
|
|
|
printk("Error %d adding sysfs file\n", ret);
|
|
|
platform_device_unregister(&dock_device);
|
|
|
kfree(dock_station);
|
|
|
+ dock_station = NULL;
|
|
|
return ret;
|
|
|
}
|
|
|
ret = device_create_file(&dock_device.dev, &dev_attr_undock);
|
|
@@ -730,6 +732,7 @@ static int dock_add(acpi_handle handle)
|
|
|
device_remove_file(&dock_device.dev, &dev_attr_docked);
|
|
|
platform_device_unregister(&dock_device);
|
|
|
kfree(dock_station);
|
|
|
+ dock_station = NULL;
|
|
|
return ret;
|
|
|
}
|
|
|
ret = device_create_file(&dock_device.dev, &dev_attr_uid);
|
|
@@ -739,6 +742,7 @@ static int dock_add(acpi_handle handle)
|
|
|
device_remove_file(&dock_device.dev, &dev_attr_undock);
|
|
|
platform_device_unregister(&dock_device);
|
|
|
kfree(dock_station);
|
|
|
+ dock_station = NULL;
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -751,6 +755,7 @@ static int dock_add(acpi_handle handle)
|
|
|
dd = alloc_dock_dependent_device(handle);
|
|
|
if (!dd) {
|
|
|
kfree(dock_station);
|
|
|
+ dock_station = NULL;
|
|
|
ret = -ENOMEM;
|
|
|
goto dock_add_err_unregister;
|
|
|
}
|
|
@@ -779,6 +784,7 @@ dock_add_err_unregister:
|
|
|
device_remove_file(&dock_device.dev, &dev_attr_uid);
|
|
|
platform_device_unregister(&dock_device);
|
|
|
kfree(dock_station);
|
|
|
+ dock_station = NULL;
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -813,6 +819,7 @@ static int dock_remove(void)
|
|
|
|
|
|
/* free dock station memory */
|
|
|
kfree(dock_station);
|
|
|
+ dock_station = NULL;
|
|
|
return 0;
|
|
|
}
|
|
|
|