DVB Update [PATCH 13/31] fix possible frontend deadlock

From: Manu Abraham
Date: Thu Sep 04 2008 - 16:27:55 EST


>From 8c37315b9966e21894a76b61177727b462992d65 Mon Sep 17 00:00:00 2001
From: Manu Abraham <manu@xxxxxxxxxxx>
Date: Thu, 4 Sep 2008 13:45:00 +0200
Subject: [PATCH] DVB Fix possible frontend deadlock

The frontend will deadlock if an unspecified delivery system
is specified. Before returning error for the unspecified
delivery system, unlock and then exit.

From: Marco Schluessler <marco@xxxxxxxxxxxxx>
Signed-off-by: Marco Schluessler <marco@xxxxxxxxxxxxx>
Signed-off-by: Manu Abraham <manu@xxxxxxxxxxx>

dvb_frontend.c | 1 +
1 file changed, 1 insertion(+)

>From 8c37315b9966e21894a76b61177727b462992d65 Mon Sep 17 00:00:00 2001
From: Manu Abraham <manu@xxxxxxxxxxx>
Date: Thu, 4 Sep 2008 13:45:00 +0200
Subject: [PATCH] DVB Fix possible frontend deadlock

The frontend will deadlock if an unspecified delivery system
is specified. Before returning error for the unspecified
delivery system, unlock and then exit.

From: Marco Schluessler <marco@xxxxxxxxxxxxx>
Signed-off-by: Marco Schluessler <marco@xxxxxxxxxxxxx>
Signed-off-by: Manu Abraham <manu@xxxxxxxxxxx>

diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 125facb..313c639 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -1789,6 +1789,7 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file,
fepriv->max_drift = 0;
break;
default:
+ up(&fepriv->sem);
return -EINVAL;
}
}