--- MCS9865_Linux/mcs9865.c 2008-05-16 01:40:42.000000000 -0500 +++ MCS9865_Linux-26316/mcs9865.c 2009-11-28 14:38:08.000000000 -0600 @@ -619,7 +619,7 @@ static _INLINE_ void receive_chars(struct uart_9865_port *up, u8 *status, struct pt_regs *regs) #endif { - struct tty_struct *tty = up->port.info->tty; + struct tty_struct *tty = up->port.info->port.tty; u8 ch,lsr = *status; int max_count = 256; unsigned int flag; @@ -849,7 +849,7 @@ //Helper function to do the necessary action upon the successful completion of data receive in DMA mode static void receive_chars_dma_done(struct uart_9865_port * up, int iirg) { - struct tty_struct *tty = up->port.info->tty; + struct tty_struct *tty = up->port.info->port.tty; int i,rxdma_done=0; u16 received_bytes; u32 need2recv; @@ -954,7 +954,7 @@ #endif { u8 status = serial_in(up, UART_LSR); - struct tty_struct *tty=up->port.info->tty; + struct tty_struct *tty=up->port.info->port.tty; DEBUG("In %s ---------------------------------------START\n",__FUNCTION__); DEBUG("UART_LSR = %x...", status); @@ -2065,7 +2065,7 @@ } //Register a ISR - if ((retval = request_irq(dev->irq, serial9865_interrupt,SA_SHIRQ,"mcs9865-serial",&serial9865_ports[retval]))) + if ((retval = request_irq(dev->irq, serial9865_interrupt,IRQF_SHARED,"mcs9865-serial",&serial9865_ports[retval]))) goto disable; DEBUG("In %s ---------------------------------------END\n",__FUNCTION__);