ipack/devices/ipoctal: avoid re-enable RX two times.
authorSamuel Iglesias Gonsalvez <siglesias@igalia.com>
Mon, 10 Dec 2012 10:50:03 +0000 (11:50 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Jan 2013 02:24:38 +0000 (18:24 -0800)
RX is enabled when the tty port is open, so no need to do it in initialization
time: it can allow the device to receive characters but no TTY client is
listening to them.

It produced an infinite number of IRQ as RxFIFO is not read to clear that
IRQ in the device, so it is still pending.

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

index f2875f0f14d4297c3d48df45a7c7fedb98af4ca2..09e3a8e63e226feed3da33a9b860afd5527f7650 100644 (file)
@@ -60,6 +60,10 @@ static int ipoctal_port_activate(struct tty_port *port, struct tty_struct *tty)
 
        channel = dev_get_drvdata(tty->dev);
 
+       /*
+        * Enable RX. TX will be enabled when
+        * there is something to send
+        */
        iowrite8(CR_ENABLE_RX, &channel->regs->w.cr);
        return 0;
 }
@@ -385,12 +389,6 @@ static int ipoctal_inst_slot(struct ipoctal *ipoctal, unsigned int bus_nr,
                        continue;
                }
                dev_set_drvdata(tty_dev, channel);
-
-               /*
-                * Enable again the RX. TX will be enabled when
-                * there is something to send
-                */
-               iowrite8(CR_ENABLE_RX, &channel->regs->w.cr);
        }
 
        return 0;