Skip to content

Commit

Permalink
powerpc/hvc_udbg: Don't crash when udbg_putc is NULL
Browse files Browse the repository at this point in the history
Also while at it, add some help text indicating why you shouldn't
enable that driver under normal circumstances

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  • Loading branch information
Benjamin Herrenschmidt committed Mar 15, 2012
1 parent ba7a482 commit 7d3d897
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
4 changes: 4 additions & 0 deletions drivers/tty/hvc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,10 @@ config HVC_UDBG
depends on PPC && EXPERIMENTAL
select HVC_DRIVER
default n
help
This is meant to be used during HW bring up or debugging when
no other console mechanism exist but udbg, to get you a quick
console for userspace. Do NOT enable in production kernels.

config HVC_DCC
bool "ARM JTAG DCC console"
Expand Down
8 changes: 7 additions & 1 deletion drivers/tty/hvc/hvc_udbg.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ static int hvc_udbg_put(uint32_t vtermno, const char *buf, int count)
{
int i;

for (i = 0; i < count; i++)
for (i = 0; i < count && udbg_putc; i++)
udbg_putc(buf[i]);

return i;
Expand Down Expand Up @@ -67,6 +67,9 @@ static int __init hvc_udbg_init(void)
{
struct hvc_struct *hp;

if (!udbg_putc)
return -ENODEV;

BUG_ON(hvc_udbg_dev);

hp = hvc_alloc(0, NO_IRQ, &hvc_udbg_ops, 16);
Expand All @@ -88,6 +91,9 @@ module_exit(hvc_udbg_exit);

static int __init hvc_udbg_console_init(void)
{
if (!udbg_putc)
return -ENODEV;

hvc_instantiate(0, 0, &hvc_udbg_ops);
add_preferred_console("hvc", 0, NULL);

Expand Down

0 comments on commit 7d3d897

Please sign in to comment.