[PATCH v6 1/2] irqchip: imx-gpcv2: IMX GPCv2 driver for wakeup sources

Thomas Gleixner tglx at linutronix.de
Sun Jul 26 04:48:03 PDT 2015


On Wed, 22 Jul 2015, Shenwei Wang wrote:
> +static int imx_gpcv2_irq_set_wake(struct irq_data *d, unsigned int on)
> +{
> +	struct imx_gpcv2_irq *cd = d->chip_data;
> +	unsigned int idx = d->hwirq / 32;
> +	unsigned long flags;
> +	void __iomem *reg;
> +	u32 mask, val;
> +
> +	raw_spin_lock_irqsave(&cd->lock.rlock, flags);

Oh no. You need to make cd->lock a raw_spinlock and then use
raw_spin_lock_irqsave() on it. How on earth did you come up with this
hackery?

Thanks,

	tglx



More information about the linux-arm-kernel mailing list