]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/isdn/gigaset/proc.c
[PATCH] isdn4linux: Siemens Gigaset drivers: make some variables non-atomic
[mv-sheeva.git] / drivers / isdn / gigaset / proc.c
index 80d8ef1874f3f23db3ab3458e849b84a220b67f8..d267a636b53c63cbd9558b73e57474248d5f9a16 100644 (file)
 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,