Patch "rtc: ds1685: passing bogus values to irq_restore" has been added to the 4.5-stable tree
This is a note to let you know that I've just added the patch titled
rtc: ds1685: passing bogus values to irq_restore
to the 4.5-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
rtc-ds1685-passing-bogus-values-to-irq_restore.patch
and it can be found in the queue-4.5 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
8c09b9fdecab1f4a289f07b46e2ad174b6641928Mon Sep 17 00:00:00 2001
From: Dan Carpenter <[email protected]>
Date: Wed, 2 Mar 2016 13:07:45 +0300
Subject: rtc: ds1685: passing bogus values to irq_restore
From: Dan Carpenter <[email protected]>
commit 8c09b9fdecab1f4a289f07b46e2ad174b6641928 upstream.
We call spin_lock_irqrestore with "flags" set to zero instead of to the value from spin_lock_irqsave().
--- drivers/rtc/rtc-ds1685.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/rtc/rtc-ds1685.c +4 -4
@@ -187,9 +187,9 @@ ds1685_rtc_end_data_access(struct ds1685* Only use this where you are certain another lock will not be held. */ static inline void -ds1685_rtc_begin_ctrl_access (struct ds1685_priv *rtc,unsigned long flags) +ds1685_rtc_begin_ctrl_access (struct ds1685_priv *rtc,unsigned long *flags) { -spin_lock_irqsave (&rtc->lock, flags); +spin_lock_irqsave (&rtc->lock, *flags);ds1685_rtc_switch_to_bank1 (rtc); }
@@ -1300,7 +1300,7 @@ ds1685_rtc_sysfs_ctrl_regs_store(struct {struct ds1685_priv *rtc =dev_get_drvdata (dev);u8 reg =0 , bit =0 , tmp; -unsigned long flags =0 ; +unsigned long flags;long int val =0 ;const struct ds1685_rtc_ctrl_regs *reg_info =ds1685_rtc_sysfs_ctrl_regs_lookup (attr->attr.name);
@@ -1321,7 +1321,7 @@ ds1685_rtc_sysfs_ctrl_regs_store(struct bit = reg_info->bit;/* Safe to spinlock during a write. */ -ds1685_rtc_begin_ctrl_access (rtc, flags); +ds1685_rtc_begin_ctrl_access (rtc, &flags); tmp = rtc->read (rtc, reg); rtc->write (rtc, reg, (val ? (tmp | bit) : (tmp & ~(bit))));ds1685_rtc_end_ctrl_access (rtc, flags);
Patches currently in stable-queue which might be from [email protected] are
queue-4.5/misc-mic-scif-fix-wrap-around-tests.patch queue-4.5/drm-amdkfd-uninitialized-variable-in-dbgdev_wave_control_set_registers.patch queue-4.5/rtc-ds1685-passing-bogus-values-to-irq_restore.patch