From: anarsoul@gmail.com (Vasily Khoruzhick)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] pxa2xx_spi: Fix race condition in stop_queue()
Date: Fri, 1 Apr 2011 00:02:25 +0300 [thread overview]
Message-ID: <201104010002.25899.anarsoul@gmail.com> (raw)
In-Reply-To: <1300055230-29628-1-git-send-email-anarsoul@gmail.com>
On Monday 14 March 2011 00:27:10 Vasily Khoruzhick wrote:
> There's a race condition in stop_queue(),
> if drv_data->queue is empty, but drv_data->busy is still set
> (or opposite situation) stop_queue will return -EBUSY.
> So fix loop condition to check that both drv_data->queue is empty
> and drv_data->busy is not set.
Ping?
> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> ---
> drivers/spi/pxa2xx_spi.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/spi/pxa2xx_spi.c b/drivers/spi/pxa2xx_spi.c
> index a429b01..3aa7820 100644
> --- a/drivers/spi/pxa2xx_spi.c
> +++ b/drivers/spi/pxa2xx_spi.c
> @@ -1493,7 +1493,7 @@ static int stop_queue(struct driver_data *drv_data)
> * execution path (pump_messages) would be required to call wake_up or
> * friends on every SPI message. Do this instead */
> drv_data->run = QUEUE_STOPPED;
> - while (!list_empty(&drv_data->queue) && drv_data->busy && limit--) {
> + while ((!list_empty(&drv_data->queue) || drv_data->busy) && limit--) {
> spin_unlock_irqrestore(&drv_data->lock, flags);
> msleep(10);
> spin_lock_irqsave(&drv_data->lock, flags);
next prev parent reply other threads:[~2011-03-31 21:02 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-13 22:27 [PATCH] pxa2xx_spi: Fix race condition in stop_queue() Vasily Khoruzhick
2011-03-31 21:02 ` Vasily Khoruzhick [this message]
2011-04-01 7:26 ` Eric Miao
2011-04-01 10:03 ` Vasily Khoruzhick
2011-04-04 17:35 ` Mike Frysinger
2011-04-04 17:47 ` Vasily Khoruzhick
2011-04-05 3:21 ` Eric Miao
2011-04-06 14:46 ` Vasily Khoruzhick
[not found] ` <201104061746.44134.anarsoul-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-04-06 14:49 ` [PATCH] spi: " Vasily Khoruzhick
2011-04-06 14:49 ` Vasily Khoruzhick
[not found] ` <1302101355-31187-1-git-send-email-anarsoul-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-04-07 6:01 ` Eric Miao
2011-04-07 6:01 ` Eric Miao
2011-04-07 6:12 ` Mike Frysinger
2011-04-07 6:12 ` Mike Frysinger
2011-04-07 18:18 ` Grant Likely
2011-04-07 18:18 ` Grant Likely
2011-04-07 4:58 ` [PATCH] pxa2xx_spi: " Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201104010002.25899.anarsoul@gmail.com \
--to=anarsoul@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.