From: Jonathan Cameron <jic23@kernel.org>
To: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-iio@vger.kernel.org
Subject: Re: [PATCH 09/10] iio:buffer: Add proper locking for iio_update_buffers()
Date: Sat, 21 Sep 2013 13:09:31 +0100 [thread overview]
Message-ID: <523D8C7B.1050205@kernel.org> (raw)
In-Reply-To: <523D7D79.4070206@metafoo.de>
On 09/21/13 12:05, Lars-Peter Clausen wrote:
> On 09/21/2013 01:59 PM, Jonathan Cameron wrote:
>> On 09/18/13 21:27, Lars-Peter Clausen wrote:
>>> [...]
>>>> +int iio_update_buffers(struct iio_dev *indio_dev,
>>>> + struct iio_buffer *insert_buffer,
>>>> + struct iio_buffer *remove_buffer)
>>>> +{
>>>> + int ret;
>>>> +
>>>> + mutex_lock(&indio_dev->info_exist_lock);
>>>> + mutex_lock(&indio_dev->mlock);
>>>> +
>>>> + if (indio_dev->info == NULL)
>>>> + return -ENODEV;
>>>
>>> Yea, ok that happens when send patches way to late in the evening. Of course we still need to unlock here...
>> Any reason not to do the indio_dev->info test before locking in the first place?
>
> The check and the updating needs to happen in one atomic step, otherwise the updating might race against the
> iio_disable_all_buffers in the iio_device_unregister function.
Ah, gotcha. Could you add a trivial comment for idiots like me pointing that out :)
>
>>>
>>>> + ret = __iio_update_buffers(indio_dev, insert_buffer, remove_buffer);
>>>> +
>>>> + mutex_unlock(&indio_dev->mlock);
>>>> + mutex_unlock(&indio_dev->info_exist_lock);
>>>> +
>>>> + return ret;
>>>> +}
>>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
next prev parent reply other threads:[~2013-09-21 11:09 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-18 20:02 [PATCH 01/10] iio: Stop sampling when the device is removed Lars-Peter Clausen
2013-09-18 20:02 ` [PATCH 02/10] iio: Keep a reference to the IIO device for open file descriptors Lars-Peter Clausen
2013-09-21 11:44 ` Jonathan Cameron
2013-09-21 11:48 ` Jonathan Cameron
2013-09-18 20:02 ` [PATCH 03/10] iio: Set the IIO device as the parent for the character device Lars-Peter Clausen
2013-09-21 11:52 ` Jonathan Cameron
2013-09-18 20:02 ` [PATCH 04/10] iio:buffer_cb: Add missing iio_buffer_init() Lars-Peter Clausen
2013-09-21 11:53 ` Jonathan Cameron
2013-09-18 20:02 ` [PATCH 05/10] iio: Add reference counting for buffers Lars-Peter Clausen
2013-09-18 20:02 ` [PATCH 06/10] iio: Remove debugfs entries in iio_device_unregister() Lars-Peter Clausen
2013-09-18 20:02 ` [PATCH 07/10] iio: Return -ENODEV for file operations if the device has been unregistered Lars-Peter Clausen
2013-09-18 20:02 ` [PATCH 08/10] iio: Wakeup poll and blocking reads when the device is unregistered Lars-Peter Clausen
2013-09-21 11:56 ` Jonathan Cameron
2013-09-21 11:43 ` Lars-Peter Clausen
2013-09-21 12:45 ` Jonathan Cameron
2013-09-21 15:16 ` Lars-Peter Clausen
2013-09-21 18:18 ` Jonathan Cameron
2013-09-18 20:02 ` [PATCH 09/10] iio:buffer: Add proper locking for iio_update_buffers() Lars-Peter Clausen
2013-09-18 20:27 ` Lars-Peter Clausen
2013-09-21 11:59 ` Jonathan Cameron
2013-09-21 11:05 ` Lars-Peter Clausen
2013-09-21 12:09 ` Jonathan Cameron [this message]
2013-09-18 20:02 ` [PATCH 10/10] iio:buffer: Ignore noop requests " Lars-Peter Clausen
2013-09-21 11:57 ` Jonathan Cameron
2013-09-18 22:00 ` [PATCH 01/10] iio: Stop sampling when the device is removed Jonathan Cameron
2013-09-18 21:08 ` Lars-Peter Clausen
2013-09-18 22:11 ` Jonathan Cameron
2013-09-21 11:36 ` Jonathan Cameron
2013-09-21 10:45 ` Lars-Peter Clausen
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=523D8C7B.1050205@kernel.org \
--to=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.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.