linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/1] pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler
@ 2020-04-17  3:04 Grace Kao
  2020-04-17  3:19 ` Brian Norris
  2020-04-17  4:11 ` Grace Kao
  0 siblings, 2 replies; 5+ messages in thread
From: Grace Kao @ 2020-04-17  3:04 UTC (permalink / raw)
  To: linux-gpio
  Cc: Mika Westerberg, Andy Shevchenko, Linus Walleij, linux-kernel,
	briannorris, grace.kao

According to Braswell NDA Specification Update (#557593),
concurrent read accesses may result in returning 0xffffffff and write
instructions may be dropped. We have an established format for the
commit references, i.e.
cdca06e4e859 ("pinctrl: baytrail: Add missing spinlock usage in
byt_gpio_irq_handler")

Signed-off-by: Grace Kao <grace.kao@intel.com>
---
 drivers/pinctrl/intel/pinctrl-cherryview.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c
index 4c74fdde576d..1093a6105d40 100644
--- a/drivers/pinctrl/intel/pinctrl-cherryview.c
+++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
@@ -1479,11 +1479,15 @@ static void chv_gpio_irq_handler(struct irq_desc *desc)
 	struct chv_pinctrl *pctrl = gpiochip_get_data(gc);
 	struct irq_chip *chip = irq_desc_get_chip(desc);
 	unsigned long pending;
+	unsigned long flags;
 	u32 intr_line;
 
 	chained_irq_enter(chip, desc);
 
+	raw_spin_lock_irqsave(&chv_lock, flags);
 	pending = readl(pctrl->regs + CHV_INTSTAT);
+	raw_spin_unlock_irqrestore(&chv_lock, flags);
+
 	for_each_set_bit(intr_line, &pending, pctrl->community->nirqs) {
 		unsigned int irq, offset;
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/1] pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler
  2020-04-17  3:04 [PATCH v2 1/1] pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler Grace Kao
@ 2020-04-17  3:19 ` Brian Norris
  2020-04-17  4:11 ` Grace Kao
  1 sibling, 0 replies; 5+ messages in thread
From: Brian Norris @ 2020-04-17  3:19 UTC (permalink / raw)
  To: Grace Kao
  Cc: linux-gpio, Mika Westerberg, Andy Shevchenko, Linus Walleij,
	Linux Kernel

[Regarding subject: this says v2 -- where's v1?]

Hi,

On Thu, Apr 16, 2020 at 8:07 PM Grace Kao <grace.kao@intel.com> wrote:
>
> According to Braswell NDA Specification Update (#557593),
> concurrent read accesses may result in returning 0xffffffff and write
> instructions may be dropped. We have an established format for the
> commit references, i.e.
> cdca06e4e859 ("pinctrl: baytrail: Add missing spinlock usage in
> byt_gpio_irq_handler")
>

Might deserve a Fixes tag and Cc stable:

Fixes: 0bd50d719b00 pinctrl: cherryview: prevent concurrent access to
GPIO controllers
Cc: stable@vger.kernel.org>

> Signed-off-by: Grace Kao <grace.kao@intel.com>

Seems like you should at least give me the reporter credit, if not the
actual authorship, since I did in fact write this patch...

Reported-by: Brian Norris <briannorris@chromium.org>

And since I approve of my own patch:

Reviewed-by: Brian Norris <briannorris@chromium.org>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v2 1/1] pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler
  2020-04-17  3:04 [PATCH v2 1/1] pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler Grace Kao
  2020-04-17  3:19 ` Brian Norris
@ 2020-04-17  4:11 ` Grace Kao
  2020-04-17  9:08   ` Mika Westerberg
  1 sibling, 1 reply; 5+ messages in thread
From: Grace Kao @ 2020-04-17  4:11 UTC (permalink / raw)
  To: linux-gpio
  Cc: Mika Westerberg, Andy Shevchenko, Linus Walleij, linux-kernel,
	briannorris, grace.kao

According to Braswell NDA Specification Update (#557593),
concurrent read accesses may result in returning 0xffffffff and write
instructions may be dropped. We have an established format for the
commit references, i.e.
cdca06e4e859 ("pinctrl: baytrail: Add missing spinlock usage in
byt_gpio_irq_handler")

Signed-off-by: Grace Kao <grace.kao@intel.com>
Reported-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Brian Norris <briannorris@chromium.org>
---
 drivers/pinctrl/intel/pinctrl-cherryview.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c
index 4c74fdde576d..1093a6105d40 100644
--- a/drivers/pinctrl/intel/pinctrl-cherryview.c
+++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
@@ -1479,11 +1479,15 @@ static void chv_gpio_irq_handler(struct irq_desc *desc)
 	struct chv_pinctrl *pctrl = gpiochip_get_data(gc);
 	struct irq_chip *chip = irq_desc_get_chip(desc);
 	unsigned long pending;
+	unsigned long flags;
 	u32 intr_line;
 
 	chained_irq_enter(chip, desc);
 
+	raw_spin_lock_irqsave(&chv_lock, flags);
 	pending = readl(pctrl->regs + CHV_INTSTAT);
+	raw_spin_unlock_irqrestore(&chv_lock, flags);
+
 	for_each_set_bit(intr_line, &pending, pctrl->community->nirqs) {
 		unsigned int irq, offset;
 
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/1] pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler
  2020-04-17  4:11 ` Grace Kao
@ 2020-04-17  9:08   ` Mika Westerberg
  2020-04-17 13:19     ` Andy Shevchenko
  0 siblings, 1 reply; 5+ messages in thread
From: Mika Westerberg @ 2020-04-17  9:08 UTC (permalink / raw)
  To: Grace Kao
  Cc: linux-gpio, Andy Shevchenko, Linus Walleij, linux-kernel, briannorris

On Fri, Apr 17, 2020 at 12:11:54PM +0800, Grace Kao wrote:
> According to Braswell NDA Specification Update (#557593),
> concurrent read accesses may result in returning 0xffffffff and write
> instructions may be dropped. We have an established format for the
> commit references, i.e.
> cdca06e4e859 ("pinctrl: baytrail: Add missing spinlock usage in
> byt_gpio_irq_handler")
> 
> Signed-off-by: Grace Kao <grace.kao@intel.com>
> Reported-by: Brian Norris <briannorris@chromium.org>
> Reviewed-by: Brian Norris <briannorris@chromium.org>

Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/1] pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler
  2020-04-17  9:08   ` Mika Westerberg
@ 2020-04-17 13:19     ` Andy Shevchenko
  0 siblings, 0 replies; 5+ messages in thread
From: Andy Shevchenko @ 2020-04-17 13:19 UTC (permalink / raw)
  To: Mika Westerberg
  Cc: Grace Kao, open list:GPIO SUBSYSTEM, Andy Shevchenko,
	Linus Walleij, Linux Kernel Mailing List, Brian Norris

On Fri, Apr 17, 2020 at 12:08 PM Mika Westerberg
<mika.westerberg@linux.intel.com> wrote:
>
> On Fri, Apr 17, 2020 at 12:11:54PM +0800, Grace Kao wrote:
> > According to Braswell NDA Specification Update (#557593),
> > concurrent read accesses may result in returning 0xffffffff and write
> > instructions may be dropped. We have an established format for the
> > commit references, i.e.
> > cdca06e4e859 ("pinctrl: baytrail: Add missing spinlock usage in
> > byt_gpio_irq_handler")
> >
> > Signed-off-by: Grace Kao <grace.kao@intel.com>
> > Reported-by: Brian Norris <briannorris@chromium.org>
> > Reviewed-by: Brian Norris <briannorris@chromium.org>
>
> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Applied for fixes, thanks!

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-04-17 13:19 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-17  3:04 [PATCH v2 1/1] pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler Grace Kao
2020-04-17  3:19 ` Brian Norris
2020-04-17  4:11 ` Grace Kao
2020-04-17  9:08   ` Mika Westerberg
2020-04-17 13:19     ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).