Re: [PATCH] ipoctal: request_irq after configuration

From: Samuel Iglesias Gonsálvez
Date: Thu Jul 03 2014 - 04:57:16 EST


On Thu, 2014-07-03 at 10:53 +0200, Federico Vaga wrote:
> The request for an IRQ handler must be done after whole configuration. This
> was not the case for this driver which request the IRQ in the middle of
> the configuration. Sometimes, it happens that something is not completely
> configured, we recieve an interrupt thus we stumble into troubles in the
> IRQ handler.
>
> Signed-off-by: Federico Vaga <federico.vaga@xxxxxxx>
> ---
> drivers/ipack/devices/ipoctal.c | 15 ++++++++-------
> 1 file changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/ipack/devices/ipoctal.c b/drivers/ipack/devices/ipoctal.c
> index a7ec6f9..72fd761 100644
> --- a/drivers/ipack/devices/ipoctal.c
> +++ b/drivers/ipack/devices/ipoctal.c
> @@ -344,13 +344,6 @@ static int ipoctal_inst_slot(struct ipoctal *ipoctal, unsigned int bus_nr,
> &block_regs[i].w.imr);
> }
>
> - /*
> - * IP-OCTAL has different addresses to copy its IRQ vector.
> - * Depending of the carrier these addresses are accesible or not.
> - * More info in the datasheet.
> - */
> - ipoctal->dev->bus->ops->request_irq(ipoctal->dev,
> - ipoctal_irq_handler, ipoctal);
> /* Dummy write */
> iowrite8(1, ipoctal->mem8_space + 1);
>
> @@ -411,6 +404,14 @@ static int ipoctal_inst_slot(struct ipoctal *ipoctal, unsigned int bus_nr,
> dev_set_drvdata(tty_dev, channel);
> }
>
> + /*
> + * IP-OCTAL has different addresses to copy its IRQ vector.
> + * Depending of the carrier these addresses are accesible or not.
> + * More info in the datasheet.
> + */
> + ipoctal->dev->bus->ops->request_irq(ipoctal->dev,
> + ipoctal_irq_handler, ipoctal);
> +
> return 0;
> }
>

Acked-by: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx>

Greg, Would you mind picking this patch through your driver-core tree?
Together with "ipoctal: protect only the real critical section" patch.

Thanks,

Sam

Attachment: signature.asc
Description: This is a digitally signed message part