aboutsummaryrefslogtreecommitdiffstats
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.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/isdn/gigaset/proc.c b/drivers/isdn/gigaset/proc.c
index 912fed670742..8f124e8e604b 100644
--- a/drivers/isdn/gigaset/proc.c
+++ b/drivers/isdn/gigaset/proc.c
@@ -37,14 +37,14 @@ static ssize_t set_cidmode(struct device *dev, struct device_attribute *attr,
37 if (value < 0 || value > 1) 37 if (value < 0 || value > 1)
38 return -EINVAL; 38 return -EINVAL;
39 39
40 if (down_interruptible(&cs->sem)) 40 if (mutex_lock_interruptible(&cs->mutex))
41 return -ERESTARTSYS; // FIXME -EINTR? 41 return -ERESTARTSYS; // FIXME -EINTR?
42 42
43 cs->waiting = 1; 43 cs->waiting = 1;
44 if (!gigaset_add_event(cs, &cs->at_state, EV_PROC_CIDMODE, 44 if (!gigaset_add_event(cs, &cs->at_state, EV_PROC_CIDMODE,
45 NULL, value, NULL)) { 45 NULL, value, NULL)) {
46 cs->waiting = 0; 46 cs->waiting = 0;
47 up(&cs->sem); 47 mutex_unlock(&cs->mutex);
48 return -ENOMEM; 48 return -ENOMEM;
49 } 49 }
50 50
@@ -53,7 +53,7 @@ static ssize_t set_cidmode(struct device *dev, struct device_attribute *attr,
53 53
54 wait_event(cs->waitqueue, !cs->waiting); 54 wait_event(cs->waitqueue, !cs->waiting);
55 55
56 up(&cs->sem); 56 mutex_unlock(&cs->mutex);
57 57
58 return count; 58 return count;
59} 59}