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

Commit 9b218f63 authored by Andrew Morton's avatar Andrew Morton Committed by Benjamin Herrenschmidt
Browse files

powerpc/eeh: Fix use of set_current_state() in eeh event handling set_current_state() wart



That set_current_state() won't work very well: the subsequent mutex_lock()
might flip the task back into TASK_RUNNING.

Attempt to put it somewhere where it might have been meant to be, and
attempt to describe why it might have been added.

Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 37ef9bd4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,6 @@ static int eeh_event_handler(void * dummy)
	struct eeh_dev *edev;

	set_task_comm(current, "eehd");
	set_current_state(TASK_INTERRUPTIBLE);

	spin_lock_irqsave(&eeh_eventlist_lock, flags);
	event = NULL;
@@ -83,6 +82,7 @@ static int eeh_event_handler(void * dummy)
	printk(KERN_INFO "EEH: Detected PCI bus error on device %s\n",
	       eeh_pci_name(edev->pdev));

	set_current_state(TASK_INTERRUPTIBLE);	/* Don't add to load average */
	edev = handle_eeh_events(event);

	eeh_clear_slot(eeh_dev_to_of_node(edev), EEH_MODE_RECOVERING);