Skip to content

Commit

Permalink
Pull bugfix into test branch
Browse files Browse the repository at this point in the history
Conflicts:

	kernel/power/disk.c
  • Loading branch information
Len Brown committed Dec 16, 2006
2 parents 7e24432 + 9185cfa commit cfee47f
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 12 deletions.
16 changes: 8 additions & 8 deletions drivers/acpi/dock.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ struct dock_station {
unsigned long last_dock_time;
u32 flags;
spinlock_t dd_lock;
spinlock_t hp_lock;
struct mutex hp_lock;
struct list_head dependent_devices;
struct list_head hotplug_devices;
};
Expand Down Expand Up @@ -118,9 +118,9 @@ static void
dock_add_hotplug_device(struct dock_station *ds,
struct dock_dependent_device *dd)
{
spin_lock(&ds->hp_lock);
mutex_lock(&ds->hp_lock);
list_add_tail(&dd->hotplug_list, &ds->hotplug_devices);
spin_unlock(&ds->hp_lock);
mutex_unlock(&ds->hp_lock);
}

/**
Expand All @@ -134,9 +134,9 @@ static void
dock_del_hotplug_device(struct dock_station *ds,
struct dock_dependent_device *dd)
{
spin_lock(&ds->hp_lock);
mutex_lock(&ds->hp_lock);
list_del(&dd->hotplug_list);
spin_unlock(&ds->hp_lock);
mutex_unlock(&ds->hp_lock);
}

/**
Expand Down Expand Up @@ -299,7 +299,7 @@ static void hotplug_dock_devices(struct dock_station *ds, u32 event)
{
struct dock_dependent_device *dd;

spin_lock(&ds->hp_lock);
mutex_lock(&ds->hp_lock);

/*
* First call driver specific hotplug functions
Expand All @@ -321,7 +321,7 @@ static void hotplug_dock_devices(struct dock_station *ds, u32 event)
else
dock_create_acpi_device(dd->handle);
}
spin_unlock(&ds->hp_lock);
mutex_unlock(&ds->hp_lock);
}

static void dock_event(struct dock_station *ds, u32 event, int num)
Expand Down Expand Up @@ -681,7 +681,7 @@ static int dock_add(acpi_handle handle)
INIT_LIST_HEAD(&dock_station->dependent_devices);
INIT_LIST_HEAD(&dock_station->hotplug_devices);
spin_lock_init(&dock_station->dd_lock);
spin_lock_init(&dock_station->hp_lock);
mutex_init(&dock_station->hp_lock);
ATOMIC_INIT_NOTIFIER_HEAD(&dock_notifier_list);

/* initialize platform device stuff */
Expand Down
8 changes: 5 additions & 3 deletions kernel/power/disk.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,11 @@ static void power_down(suspend_disk_method_t mode)
{
switch(mode) {
case PM_DISK_PLATFORM:
kernel_shutdown_prepare(SYSTEM_SUSPEND_DISK);
pm_ops->enter(PM_SUSPEND_DISK);
break;
if (pm_ops && pm_ops->enter) {
kernel_shutdown_prepare(SYSTEM_SUSPEND_DISK);
pm_ops->enter(PM_SUSPEND_DISK);
break;
}
case PM_DISK_SHUTDOWN:
kernel_power_off();
break;
Expand Down
2 changes: 1 addition & 1 deletion kernel/power/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
DEFINE_MUTEX(pm_mutex);

struct pm_ops *pm_ops;
suspend_disk_method_t pm_disk_mode = PM_DISK_SHUTDOWN;
suspend_disk_method_t pm_disk_mode = PM_DISK_PLATFORM;

/**
* pm_set_ops - Set the global power method table.
Expand Down

0 comments on commit cfee47f

Please sign in to comment.