aboutsummaryrefslogtreecommitdiff
path: root/drivers/serial
AgeCommit message (Collapse)Author
2008-07-23kgdb: kgdboc console poll hooks for mpsc uartJason Wessel
Add in console polling hooks for the mpsc uart for use with kgdb and kgdboc. Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
2008-07-23kgdb: kgdboc console poll hooks for cpm uartJason Wessel
Add in console polling hooks for the cpm uart for use with kgdb and kgdboc. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> CC: galak@kernel.crashing.org
2008-07-22port_fixups: Fix ups for tty port changesAlan Cox
I missed the cpm_uart one. Thanks to Kumar Gala for reporting it. A double check found samsung also needed fixing up. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-22serial: 8250: fix shared interrupts issues with SMP and RT kernelsAnton Vorontsov
With SMP kernels _irqsave spinlock disables only local interrupts, while the shared serial interrupt could be assigned to the CPU that is not currently starting up the serial port. This might cause issues because serial8250_startup() routine issues IRQ-triggering operations before registering the port in the IRQ chain (though, this is fine to do and done explicitly because we don't want to process any interrupts on the port startup). With RT kernels and preemptable hardirqs, _irqsave spinlock does not disable local hardirqs, and the bug could be reproduced much easily: $ cat /dev/ttyS0 & $ cat /dev/ttyS1 irq 42: nobody cared (try booting with the "irqpoll" option) Call Trace: [C0475EB0] [C0008A98] show_stack+0x4c/0x1ac (unreliable) [C0475EF0] [C004BBD4] __report_bad_irq+0x34/0xb8 [C0475F10] [C004BD38] note_interrupt+0xe0/0x308 [C0475F50] [C004B09C] thread_simple_irq+0xdc/0x104 [C0475F70] [C004B3FC] do_irqd+0x338/0x3c8 [C0475FC0] [C00398E0] kthread+0xf8/0x100 [C0475FF0] [C0011FE0] original_kernel_thread+0x44/0x60 handlers: [<c02112c4>] (serial8250_interrupt+0x0/0x138) Disabling IRQ #42 After this, all serial ports on the given IRQ are non-functional. To fix the issue we should explicitly disable shared IRQ before issuing any IRQ-triggering operations. I also changed spin_lock_irqsave to the ordinary spin_lock, since it seems to be safe: chain does not contain new port (yet), thus nobody will interfere us from the ISRs. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-22tty: rework break handlingAlan Cox
Some hardware needs to do break handling itself and may have partial support only. Make break_ctl return an error code. Add a tty driver flag so you can indicate driver hardware side break support. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-22ttydev: Fix up compile failures in the PPC buildAlan Cox
Fix up a couple of reported merge problems Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-20atmel_serial: Fix tty_port breakageHaavard Skinnemoen
The tty pointer has been moved into a tty_port field, so we need to use ->info->port.tty instead of just ->info->tty. Fixes these build errors: David Brownell <david-b@pacbell.net> wrote: > drivers/serial/atmel_serial.c: In function 'atmel_rx_from_ring': > drivers/serial/atmel_serial.c:665: error: 'struct uart_info' has no member named 'tty' > drivers/serial/atmel_serial.c: In function 'atmel_rx_from_dma': > drivers/serial/atmel_serial.c:672: error: 'struct uart_info' has no member named 'tty' > drivers/serial/atmel_serial.c: In function 'atmel_startup': > drivers/serial/atmel_serial.c:797: error: 'struct uart_info' has no member named 'tty' > make[2]: *** [drivers/serial/atmel_serial.o] Error 1 Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-20Fix compile errors in SGI console drivers (linux-next tree)Takashi Iwai
The below is the patch to replace blindly all possible places, including Jack's fixes. Signed-off-by: Takashi Iwai <tiwai@suse.de> (Reviewed and checked rather than blindly added) Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-20- Fix compile errors in SGI console drivers (linux-next tree)Jack Steiner
Fix compile errors in SGI console drivers caused by changes to the tty_port structures in the linux-next tree. Signed-off-by: Jack Steiner <steiner@sgi.com> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-20ttydev: fix pamc_zilog for tty pointer moveStephen Rothwell
Today's linux-next build (powerpc allyesconfig) failed like this: drivers/serial/pmac_zilog.c: In function 'pmz_receive_chars': drivers/serial/pmac_zilog.c:245: error: 'struct uart_info' has no member named 'tty' drivers/serial/pmac_zilog.c:250: error: 'struct uart_info' has no member named 'tty' I applied the patch below (which builds but may, or may not, be correct). -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-20ttydev: fix pamc_zilog for tty pointer moveStephen Rothwell
Today's linux-next build (sparc64 defconfig) failed like this: drivers/serial/sunhv.c: In function `receive_chars': drivers/serial/sunhv.c:188: error: structure has no member named `tty' drivers/serial/sunsu.c: In function `receive_chars': drivers/serial/sunsu.c:314: error: structure has no member named `tty' drivers/serial/sunsab.c: In function `receive_chars': drivers/serial/sunsab.c:121: error: structure has no member named `tty' I applied the following patch (which, again, may not be correct). Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-20serial: use tty_portAlan Cox
Switch the serial_core based drivers to use the new tty_port structure. We can't quite use all of it yet because of the dynamically allocated extras in the serial_core layer. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-20drivers/serial/: remove CVS keywordsAdrian Bunk
This patch removes CVS keywords that weren't updated for a long time in comments, printk's and MODULE_DESCRIPTION's (no printk's or MODULE_DESCRIPTION's are completely removed). While doing this I also found and fixed a missing \n in a printk in m32r_sio.c Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-20Subject: [PATCH 2/2] atmel_serial: Implement flush_buffer() hookHaavard Skinnemoen
Avoid dumping garbage to the serial port when the tty is flushed. This tends to happen when rebooting from a serial console. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-20Subject: [PATCH 1/2] serial: Add flush_buffer() operation to uart_opsHaavard Skinnemoen
Serial drivers using DMA (like the atmel_serial driver) tend to get very confused when the xmit buffer is flushed and nobody told them. They also tend to spew a lot of garbage since the DMA engine keeps running after the buffer is flushed and possibly refilled with unrelated data. This patch adds a new flush_buffer operation to the uart_ops struct, along with a call to it from uart_flush_buffer() right after the xmit buffer has been cleared. The driver can implement this in order to syncronize its internal DMA state with the xmit buffer when the buffer is flushed. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-16PNP: add pnp_possible_config() -- can a device could be configured this way?Bjorn Helgaas
As part of a heuristic to identify modem devices, 8250_pnp.c checks to see whether a device can be configured at any of the legacy COM port addresses. This patch moves the code that traverses the PNP "possible resource options" from 8250_pnp.c to the PNP subsystem. This encapsulation is important because a future patch will change the implementation of those resource options. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andi Kleen <ak@linux.intel.com> Acked-by: Rene Herman <rene.herman@gmail.com> Signed-off-by: Len Brown <len.brown@intel.com>
2008-07-15Merge commit '85082fd7cbe3173198aac0eb5e85ab1edcc6352c' into test-buildBenjamin Herrenschmidt
Manual fixup of: arch/powerpc/Kconfig
2008-07-14Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (241 commits) [ARM] 5171/1: ep93xx: fix compilation of modules using clocks [ARM] 5133/2: at91sam9g20 defconfig file [ARM] 5130/4: Support for the at91sam9g20 [ARM] 5160/1: IOP3XX: gpio/gpiolib support [ARM] at91: Fix NAND FLASH timings for at91sam9x evaluation kits. [ARM] 5084/1: zylonite: Register AC97 device [ARM] 5085/2: PXA: Move AC97 over to the new central device declaration model [ARM] 5120/1: pxa: correct platform driver names for PXA25x and PXA27x UDC drivers [ARM] 5147/1: pxaficp_ir: drop pxa_gpio_mode calls, as pin setting [ARM] 5145/1: PXA2xx: provide api to control IrDA pins state [ARM] 5144/1: pxaficp_ir: cleanup includes [ARM] pxa: remove pxa_set_cken() [ARM] pxa: allow clk aliases [ARM] Feroceon: don't disable BPU on boot [ARM] Orion: LED support for HP mv2120 [ARM] Orion: add RD88F5181L-FXO support [ARM] Orion: add RD88F5181L-GE support [ARM] Orion: add Netgear WNR854T support [ARM] s3c2410_defconfig: update for current build [ARM] Acer n30: Minor style and indentation fixes. ...
2008-07-14Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6Linus Torvalds
* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: (31 commits) avr32: Fix typo of IFSR in a comment in the PIO header file avr32: Power Management support ("standby" and "mem" modes) avr32: Add system device for the internal interrupt controller (intc) avr32: Add simple SRAM allocator avr32: Enable SDRAMC clock at startup rtc-at32ap700x: Enable wakeup macb: Basic suspend/resume support atmel_serial: Drain console TX shifter before suspending atmel_serial: Fix build on avr32 with CONFIG_PM enabled avr32: Use a quicklist for PTE allocation as well avr32: Use a quicklist for PGD allocation avr32: Cover the kernel page tables in the user PGDs avr32: Store virtual addresses in the PGD avr32: Remove useless zeroing of swapper_pg_dir at startup avr32: Clean up and optimize the TLB operations avr32: Rename at32ap.c -> pdc.c avr32: Move setup_platform() into chip-specific file avr32: Kill special exception handler sections avr32: Kill unneeded #include <asm/pgalloc.h> from asm/mmu_context.h avr32: Clean up time.c #includes ...
2008-07-14cpm_uart: Support uart_wait_until_sent()Laurent Pinchart
Set port->fifosize to the software FIFO size, and update the port timeout when the baud rate is modified. SCC ports have an optional 32 byte hardware FIFO which is currently not taken into account, as there is no documented way to check when the FIFO becomes empty. Signed-off-by: Laurent Pinchart <laurentp@cse-semaphore.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-07-14cpm_uart: Fix cpm uart corruption with PREEMPT_RTRune Torgersen
Fix CPM serial port corruption when running with CONFIG_PREEMPT_RT. Userland usage of console, and kernel printf's were stepping on each others toes. Also only take lock if not in an oops. Signed-off-by: Rune Torgersen <runet@innovsys.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-07-14Merge commit 'origin/HEAD' into test-mergeBenjamin Herrenschmidt
Manual fixup of include/asm-powerpc/pgtable-ppc64.h
2008-07-12serial8250: sanity check nr_uarts on all paths.Eric W. Biederman
I had 8250.nr_uarts=16 in the boot line of a test kernel and I had a weird mysterious crash in sysfs. After taking an in-depth look I realized that CONFIG_SERIAL_8250_NR_UARTS was set to 4 and I was walking off the end of the serial8250_ports array. Ouch!!! Don't let this happen to someone else. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Acked-by: Alan Cox <alan@redhat.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-10Merge branch 'imx' into develRussell King
Conflicts: arch/arm/mm/Kconfig
2008-07-05MX2 add support for mx2 in i.MX serial driverSascha Hauer
add support for mx2 in i.MX serial driver Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-07-05mxc: add MX3 support for i.MX internal UART driverSascha Hauer
This patch adds MX3 support for the i.MX internal uart driver. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-07-05IMX: introduce clock APISascha Hauer
This patch introduces the clock API for i.MX and converts all in-Kernel drivers to use it. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-07-05IMX UART: remove statically initialized tablesSascha Hauer
This patch removes the statically initialized tables from the i.MX serial driver and makes the driver fully dependent on the information provided by the platform_device. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-07-05IMX UART: Add board specific init/exit functionsSascha Hauer
Add platform specific init functions. Also rename the struct platform_device dev into pdev. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-07-05IMX UART: do not assume 16MHz reference frequencySascha Hauer
We assumed a 16MHz reference frequency for the UART. While this is true for i.MX1 most of the time it is not true for MX27/MX31. Also, add handling for the ONEMS register which is present on newer versions of the chip and pass a sane minimum baudrate to uart_get_baud_rate(). Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2008-07-04serial: fix serial_match_port() for dynamic major tty-device numbersGuennadi Liakhovetski
As reported by Vipul Gandhi, the current serial_match_port() doesn't work for tty-devices using dynamic major number allocation. Fix it. It oopses if you suspend a serial port with _dynamic_ major number. ATM, I think, there's only the drivers/serial/jsm/jsm_driver.c driver, that does it in-tree. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Tested-by: Vipul Gandhi <vcgandhi1@aol.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-03[ARM] S3C24XX: Split serial driver into core and per-cpu driversBen Dooks
The S3C2410 serial driver in drivers/serial/s3c2410.c has been growing bigger with the addition of more variants of this hardware with the growing Samsung SoCs range. As such, it would be easier to split this code up into a core and per-cpu drivers to make driver addition easier, and the core smaller. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
2008-07-03[ARM] S3C2410: Add sysfs attribute for serial driver clock sourceBen Dooks
Add attribute to show the current clock source for the serial driver and remove old and annoying debug output. Note, this only currently shows the current source with a "* " prefix to indicate that it is the current source. Future code will list all the clock sources, with the non-selected one with " " prefix. Signed-off-by: Ben Dooks <ben-linux@fluff.org> PATCH FOLLOWS KernelVersion: 2.6.26-rc3
2008-07-03[ARM] 5054/1: S3C2410: Add GPLv2 license to the s3c2410 serial driverBen Dooks
The original driver had an MODULE_LICENSE statement for GPL, but no explict license in the header of the file. To make this more explicit, and since I am the original authour, we will add a GPLv2 header. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-07-03[ARM] 5050/1: S3C2410: Cleanup header on S3C2410 serial driverBen Dooks
Remove the changelog which should really be found in the version control system. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-07-02atmel_serial: Drain console TX shifter before suspendingHaavard Skinnemoen
Funny things may happen if we stop the USART clock before the shifter is empty. Prevent this from happening by waiting until the shifter is completely drained before allowing suspend to continue. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Cc: Andrew Victor <linux@maxim.org.za>
2008-07-02atmel_serial: Fix build on avr32 with CONFIG_PM enabledHaavard Skinnemoen
AVR32 doesn't have at91_suspend_entering_slow_clock(). Just assume the clock will keep running for now. David has a better solution for this, but this works for now. Leaving the USART clock running won't prevent the PM code from entering deep power-down modes anyway. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Cc: David Brownell <david-b@pacbell.net> Cc: Andrew Victor <linux@maxim.org.za>
2008-06-30Merge branch 'linux-2.6'Paul Mackerras
2008-06-26cpm_uart: Remove !CONFIG_PPC_CPM_NEW_BINDING codeKumar Gala
Now that arch/ppc is gone we always define CONFIG_PPC_CPM_NEW_BINDING so we can remove all the code associated with !CONFIG_PPC_CPM_NEW_BINDING. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-06-26cpm_uart: fix whitespace issuesKumar Gala
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2008-06-19Blackfin Serial Driver: Use timer to poll CTS PIN instead of workqueue.Sonic Zhang
This allows other threads to run when the serial driver polls the CTS PIN in a loop. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-06-09of_serial: Use linux/of_platform.h instead of asmStephen Rothwell
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-06-07Blackfin serial driver: fix up tty core set_ldisc API change breakage bugGraf Yang
This is the patch that follows Linus's modification about set_ldisc. Graf has built and tested it on BF537 using Linus's git Tree. Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-06-06atmel_serial: filter out FP during baud rate detectionHaavard Skinnemoen
I made a change to u-boot that used the FP (Fractional Part) field of BRGR to achieve more accurate baud rate generation. Unfortunately, the atmel_serial driver looks at the whole BRGR register when trying to detect the baud rate that the port is currently running at, so setting FP to a nonzero value breaks the baud rate detection. I'll sit on the u-boot patch for a while longer, but this is clearly a bug in the atmel_serial driver which should be fixed. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Acked-by: Andrew Victor <linux@maxim.org.za> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-06-06serial: fix driver_name conflictsAnton Vorontsov
Some drivers are using too generic "serial" name for driver_name, this might cause issues, like this: Freescale QUICC Engine UART device driver proc_dir_entry 'serial' already registered Call Trace: [cf82de50] [c0007f7c] show_stack+0x4c/0x1ac (unreliable) [cf82de90] [c00b03fc] proc_register+0xfc/0x1ac [cf82dec0] [c00b05c8] create_proc_entry+0x60/0xac [cf82dee0] [c00b23dc] proc_tty_register_driver+0x60/0x98 [cf82def0] [c016dbd8] tty_register_driver+0x1b4/0x228 [cf82df20] [c0184d70] uart_register_driver+0x144/0x194 [cf82df40] [c030a378] ucc_uart_init+0x2c/0x94 [cf82df50] [c02f21a0] kernel_init+0x98/0x27c [cf82dff0] [c000fa74] kernel_thread+0x44/0x60 ^^ The board is using ucc_uart.c and 8250.c, both registered as "serial". This patch fixes two drivers that are using "serial" for driver_name and not "ttyS" for dev_name. Drivers that are using "ttyS" for dev_name, will conflict anyway, so we don't bother with these. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by: Alan Cox <alan@redhat.com> Acked-By: Timur Tabi <timur@freescale.com> Acked-by: Maciej W. Rozycki <macro@linux-mips.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-06-04Fix uart_set_ldisc() function typeLinus Torvalds
Commit 64e9159f5d2c4edf5fa6425031e556f8fddaf7e6 ("serial_core: uart_set_ldisc infrastructure") introduced the ability for low-level serial drivers to be informed when the tty ldisc changes. However, the actual tty-layer function that does this callback for serial devices was declared with the wrong type, having a spurious and unused 'ldisc' argument. This fixed the resulting compiler warning by just removing it. Acked-by: Blithering Idiot <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-06-03serial_core: uart_set_ldisc infrastructureAlan Cox
The tty layer provides a callback that is used when the line discipline is changed. Some hardware uses this to configure hardware specific features such as IrDA mode on serial ports. Unfortunately the serial layer does not provide this feature or pass it down to drivers. Blackfin used to hack around this by rewriting the tty ops, but those are now properly shared and const so the hack fails. Instead provide the proper operations. This change plus a follow up from the Blackfin guys is needed to avoid blackfin losing features in this release. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-06-03Blackfin Serial Driver: Clean up BF54x macro in blackfin UART driver.Sonic Zhang
Hide difference in head file. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-05-318250 Serial Driver: revert extra IRQ flag definition patchBryan Wu
As Russell pointed out, original patch will break some serial configurations because of the dependency of the <asm/serial.h> header file. Revert it first and try to find out other solution later Cc: Javier Herrero <jherrero@hvsistemas.es> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Russell King <rmk+lkml@arm.linux.org.uk> Signed-off-by: Bryan Wu <cooloney@kernel.org>
2008-05-24serial: fix enable_irq_wake/disable_irq_wake imbalance in serial_core.cArjan van de Ven
enable_irq_wake() and disable_irq_wake() need to be balanced. However, serial_core.c calls these for different conditions during the suspend and resume functions... This is causing a regular WARN_ON() as found at http://www.kerneloops.org/search.php?search=set_irq_wake This patch makes the conditions for triggering the _wake enable/disable sequence identical. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>