Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4333deee authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Jonathan Corbet
Browse files

rtc: BKL pushdown



Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent f29b889e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/spinlock.h>
#include <linux/smp_lock.h>
#include <linux/sysctl.h>
#include <linux/wait.h>
#include <linux/bcd.h>
@@ -733,6 +734,7 @@ static int rtc_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
 * needed here. Or anywhere else in this driver. */
static int rtc_open(struct inode *inode, struct file *file)
{
	lock_kernel();
	spin_lock_irq(&rtc_lock);

	if (rtc_status & RTC_IS_OPEN)
@@ -742,10 +744,12 @@ static int rtc_open(struct inode *inode, struct file *file)

	rtc_irq_data = 0;
	spin_unlock_irq(&rtc_lock);
	unlock_kernel();
	return 0;

out_busy:
	spin_unlock_irq(&rtc_lock);
	unlock_kernel();
	return -EBUSY;
}