lkml.org 
[lkml]   [2013]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] tty: nwpserial: Pass correct pointer to free_irq()
From
Date
Acked-off-by: Benjamin Krill <ben@codiert.org>

On Mon, 2013-05-20 at 19:07 +0200, Lars-Peter Clausen wrote:
> free_irq() expects the same pointer that was passed to request_irq(), otherwise
> the IRQ is not freed.
>
> The issue was found using the following coccinelle script:
>
> <smpl>
> @r1@
> type T;
> T devid;
> @@
> request_irq(..., devid)
>
> @r2@
> type r1.T;
> T devid;
> position p;
> @@
> free_irq@p(..., devid)
>
> @@
> position p != r2.p;
> @@
> *free_irq@p(...)
> </smpl>
>
> Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
> ---
> drivers/tty/serial/nwpserial.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/nwpserial.c b/drivers/tty/serial/nwpserial.c
> index 77287c5..549c70a 100644
> --- a/drivers/tty/serial/nwpserial.c
> +++ b/drivers/tty/serial/nwpserial.c
> @@ -199,7 +199,7 @@ static void nwpserial_shutdown(struct uart_port *port)
> dcr_write(up->dcr_host, UART_IER, up->ier);
>
> /* free irq */
> - free_irq(up->port.irq, port);
> + free_irq(up->port.irq, up);
> }
>
> static int nwpserial_verify_port(struct uart_port *port,




\
 
 \ /
  Last update: 2013-05-21 10:01    [W:0.028 / U:0.368 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site