Re: [PATCH v2 3/4] mtd: devices: elm: Low power transition support

Russell King - ARM Linux
2013-02-09T10:23:35Z

On Thu, Feb 07, 2013 at 06:06:57PM +0530, Philip Avinash wrote:
> +static int elm_suspend(struct device *dev)
> +{
> + struct elm_info *info = dev_get_drvdata(dev);
> + wait_queue_head_t wq;
> + DECLARE_WAITQUEUE(wait, current);
> +
> + init_waitqueue_head(&wq);
> + while (1) {
> + /* Make sure that ELM not running */
> + if (info->idle) {
> + add_wait_queue(&wq, &wait);
> + schedule();
> + remove_wait_queue(&wq, &wait);
> + } else {
> + break;
> + }
> + }

The above code looks really wrong - it will just spin endlessly with the
waitqueues doing nothing useful. What are you trying to do here?