From: Santosh Nayak Date: Sat, 23 Jun 2012 10:59:54 +0000 (-0300) Subject: dvb-core: Release semaphore on error path dvb_register_device() X-Git-Tag: v3.2.24~76 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=c4c5d62cb86eedb8aa4b87b2b8ae9f2b909b0b5b;p=karo-tx-linux.git dvb-core: Release semaphore on error path dvb_register_device() commit 82163edcdfa4eb3d74516cc8e9f38dd3d039b67d upstream. There is a missing "up_write()" here. Semaphore should be released before returning error value. Signed-off-by: Santosh Nayak Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Ben Hutchings --- diff --git a/drivers/media/dvb/dvb-core/dvbdev.c b/drivers/media/dvb/dvb-core/dvbdev.c index f73287775953..d5cda35dcc7e 100644 --- a/drivers/media/dvb/dvb-core/dvbdev.c +++ b/drivers/media/dvb/dvb-core/dvbdev.c @@ -243,6 +243,7 @@ int dvb_register_device(struct dvb_adapter *adap, struct dvb_device **pdvbdev, if (minor == MAX_DVB_MINORS) { kfree(dvbdevfops); kfree(dvbdev); + up_write(&minor_rwsem); mutex_unlock(&dvbdev_register_lock); return -EINVAL; }