diff options
author | Matthias Kaehlcke <matthias.kaehlcke@gmail.com> | 2007-07-17 04:04:16 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-17 10:23:05 -0700 |
commit | 67837f232d6d55be99d6e0dec4ea9bb8112840cd (patch) | |
tree | 031713a5ce68712d3df3bab5eafdb52fdd829d04 /drivers | |
parent | 940408289842677cfe9e053a6c423bf3fb922560 (diff) | |
download | kernel_samsung_smdk4412-67837f232d6d55be99d6e0dec4ea9bb8112840cd.zip kernel_samsung_smdk4412-67837f232d6d55be99d6e0dec4ea9bb8112840cd.tar.gz kernel_samsung_smdk4412-67837f232d6d55be99d6e0dec4ea9bb8112840cd.tar.bz2 |
Use mutex instead of semaphore in CAPI 2.0 driver
The CAPI 2.0 driver uses a semaphore as mutex. Use the mutex API instead of
the (binary) semaphore.
Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Acked-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/isdn/capi/kcapi.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/isdn/capi/kcapi.c b/drivers/isdn/capi/kcapi.c index 3ed34f7..9f73bc2 100644 --- a/drivers/isdn/capi/kcapi.c +++ b/drivers/isdn/capi/kcapi.c @@ -258,7 +258,7 @@ static void recv_handler(struct work_struct *work) if ((!ap) || (ap->release_in_progress)) return; - down(&ap->recv_sem); + mutex_lock(&ap->recv_mtx); while ((skb = skb_dequeue(&ap->recv_queue))) { if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_IND) ap->nrecvdatapkt++; @@ -267,7 +267,7 @@ static void recv_handler(struct work_struct *work) ap->recv_message(ap, skb); } - up(&ap->recv_sem); + mutex_unlock(&ap->recv_mtx); } void capi_ctr_handle_message(struct capi_ctr * card, u16 appl, struct sk_buff *skb) @@ -547,7 +547,7 @@ u16 capi20_register(struct capi20_appl *ap) ap->nsentctlpkt = 0; ap->nsentdatapkt = 0; ap->callback = NULL; - init_MUTEX(&ap->recv_sem); + mutex_init(&ap->recv_mtx); skb_queue_head_init(&ap->recv_queue); INIT_WORK(&ap->recv_work, recv_handler); ap->release_in_progress = 0; |