Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cfee47f9 authored by Len Brown's avatar Len Brown
Browse files

Pull bugfix into test branch

Conflicts:

	kernel/power/disk.c
parents 7e244322 9185cfa9
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -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;
};
@@ -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);
}

/**
@@ -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);
}

/**
@@ -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
@@ -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)
@@ -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 */
+5 −3
Original line number Diff line number Diff line
@@ -60,9 +60,11 @@ static void power_down(suspend_disk_method_t mode)
{
	switch(mode) {
	case PM_DISK_PLATFORM:
		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;
+1 −1
Original line number Diff line number Diff line
@@ -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.