diff options
Diffstat (limited to 'drivers/acpi/scan.c')
-rw-r--r-- | drivers/acpi/scan.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 65243b9dd868..32b340171d41 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c | |||
@@ -126,7 +126,7 @@ acpi_device_modalias_show(struct device *dev, struct device_attribute *attr, cha | |||
126 | } | 126 | } |
127 | static DEVICE_ATTR(modalias, 0444, acpi_device_modalias_show, NULL); | 127 | static DEVICE_ATTR(modalias, 0444, acpi_device_modalias_show, NULL); |
128 | 128 | ||
129 | static bool acpi_scan_is_offline(struct acpi_device *adev) | 129 | bool acpi_scan_is_offline(struct acpi_device *adev, bool uevent) |
130 | { | 130 | { |
131 | struct acpi_device_physical_node *pn; | 131 | struct acpi_device_physical_node *pn; |
132 | bool offline = true; | 132 | bool offline = true; |
@@ -135,7 +135,9 @@ static bool acpi_scan_is_offline(struct acpi_device *adev) | |||
135 | 135 | ||
136 | list_for_each_entry(pn, &adev->physical_node_list, node) | 136 | list_for_each_entry(pn, &adev->physical_node_list, node) |
137 | if (device_supports_offline(pn->dev) && !pn->dev->offline) { | 137 | if (device_supports_offline(pn->dev) && !pn->dev->offline) { |
138 | kobject_uevent(&pn->dev->kobj, KOBJ_CHANGE); | 138 | if (uevent) |
139 | kobject_uevent(&pn->dev->kobj, KOBJ_CHANGE); | ||
140 | |||
139 | offline = false; | 141 | offline = false; |
140 | break; | 142 | break; |
141 | } | 143 | } |
@@ -267,7 +269,7 @@ static int acpi_scan_hot_remove(struct acpi_device *device) | |||
267 | acpi_status status; | 269 | acpi_status status; |
268 | 270 | ||
269 | if (device->handler->hotplug.demand_offline && !acpi_force_hot_remove) { | 271 | if (device->handler->hotplug.demand_offline && !acpi_force_hot_remove) { |
270 | if (!acpi_scan_is_offline(device)) | 272 | if (!acpi_scan_is_offline(device, true)) |
271 | return -EBUSY; | 273 | return -EBUSY; |
272 | } else { | 274 | } else { |
273 | int error = acpi_scan_try_to_offline(device); | 275 | int error = acpi_scan_try_to_offline(device); |