sdio_uart: Fix oops caused by the previous changeset
authorNicolas Pitre <nico@fluxnic.net>
Thu, 5 Nov 2009 13:28:17 +0000 (13:28 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 11 Dec 2009 23:18:05 +0000 (15:18 -0800)
Now... testing reveals that the very first patch "sdio_uart: use
tty_port" causes a segmentation fault in sdio_uart_open():

Unable to handle kernel NULL pointer dereference at virtual address 00000084
pgd = dfb44000 [00000084] *pgd=1fb99031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT
last sysfs file:
/sys/devices/platform/mvsdio/mmc_host/mmc0/mmc0:f111/uevent
Modules linked in:
CPU: 0    Not tainted  (2.6.32-rc5-next-20091102-00001-gb36eae9 #10)
PC is at sdio_uart_open+0x204/0x2cc
[...]

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/mmc/card/sdio_uart.c

index c2759dbfdfd29c03ce6cf14162c0282a0c66ffa6..671fe5efabf3eac81ab31ff39bc76e58459e0848 100644 (file)
@@ -608,7 +608,7 @@ static int sdio_uart_startup(struct sdio_uart_port *port)
                if (!(sdio_uart_get_mctrl(port) & TIOCM_CTS))
                        tty->hw_stopped = 1;
 
-       clear_bit(TTY_IO_ERROR, &port->tty->flags);
+       clear_bit(TTY_IO_ERROR, &tty->flags);
 
        /* Kick the IRQ handler once while we're still holding the host lock */
        sdio_uart_irq(port->func);