On Fri, 2013-02-08 at 09:50 +0900, Yasuaki Ishimatsu wrote:Hi Toshi,
2013/02/07 7:50, Toshi Kani wrote:Changed sysfs eject, acpi_eject_store(), to support ACPI scan handlers.
Signed-off-by: Toshi Kani <toshi.kani@xxxxxx>
---
drivers/acpi/scan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index cfd7a69..3ff632e 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -203,7 +203,7 @@ acpi_eject_store(struct device *d, struct device_attribute *attr,
return -EINVAL;
}
#ifndef FORCE_EJECT
- if (acpi_device->driver == NULL) {
+ if (!acpi_device->driver && !acpi_device->handler) {
I don't understand the fix.
The if sentence becomes true, when both acpi_device->driver and acpi_device->handler
are NULL. It means that acpi_eject_store() runs if either acpi_device->driver or
acpi_device->handler has pointer. Is it O.K.?
Yes.
I think it should be if (!acpi_device->driver || !acpi_device->handler).
No, the condition has to be "&&" because an acpi_device is _either_
bound to an ACPI driver or an ACPI scan handler.
Thanks,
-Toshi