aboutsummaryrefslogtreecommitdiffstats
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2010-05-21 09:38:53 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-21 09:38:53 -0700
commit135a78fc67404be38c5a11f429873e0f8657c4ef (patch)
tree74aa3561fec95195b8ae4be569aec513ad41a922
parentca58b2d9654abdd4d2fdd79e651633473043e692 (diff)
downloadpatches-135a78fc67404be38c5a11f429873e0f8657c4ef.tar.gz
delete broken tty patch
-rw-r--r--series1
-rw-r--r--tty/serial-apbuart-let-boards-without-apbuart-boot.patch134
2 files changed, 0 insertions, 135 deletions
diff --git a/series b/series
index 888dbbab4ea8e9..8a1e3f6c8d3f1a 100644
--- a/series
+++ b/series
@@ -103,7 +103,6 @@ tty/serial-add-driver-for-the-altera-uart.patch
tty/tty-fix-obsolete-comment-on-tty_insert_flip_string_fixed_flag.patch
tty/serial-bfin_sport_uart-use-resource-size-to-fix-off-by-one-error.patch
tty/serial-isicomm-handle-running-out-of-slots.patch
-tty/serial-apbuart-let-boards-without-apbuart-boot.patch
tty/serial-tidy-remote_debug.patch
diff --git a/tty/serial-apbuart-let-boards-without-apbuart-boot.patch b/tty/serial-apbuart-let-boards-without-apbuart-boot.patch
deleted file mode 100644
index 8e7122e9d66778..00000000000000
--- a/tty/serial-apbuart-let-boards-without-apbuart-boot.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From avorontsov@mvista.com Fri May 14 12:17:06 2010
-From: Anton Vorontsov <avorontsov@mvista.com>
-Date: Fri, 14 May 2010 18:19:49 +0400
-Subject: serial: apbuart: Let boards without apbuart boot
-To: David Miller <davem@davemloft.net>, Greg Kroah-Hartman <gregkh@suse.de>
-Cc: Kristoffer Glembo <kristoffer@gaisler.com>, linux-kernel@vger.kernel.org
-Message-ID: <20100514141949.GA9244@oksana.dev.rtsoft.ru>
-Content-Disposition: inline
-
-
-This patch fixes the following oops:
-
- Unable to handle kernel paging request for data at address 0x00000000
- Faulting instruction address: 0xc016dea8
- Oops: Kernel access of bad area, sig: 11 [#1]
- P1020 RDB
- last sysfs file:
- NIP: c016dea8 LR: c016dea0 CTR: c0010948
- REGS: c033fea0 TRAP: 0300 Not tainted (2.6.34-rc7-00108-g83b5177-dirty)
- [...]
- NIP [c016dea8] grlib_apbuart_configure+0xd0/0x3bc
- LR [c016dea0] grlib_apbuart_configure+0xc8/0x3bc
- Call Trace:
- [c033ff50] [c016dea0] grlib_apbuart_configure+0xc8/0x3bc (unreliable)
- [c033ffa0] [c0316144] apbuart_console_init+0x10/0x34
- [c033ffb0] [c0314a10] console_init+0x40/0x5c
-
-There's no apbuart on P1020 boards, and what's worse, there's no
-clock-frequency property for it. The driver didn't handle this
-case, which resulted in the oops above. Once we fix this, the
-next oops pops up:
-
- Unable to handle kernel paging request for data at address 0x00000030
- Faulting instruction address: 0xc0166ecc
- Oops: Kernel access of bad area, sig: 11 [#1]
- P1020 RDB
- [...]
- NIP [c0166ecc] uart_set_options+0xd0/0x164
- LR [c0166e38] uart_set_options+0x3c/0x164
- Call Trace:
- [c033fef0] [c0330000] 0xc0330000 (unreliable)
- [c033ff50] [c03160dc] apbuart_console_setup+0xa8/0x100
- [c033ff70] [c003d668] register_console+0x338/0x3ec
- [c033ffa0] [c0316154] apbuart_console_init+0x20/0x34
- [c033ffb0] [c0314a10] console_init+0x40/0x5c
- [c033ffc0] [c0300968] start_kernel+0x12c/0x234
- [c033fff0] [c0000398] skpinv+0x2b0/0x2ec
-
-And that one is because the driver tries to register the console
-even if there were no matches in grlib_apbuart_configure().
-
-While at it, also annotate grlib_apbuart_configure() with __init,
-that fixes several section mismatches:
-
- Section mismatch in reference from the function
- grlib_apbuart_configure() to the variable .init.data:apbuart_match
- The function grlib_apbuart_configure() references the variable
- __initdata apbuart_match.
-
-Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
-Cc: "David S. Miller" <davem@davemloft.net>
-Acked-by: Kristoffer Glembo <kristoffer@gaisler.com>
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Cc: stable <stable@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-
----
- drivers/serial/apbuart.c | 19 ++++++++++++++-----
- 1 file changed, 14 insertions(+), 5 deletions(-)
-
---- a/drivers/serial/apbuart.c
-+++ b/drivers/serial/apbuart.c
-@@ -520,11 +520,16 @@ static struct console grlib_apbuart_cons
- };
-
-
--static void grlib_apbuart_configure(void);
-+static int __init grlib_apbuart_configure(void);
-
- static int __init apbuart_console_init(void)
- {
-- grlib_apbuart_configure();
-+ int ret;
-+
-+ ret = grlib_apbuart_configure();
-+ if (ret)
-+ return ret;
-+
- register_console(&grlib_apbuart_console);
- return 0;
- }
-@@ -593,7 +598,7 @@ static struct of_platform_driver grlib_a
- };
-
-
--static void grlib_apbuart_configure(void)
-+static int __init grlib_apbuart_configure(void)
- {
- static int enum_done;
- struct device_node *np, *rp;
-@@ -606,12 +611,14 @@ static void grlib_apbuart_configure(void
- struct amba_prom_registers *regs;
-
- if (enum_done)
-- return;
-+ return -ENODEV;
-
- /* Get bus frequency */
- rp = of_find_node_by_path("/");
- rp = of_get_next_child(rp, NULL);
- prop = of_get_property(rp, "clock-frequency", NULL);
-+ if (!prop)
-+ return -ENODEV;
- freq_khz = *prop;
-
- line = 0;
-@@ -629,7 +636,7 @@ static void grlib_apbuart_configure(void
- d = *device;
-
- if (!irqs || !regs)
-- return;
-+ return -ENODEV;
-
- grlib_apbuart_nodes[line] = np;
-
-@@ -658,6 +665,8 @@ static void grlib_apbuart_configure(void
- enum_done = 1;
-
- grlib_apbuart_driver.nr = grlib_apbuart_port_nr = line;
-+
-+ return line ? 0 : -ENODEV;
- }
-
- static int __init grlib_apbuart_init(void)