Staging: ipack/devices/ipoctal: fix oops when accessing "buffer"
authorSamuel Iglesias Gonsalvez <siglesias@igalia.com>
Mon, 25 Jun 2012 15:15:44 +0000 (17:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Jun 2012 17:50:00 +0000 (10:50 -0700)
The buffer[][] field was replaced by tty_port->xmit_buf field but there was
some places that "buffer" was still accessed, giving a kernel oops because
it was uninitialized.

Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ipack/devices/ipoctal.c

index 29214677ea0c56c4a9d8c559131278db32bc9db3..7fe1c932276be98ea5fb600a9b032c0bfdb88231 100644 (file)
@@ -46,7 +46,6 @@ struct ipoctal {
        struct scc2698_channel          *chan_regs;
        struct scc2698_block            *block_regs;
        struct ipoctal_stats            chan_stats[NR_CHANNELS];
-       char                            *buffer[NR_CHANNELS];
        unsigned int                    nb_bytes[NR_CHANNELS];
        unsigned int                    count_wr[NR_CHANNELS];
        wait_queue_head_t               queue[NR_CHANNELS];
@@ -305,7 +304,7 @@ static int ipoctal_irq_handler(void *arg)
                                continue;
                        }
                        spin_lock(&ipoctal->lock[channel]);
-                       value = ipoctal->buffer[channel][*pointer_write];
+                       value = ipoctal->tty_port[channel].xmit_buf[*pointer_write];
                        ipoctal_write_io_reg(ipoctal,
                                             &ipoctal->chan_regs[channel].u.w.thr,
                                             value);