summaryrefslogtreecommitdiff
path: root/drivers/isdn/gigaset/proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/isdn/gigaset/proc.c')
-rw-r--r--drivers/isdn/gigaset/proc.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/isdn/gigaset/proc.c b/drivers/isdn/gigaset/proc.c
index 80d8ef1874f3..d267a636b53c 100644
--- a/drivers/isdn/gigaset/proc.c
+++ b/drivers/isdn/gigaset/proc.c
@@ -19,8 +19,15 @@
static ssize_t show_cidmode(struct device *dev, struct device_attribute *attr,
char *buf)
{
+ int ret;
+ unsigned long flags;
struct cardstate *cs = dev_get_drvdata(dev);
- return sprintf(buf, "%d\n", atomic_read(&cs->cidmode));
+
+ spin_lock_irqsave(&cs->lock, flags);
+ ret = sprintf(buf, "%u\n", cs->cidmode);
+ spin_unlock_irqrestore(&cs->lock, flags);
+
+ return ret;
}
static ssize_t set_cidmode(struct device *dev, struct device_attribute *attr,