diff options
Diffstat (limited to 'drivers/isdn/gigaset/proc.c')
-rw-r--r-- | drivers/isdn/gigaset/proc.c | 6 |
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 | } |