diff options
author | Andy Walls <awalls@radix.net> | 2008-08-23 02:03:11 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-10-12 13:36:53 +0200 |
commit | b04bce476c57ac844962462ee4c813c44fa942cf (patch) | |
tree | fb08a484414e6e486fd31c59c8533c46fd4b1341 /drivers/media/video/cx18/cx18-ioctl.c | |
parent | V4L/DVB (8771): cx18: Remove redundant struct cx18_queue length member. (diff) | |
download | linux-b04bce476c57ac844962462ee4c813c44fa942cf.tar.xz linux-b04bce476c57ac844962462ee4c813c44fa942cf.zip |
V4L/DVB (8772): cx18: Convert cx18_queue buffers member to atomic_t
cx18: Convert cx18_queue buffers member to atomic_t. This allows safe
concurrent access to check if a queue has data without having to acquire the
queue spinlock.
Signed-off-by: Andy Walls <awalls@radix.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx18/cx18-ioctl.c')
-rw-r--r-- | drivers/media/video/cx18/cx18-ioctl.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/media/video/cx18/cx18-ioctl.c b/drivers/media/video/cx18/cx18-ioctl.c index a7f839631d6a..5325c7aacaf3 100644 --- a/drivers/media/video/cx18/cx18-ioctl.c +++ b/drivers/media/video/cx18/cx18-ioctl.c @@ -731,7 +731,8 @@ static int cx18_log_status(struct file *file, void *fh) continue; CX18_INFO("Stream %s: status 0x%04lx, %d%% of %d KiB (%d buffers) in use\n", s->name, s->s_flags, - (s->buffers - s->q_free.buffers) * 100 / s->buffers, + (s->buffers - atomic_read(&s->q_free.buffers)) + * 100 / s->buffers, (s->buffers * s->buf_size) / 1024, s->buffers); } CX18_INFO("Read MPEG/VBI: %lld/%lld bytes\n", |