From 3f73f14a5337acf107275770d7cb6b32ea9d79e5 Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Fri, 9 Dec 2011 21:37:00 -0300 Subject: [PATCH] --- yaml --- r: 285439 b: refs/heads/master c: b9d5efcceb6b34ee20111b62cf7be61ae79af4e9 h: refs/heads/master i: 285437: 0ceaef337480a0fbbee0fef2b1a16e6cf94a8e02 285435: 357907b30ff72b93521237fca19476f0c39d1995 285431: 4dea3c85c837d2c053e957b2b0c6fbef47074713 285423: 45b8c3e4e840a34846d13184378e871a9442b38c 285407: df05f0802063c12598e04b265d78590f8991c2fe 285375: fb871ff4c707ada7f96f738622e38cc45e569574 285311: 938aa4a383c9b500f46fb4c9a11d885b9daee87d 285183: 72c95682c71bc90a00800bb426018585271e697b v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/dvb-core/dvb_frontend.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index fa1df97cc5cf..3fe34e131961 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a1dca1e30ac7991d8a90a3377008c850eb466edf +refs/heads/master: b9d5efcceb6b34ee20111b62cf7be61ae79af4e9 diff --git a/trunk/drivers/media/dvb/dvb-core/dvb_frontend.c b/trunk/drivers/media/dvb/dvb-core/dvb_frontend.c index 66537b10132c..3ff37cfde6ab 100644 --- a/trunk/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/trunk/drivers/media/dvb/dvb-core/dvb_frontend.c @@ -507,7 +507,7 @@ static int dvb_frontend_is_exiting(struct dvb_frontend *fe) return 1; if (fepriv->dvbdev->writers == 1) - if (time_after(jiffies, fepriv->release_jiffies + + if (time_after_eq(jiffies, fepriv->release_jiffies + dvb_shutdown_timeout * HZ)) return 1; @@ -2116,12 +2116,15 @@ static int dvb_frontend_release(struct inode *inode, struct file *file) dprintk ("%s\n", __func__); - if ((file->f_flags & O_ACCMODE) != O_RDONLY) + if ((file->f_flags & O_ACCMODE) != O_RDONLY) { fepriv->release_jiffies = jiffies; + mb(); + } ret = dvb_generic_release (inode, file); if (dvbdev->users == -1) { + wake_up(&fepriv->wait_queue); if (fepriv->exit != DVB_FE_NO_EXIT) { fops_put(file->f_op); file->f_op = NULL;