summaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio
diff options
context:
space:
mode:
authorJulia Lawall <julia@diku.dk>2010-05-30 22:27:46 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2010-06-04 13:38:57 -0700
commit0aa3f139cd5123ffb8f397b91d777635e9761c24 (patch)
tree0f0c6b590dba5a2a1b0872e8fd0962a31dc35e9e /drivers/staging/iio
parentebe8622342f12bed387f7de4b5fb7c52005ccb29 (diff)
downloadlinux-stable-0aa3f139cd5123ffb8f397b91d777635e9761c24.tar.gz
linux-stable-0aa3f139cd5123ffb8f397b91d777635e9761c24.tar.bz2
linux-stable-0aa3f139cd5123ffb8f397b91d777635e9761c24.zip
staging: Use GFP_ATOMIC when a lock is held
In each case, the containing function is only called from one place, where a spin lock is held. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @gfp exists@ identifier fn; position p; @@ fn(...) { ... when != spin_unlock when any GFP_KERNEL@p ... when any } @locked@ identifier gfp.fn; @@ spin_lock(...) ... when != spin_unlock fn(...) @depends on locked@ position gfp.p; @@ - GFP_KERNEL@p + GFP_ATOMIC // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Cc: Jonathan Cameron <jic23@cam.ac.uk> Cc: Marek Lindner <lindner_marek@yahoo.de> Cc: Martyn Welch <martyn.welch@ge.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio')
-rw-r--r--drivers/staging/iio/ring_sw.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/staging/iio/ring_sw.c b/drivers/staging/iio/ring_sw.c
index 1f14cd4770e7..294272d0619f 100644
--- a/drivers/staging/iio/ring_sw.c
+++ b/drivers/staging/iio/ring_sw.c
@@ -20,7 +20,7 @@ static inline int __iio_allocate_sw_ring_buffer(struct iio_sw_ring_buffer *ring,
if ((length == 0) || (bytes_per_datum == 0))
return -EINVAL;
__iio_update_ring_buffer(&ring->buf, bytes_per_datum, length);
- ring->data = kmalloc(length*ring->buf.bpd, GFP_KERNEL);
+ ring->data = kmalloc(length*ring->buf.bpd, GFP_ATOMIC);
ring->read_p = NULL;
ring->write_p = NULL;
ring->last_written_p = NULL;