The patch titled Use mutex instead of semaphore in the DVB frontend tuning interface has been added to the -mm tree. Its filename is use-mutex-instead-of-semaphore-in-the-dvb-frontend-tuning-interface.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: Use mutex instead of semaphore in the DVB frontend tuning interface From: Matthias Kaehlcke <matthias.kaehlcke@xxxxxxxxx> The DVB frontend tuning interface uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore. Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@xxxxxxxxx> Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxx> Reviewed-by: Satyam Sharma <satyam@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/media/dvb/dvb-core/dvb_frontend.c | 10 +++++----- drivers/media/dvb/dvb-core/dvb_frontend.h | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff -puN drivers/media/dvb/dvb-core/dvb_frontend.c~use-mutex-instead-of-semaphore-in-the-dvb-frontend-tuning-interface drivers/media/dvb/dvb-core/dvb_frontend.c --- a/drivers/media/dvb/dvb-core/dvb_frontend.c~use-mutex-instead-of-semaphore-in-the-dvb-frontend-tuning-interface +++ a/drivers/media/dvb/dvb-core/dvb_frontend.c @@ -138,7 +138,7 @@ static void dvb_frontend_add_event(struc dprintk ("%s\n", __FUNCTION__); - if (down_interruptible (&events->sem)) + if (mutex_lock_interruptible (&events->mtx)) return; wp = (events->eventw + 1) % MAX_EVENT; @@ -159,7 +159,7 @@ static void dvb_frontend_add_event(struc events->eventw = wp; - up (&events->sem); + mutex_unlock(&events->mtx); e->status = status; @@ -197,7 +197,7 @@ static int dvb_frontend_get_event(struct return ret; } - if (down_interruptible (&events->sem)) + if (mutex_lock_interruptible (&events->mtx)) return -ERESTARTSYS; memcpy (event, &events->events[events->eventr], @@ -205,7 +205,7 @@ static int dvb_frontend_get_event(struct events->eventr = (events->eventr + 1) % MAX_EVENT; - up (&events->sem); + mutex_unlock(&events->mtx); return 0; } @@ -1127,7 +1127,7 @@ int dvb_register_frontend(struct dvb_ada init_MUTEX (&fepriv->sem); init_waitqueue_head (&fepriv->wait_queue); init_waitqueue_head (&fepriv->events.wait_queue); - init_MUTEX (&fepriv->events.sem); + mutex_init(&fepriv->events.mtx); fe->dvb = dvb; fepriv->inversion = INVERSION_OFF; diff -puN drivers/media/dvb/dvb-core/dvb_frontend.h~use-mutex-instead-of-semaphore-in-the-dvb-frontend-tuning-interface drivers/media/dvb/dvb-core/dvb_frontend.h --- a/drivers/media/dvb/dvb-core/dvb_frontend.h~use-mutex-instead-of-semaphore-in-the-dvb-frontend-tuning-interface +++ a/drivers/media/dvb/dvb-core/dvb_frontend.h @@ -35,6 +35,7 @@ #include <linux/module.h> #include <linux/errno.h> #include <linux/delay.h> +#include <linux/mutex.h> #include <linux/dvb/frontend.h> @@ -142,7 +143,7 @@ struct dvb_fe_events { int eventr; int overflow; wait_queue_head_t wait_queue; - struct semaphore sem; + struct mutex mtx; }; struct dvb_frontend { _ Patches currently in -mm which might be from matthias.kaehlcke@xxxxxxxxx are kcopyd-use-mutex-instead-of-semaphore.patch git-mtd.patch videopix-frame-grabber-fix-unreleased-lock-in-vfc_debug.patch fs-file_tablec-use-list_for_each_entry-instead-of-list_for_each.patch fs-eventpollc-use-list_for_each_entry-instead-of-list_for_each.patch fs-superc-use-list_for_each_entry-instead-of-list_for_each.patch fs-superc-use-list_for_each_entry-instead-of-list_for_each-fix.patch fs-locksc-use-list_for_each_entry-instead-of-list_for_each.patch kernel-exitc-use-list_for_each_entry_safe-instead-of-list_for_each_safe.patch kernel-time-clocksourcec-use-list_for_each_entry-instead-of-list_for_each.patch mm-oom_killc-use-list_for_each_entry-instead-of-list_for_each.patch kernel-userc-use-list_for_each_entry-instead-of-list_for_each.patch use-mutex-instead-of-semaphore-in-the-host-ap-driver.patch use-mutex-instead-of-semaphore-in-the-onstream-scsi-tape-driver.patch use-mutex-instead-of-semaphore-in-the-scsi-tape-driver.patch use-mutex-instead-of-semaphore-in-isdn-subsystem-common-functions.patch use-mutex-instead-of-semaphore-in-the-dvb-frontend-tuning-interface.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html