From: govindraj.raja@ti.com (Govindraj.R)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 05/12] OMAP: Serial: Hold console lock for console usage.
Date: Fri, 29 Apr 2011 18:09:49 +0530 [thread overview]
Message-ID: <1304080796-625-6-git-send-email-govindraj.raja@ti.com> (raw)
In-Reply-To: <1304080796-625-1-git-send-email-govindraj.raja@ti.com>
Acquire console lock before enabling and writing to console-uart
to avoid any recursive prints from console write.
for ex:
--> printk
--> uart_console_write
--> get_sync
--> printk from omap_device enable
--> uart_console write
Also during bootup console_lock is not available.
--> uart_add_one_port
--> console_register
--> console_lock
--> console_unlock
--> call_console_drivers (here yet console_lock is not released)
--> uart_console_write
Hence convert prints from omap_device_enable/disable to pr_debug.
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
---
arch/arm/plat-omap/omap_device.c | 8 ++++----
drivers/tty/serial/omap-serial.c | 8 +++++++-
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c
index 9bbda9a..f7c6dca 100644
--- a/arch/arm/plat-omap/omap_device.c
+++ b/arch/arm/plat-omap/omap_device.c
@@ -145,12 +145,12 @@ static int _omap_device_activate(struct omap_device *od, u8 ignore_lat)
odpl->activate_lat_worst = act_lat;
if (odpl->flags & OMAP_DEVICE_LATENCY_AUTO_ADJUST) {
odpl->activate_lat = act_lat;
- pr_warning("omap_device: %s.%d: new worst case "
+ pr_debug("omap_device: %s.%d: new worst case "
"activate latency %d: %llu\n",
od->pdev.name, od->pdev.id,
od->pm_lat_level, act_lat);
} else
- pr_warning("omap_device: %s.%d: activate "
+ pr_debug("omap_device: %s.%d: activate "
"latency %d higher than exptected. "
"(%llu > %d)\n",
od->pdev.name, od->pdev.id,
@@ -213,12 +213,12 @@ static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat)
odpl->deactivate_lat_worst = deact_lat;
if (odpl->flags & OMAP_DEVICE_LATENCY_AUTO_ADJUST) {
odpl->deactivate_lat = deact_lat;
- pr_warning("omap_device: %s.%d: new worst case "
+ pr_debug("omap_device: %s.%d: new worst case "
"deactivate latency %d: %llu\n",
od->pdev.name, od->pdev.id,
od->pm_lat_level, deact_lat);
} else
- pr_warning("omap_device: %s.%d: deactivate "
+ pr_debug("omap_device: %s.%d: deactivate "
"latency %d higher than exptected. "
"(%llu > %d)\n",
od->pdev.name, od->pdev.id,
diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index 633dfb4..7d8ca45 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -1007,7 +1007,10 @@ serial_omap_console_write(struct console *co, const char *s,
struct uart_omap_port *up = serial_omap_console_ports[co->index];
unsigned long flags;
unsigned int ier;
- int locked = 1;
+ int console_lock = 0, locked = 1;
+
+ if (console_trylock())
+ console_lock = 1;
local_irq_save(flags);
if (up->port.sysrq)
@@ -1043,6 +1046,9 @@ serial_omap_console_write(struct console *co, const char *s,
if (up->msr_saved_flags)
check_modem_status(up);
+ if (console_lock)
+ console_unlock();
+
serial_omap_port_disable(up);
if (locked)
spin_unlock(&up->port.lock);
--
1.7.1
next prev parent reply other threads:[~2011-04-29 12:39 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-29 12:39 [PATCH v2 00/12] OMAP2+: Serial: Runtime adaptation + cleanup Govindraj.R
2011-04-29 12:39 ` [PATCH v2 01/12] OMAP2+: UART: Remove certain uart calls from sram_idle Govindraj.R
2011-04-29 12:39 ` [PATCH v2 02/12] OMAP2+: UART: Remove uart clock handling code from serial.c Govindraj.R
2011-04-29 13:20 ` Alan Cox
2011-04-29 12:39 ` [PATCH v2 03/12] OMAP2+: Serial: Add default mux for all uarts Govindraj.R
2011-05-04 10:00 ` Tony Lindgren
2011-05-04 10:34 ` Govindraj
2011-04-29 12:39 ` [PATCH v2 04/12] Serial: OMAP: Add runtime pm support for omap-serial driver Govindraj.R
2011-05-04 20:35 ` Kevin Hilman
2011-05-04 21:05 ` Paul Walmsley
2011-05-05 5:48 ` Raja, Govindraj
2011-05-05 5:55 ` Govindraj
2011-04-29 12:39 ` Govindraj.R [this message]
2011-05-04 10:02 ` [PATCH v2 05/12] OMAP: Serial: Hold console lock for console usage Tony Lindgren
2011-05-04 10:09 ` Russell King - ARM Linux
2011-05-04 10:19 ` Govindraj
2011-05-04 20:43 ` Kevin Hilman
2011-05-05 10:25 ` Govindraj
2011-05-05 14:52 ` Kevin Hilman
2011-04-29 12:39 ` [PATCH v2 06/12] Serial: OMAP2+: Move erratum handling from serial.c Govindraj.R
2011-04-29 12:39 ` [PATCH v2 07/12] OMAP: Serial: Allow UART parameters to be configured from board file Govindraj.R
2011-05-04 9:55 ` Tony Lindgren
2011-05-04 10:06 ` Govindraj
2011-05-04 10:25 ` Tony Lindgren
2011-05-04 10:39 ` Govindraj
2011-04-29 12:39 ` [PATCH v2 08/12] Serial: OMAP2+: Make the RX_TIMEOUT for DMA configurable for each UART Govindraj.R
2011-04-29 12:39 ` [PATCH v2 09/12] OMAP3: Serial: Remove uart pads from 3430 board file Govindraj.R
2011-04-29 12:39 ` [PATCH v2 10/12] OMAP2+: hwmod: Add api to enable io_ring wakeup Govindraj.R
2011-05-04 23:59 ` Kevin Hilman
2011-05-05 5:58 ` Govindraj
2011-04-29 12:39 ` [PATCH v2 11/12] OMAP: Serial: Use resume call from prcm to enable uart Govindraj.R
2011-05-05 0:11 ` Kevin Hilman
2011-05-05 11:46 ` Govindraj
2011-05-05 14:58 ` Kevin Hilman
2011-05-06 9:16 ` Govindraj
2011-05-06 15:55 ` Kevin Hilman
2011-05-09 12:23 ` Govindraj
2011-04-29 12:39 ` [PATCH v2 12/12] OMAP2: Serial: Add no async wake flag Govindraj.R
2011-05-05 17:32 ` Kevin Hilman
2011-05-06 9:34 ` Govindraj
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1304080796-625-6-git-send-email-govindraj.raja@ti.com \
--to=govindraj.raja@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).