Revision aa8419367b62044e92bd7993eeb83d861b59bafa authored by Ian Kent on 11 October 2016, 20:53:02 UTC, committed by Linus Torvalds on 11 October 2016, 22:06:31 UTC
The count of miscellaneous device ioctls in fs/autofs4/autofs_i.h is wrong.

The number of ioctls is the difference between AUTOFS_DEV_IOCTL_VERSION_CMD
and AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD (14) not the difference between
AUTOFS_IOC_COUNT and 11 (21).

[kusumi.tomohiro@gmail.com: fix typo that made the count macro negative]
 Link: http://lkml.kernel.org/r/20160831033420.9910.16809.stgit@pluto.themaw.net
Link: http://lkml.kernel.org/r/20160812024841.12352.11975.stgit@pluto.themaw.net
Signed-off-by: Ian Kent <raven@themaw.net>
Cc: Tomohiro Kusumi <kusumi.tomohiro@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent b6e3795
Raw File
wq.c
#include "edac_module.h"

static struct workqueue_struct *wq;

bool edac_queue_work(struct delayed_work *work, unsigned long delay)
{
	return queue_delayed_work(wq, work, delay);
}
EXPORT_SYMBOL_GPL(edac_queue_work);

bool edac_mod_work(struct delayed_work *work, unsigned long delay)
{
	return mod_delayed_work(wq, work, delay);
}
EXPORT_SYMBOL_GPL(edac_mod_work);

bool edac_stop_work(struct delayed_work *work)
{
	bool ret;

	ret = cancel_delayed_work_sync(work);
	flush_workqueue(wq);

	return ret;
}
EXPORT_SYMBOL_GPL(edac_stop_work);

int edac_workqueue_setup(void)
{
	wq = alloc_ordered_workqueue("edac-poller", WQ_MEM_RECLAIM);
	if (!wq)
		return -ENODEV;
	else
		return 0;
}

void edac_workqueue_teardown(void)
{
	flush_workqueue(wq);
	destroy_workqueue(wq);
	wq = NULL;
}
back to top