Impact: Current omap 3 kernel doesn't handle all the available uarts when
running on a Beagleboard-xM, failining and to initialize uart4 and leading
to a trace warning while booting the kernel.
Fix: The fix is already upstream and the proposed fix is just a backport of the
needed changes. It basically defines the uart 4, set up it's ick/fck and change
the code to correctly use it on a omap 3640.
Testcase: When booting on a Beagleboard-xM the following warning trace appers:
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: at /build/buildd/linux-2.6.35/arch/arm/mach-omap2/serial.c:727 omap_serial_init_port+0x88/0x1f8()
[ 0.000000] (null): can't init uart3, no clocks available
[ 0.000000] Modules linked in:
[ 0.000000] [<c004c508>] (unwind_backtrace+0x0/0x100) from [<c051a2a8>] (dump_stack+0x18/0x1c)
[ 0.000000] [<c00109b4>] (omap_serial_init+0x30/0x3c) from [<c00125e0>] (omap3_beagle_init+0x6c/0xfc)
[ 0.000000] [<c00125e0>] (omap3_beagle_init+0x6c/0xfc) from [<c000c660>] (customize_machine+0x24/0x2c)
[ 0.000000] [<c000c660>] (customize_machine+0x24/0x2c) from [<c00443bc>] (do_one_initcall+0x3c/0x1dc)
[ 0.000000] [<c00443bc>] (do_one_initcall+0x3c/0x1dc) from [<c00085b4>] (do_basic_setup+0x64/0x74)
[ 0.000000] [<c00085b4>] (do_basic_setup+0x64/0x74) from [<c0008654>] (kernel_init+0x90/0x120)
[ 0.000000] [<c0008654>] (kernel_init+0x90/0x120) from [<c0045af4>] (kernel_thread_exit+0x0/0x8)
[ 0.000000] ---[ end trace da227214a82491b7 ]---
After applying the fix this warninig is gone.
Same patches can also be found at the Linaro's 2.6.35 kernel tree.
SRU Justification:
Impact: Current omap 3 kernel doesn't handle all the available uarts when
running on a Beagleboard-xM, failining and to initialize uart4 and leading
to a trace warning while booting the kernel.
Fix: The fix is already upstream and the proposed fix is just a backport of the
needed changes. It basically defines the uart 4, set up it's ick/fck and change
the code to correctly use it on a omap 3640.
Testcase: When booting on a Beagleboard-xM the following warning trace appers: buildd/ linux-2. 6.35/arch/ arm/mach- omap2/serial. c:727 omap_serial_ init_port+ 0x88/0x1f8( ) backtrace+ 0x0/0x100) from [<c051a2a8>] (dump_stack+ 0x18/0x1c) init+0x30/ 0x3c) from [<c00125e0>] (omap3_ beagle_ init+0x6c/ 0xfc) beagle_ init+0x6c/ 0xfc) from [<c000c660>] (customize_ machine+ 0x24/0x2c) machine+ 0x24/0x2c) from [<c00443bc>] (do_one_ initcall+ 0x3c/0x1dc) initcall+ 0x3c/0x1dc) from [<c00085b4>] (do_basic_ setup+0x64/ 0x74) setup+0x64/ 0x74) from [<c0008654>] (kernel_ init+0x90/ 0x120) init+0x90/ 0x120) from [<c0045af4>] (kernel_ thread_ exit+0x0/ 0x8)
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: at /build/
[ 0.000000] (null): can't init uart3, no clocks available
[ 0.000000] Modules linked in:
[ 0.000000] [<c004c508>] (unwind_
[ 0.000000] [<c00109b4>] (omap_serial_
[ 0.000000] [<c00125e0>] (omap3_
[ 0.000000] [<c000c660>] (customize_
[ 0.000000] [<c00443bc>] (do_one_
[ 0.000000] [<c00085b4>] (do_basic_
[ 0.000000] [<c0008654>] (kernel_
[ 0.000000] ---[ end trace da227214a82491b7 ]---
After applying the fix this warninig is gone.
Same patches can also be found at the Linaro's 2.6.35 kernel tree.