X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Foprofile%2Fevent_buffer.c;h=e7fbac5299354e485c4a4d98774ba4fc0ae7424c;hb=a8931ef380c92d121ae74ecfb03b2d63f72eea6f;hp=00e937e9240e5b9196de3a6faf08b925842595e6;hpb=f8abea8f8c24ecdad6d6861bffb912f23f2741cd;p=linux-2.6 diff --git a/drivers/oprofile/event_buffer.c b/drivers/oprofile/event_buffer.c index 00e937e924..e7fbac5299 100644 --- a/drivers/oprofile/event_buffer.c +++ b/drivers/oprofile/event_buffer.c @@ -70,11 +70,12 @@ void wake_up_buffer_waiter(void) int alloc_event_buffer(void) { int err = -ENOMEM; + unsigned long flags; - spin_lock(&oprofilefs_lock); + spin_lock_irqsave(&oprofilefs_lock, flags); buffer_size = fs_buffer_size; buffer_watershed = fs_buffer_watershed; - spin_unlock(&oprofilefs_lock); + spin_unlock_irqrestore(&oprofilefs_lock, flags); if (buffer_watershed >= buffer_size) return -EINVAL;