Can't init uart3 (no clocks available) at Beagleboard-xM

Bug #688765 reported by Ricardo Salveti
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
Ricardo Salveti
Maverick
Fix Released
High
Ricardo Salveti

Bug Description

Maverick on a Beagle-xM:

[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.35-24-omap (buildd@satinash) (gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) ) #42-Ubuntu Wed Dec 8 06:37:32 UTC 2010 (Ubuntu 2.6.35-24.42-omap 2.6.35.8)
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
[ 0.000000] Machine: OMAP3 Beagle Board
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] On node 0 totalpages: 131072
[ 0.000000] free_area_init_node: node 0, pgdat c0769b64, node_mem_map c0828000
[ 0.000000] Normal zone: 1024 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 130048 pages, LIFO batch:31
[ 0.000000] OMAP3630 ES1.0 (l2cache iva sgx neon isp 192mhz_clk )
[ 0.000000] SRAM: Mapped pa 0x40200000 to va 0xfe400000 size: 0x100000
[ 0.000000] Reserving 12582912 bytes SDRAM for VRAM
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
[ 0.000000] Kernel command line: text splash ro elevator=noop vram=12M omapfb.mode=dvi:1280x720MR-16@60 root=UUID=aea6b659-1d5d-4854-badf-0320cadc01ff fixrtc console=ttyS2,115200n8
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] allocated 2621440 bytes of page_cgroup
[ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[ 0.000000] Memory: 256MB 256MB = 512MB total
[ 0.000000] Memory: 487308k/487308k available, 36980k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
[ 0.000000] vmalloc : 0xe0800000 - 0xf8000000 ( 376 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .init : 0xc0008000 - 0xc0044000 ( 240 kB)
[ 0.000000] .text : 0xc0044000 - 0xc06b3000 (6588 kB)
[ 0.000000] .data : 0xc071e000 - 0xc076de60 ( 320 kB)
[ 0.000000] SLUB: Genslabs=9, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] RCU-based detection of stalled CPUs is disabled.
[ 0.000000] Verbose stalled-CPUs detection is disabled.
[ 0.000000] NR_IRQS:402
[ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/600 MHz
[ 0.000000] (null): no physical address for uart#3, so skipping early_init...
[ 0.000000] omap_hwmod: l3_hwmod: cannot be enabled (3)
[ 0.000000] omap_hwmod: l4_core_hwmod: cannot be enabled (3)
[ 0.000000] omap_hwmod: l4_per_hwmod: cannot be enabled (3)
[ 0.000000] omap_hwmod: l4_wkup_hwmod: cannot be enabled (3)
[ 0.000000] Reprogramming SDRC clock to 332000000 Hz
[ 0.000000] GPMC revision 5.0
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts
[ 0.000000] Total of 96 interrupts on 1 active controller
[ 0.000000] OMAP GPIO hardware version 2.5
[ 0.000000] OMAP clockevent source: GPTIMER12 at 32768 Hz
[ 0.000000] Console: colour dummy device 80x30
[ 0.000000] Calibrating delay loop... 515.72 BogoMIPS (lpj=2015232)
[ 0.000000] pid_max: default: 32768 minimum: 301
[ 0.000000] Security Framework initialized
[ 0.000000] AppArmor: AppArmor initialized
[ 0.000000] Yama: becoming mindful.
[ 0.000000] Mount-cache hash table entries: 512
[ 0.000000] Initializing cgroup subsys ns
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Initializing cgroup subsys memory
[ 0.000000] Initializing cgroup subsys devices
[ 0.000000] Initializing cgroup subsys freezer
[ 0.000000] CPU: Testing write buffer coherency: ok
[ 0.000000] devtmpfs: initialized
[ 0.000000] regulator: core version 0.5
[ 0.000000] NET: Registered protocol family 16
[ 0.000000] mux: Setting signal mcspi1_clk.gpio171 0x011c -> 0x011c
[ 0.000000] mux: Setting signal mcspi1_simo.gpio172 0x011c -> 0x011c
[ 0.000000] mux: Setting signal mcspi1_somi.gpio173 0x011c -> 0x011c
[ 0.000000] OMAP3 Beagle Rev: xM
[ 0.000000] mux: Setting signal i2c3_scl.i2c3_scl 0x0118 -> 0x0100
[ 0.000000] mux: Setting signal i2c3_sda.i2c3_sda 0x0118 -> 0x0100
[ 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] [<c051a2a8>] (dump_stack+0x18/0x1c) from [<c0081cb4>] (warn_slowpath_common+0x5c/0x6c)
[ 0.000000] [<c0081cb4>] (warn_slowpath_common+0x5c/0x6c) from [<c0081d68>] (warn_slowpath_fmt+0x38/0x40)
[ 0.000000] [<c0081d68>] (warn_slowpath_fmt+0x38/0x40) from [<c0010814>] (omap_serial_init_port+0x88/0x1f8)
[ 0.000000] [<c0010814>] (omap_serial_init_port+0x88/0x1f8) from [<c00109b4>] (omap_serial_init+0x30/0x3c)
[ 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 ]---

Using latest kernel on proposed: 2.6.35-24-omap #42

CVE References

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

This bug is basically bug 627512, but this is for the ubuntu's kernel.

Changed in linux (Ubuntu):
assignee: nobody → Ricardo Salveti (rsalveti)
status: New → In Progress
Revision history for this message
Ricardo Salveti (rsalveti) wrote :

After porting the UART 4 related patches from upstream, this issue is not happening anymore.

Tree: http://kernel.ubuntu.com/git?p=rsalveti/ubuntu-maverick.git;a=shortlog;h=refs/heads/rsalveti-master-uart3

I'm just building a proper ubuntu package and will post the link when it's done, so others can test the fix.

Once tested and reported that's fixed, will send to the kernel team.

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Kernel is available at: http://people.canonical.com/~rsalveti/688765/

Tested here and the warning is gone. Please test and report if it worked or not.

Revision history for this message
Tobin Davis (gruemaster) wrote :

Tested this special kernel build on my BeagleXM Rev A1. Kernel error no longer seen.

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

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:
[ 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.

Revision history for this message
Ricardo Salveti (rsalveti) wrote :
Changed in linux (Ubuntu Maverick):
status: New → Triaged
importance: Undecided → High
Changed in linux (Ubuntu):
importance: Undecided → High
Changed in linux (Ubuntu Maverick):
assignee: nobody → Ricardo Salveti (rsalveti)
status: Triaged → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted into maverick-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Revision history for this message
Steve Conklin (sconklin) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed' to 'verification-done'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

Revision history for this message
Tobin Davis (gruemaster) wrote :

Tested (had to manually pull the package as it was stuck in publishing).

No more erroneous errors.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (24.4 KiB)

This bug was fixed in the package linux - 2.6.35-25.44

---------------
linux (2.6.35-25.44) maverick-proposed; urgency=low

  [ Upstream Kernel Changes ]

  * Revert "drm/radeon/kms: properly compute group_size on 6xx/7xx"
    - LP: #703553

linux (2.6.35-25.43) maverick-proposed; urgency=low

  [ Brad Figg ]

  - LP: #697948

  [ Andy Whitcroft ]

  * [Config] add vmware-balloon driver to -virtual flavour
    - LP: #592039

  [ Manoj Iyer ]

  * SAUCE: Enable jack sense for Thinkpad Edge 13
    - LP: #685015

  [ Robert Hooker ]

  * Revert "(pre-stable): input: Support Clickpad devices in ClickZone
    mode"
    - LP: #669399

  [ Stefan Bader ]

  * Set virtual flavour maximum of domain visible memory to 70G
    - LP: #667796

  [ Takashi Iwai ]

  * SAUCE: input: Support Clickpad devices in ClickZone mode
    - LP: #516329

  [ Tim Gardner ]

  * [Config] Add nfsd modules to -virtual flavour
    - LP: #688070
  * [Config] Added autofs4.ko to -virtual flavour
    - LP: #692917

  [ Upstream Kernel Changes ]

  * intel_idle: delete substates DEBUG modparam
    - LP: #684888
  * intel_idle: delete power_policy modparam, and choose substate functions
    - LP: #684888
  * intel_idle: add support for Westmere-EX
    - LP: #684888
  * intel_idle: recognize Lincroft Atom Processor
    - LP: #684888
  * x86, mwait: Move mwait constants to a common header file
    - LP: #684888
  * intel_idle: Change mode 755 => 644
    - LP: #684888
  * intel_idle: add missing __percpu markup
    - LP: #684888
  * cpuidle: extend cpuidle and menu governor to handle dynamic states
    - LP: #684888
  * intel_idle: Voluntary leave_mm before entering deeper
    - LP: #684888
  * intel_idle: enable Atom C6
    - LP: #684888
  * intel_idle: simplify test for leave_mm()
    - LP: #684888
  * intel_idle: delete bogus data from cpuidle_state.power_usage
    - LP: #684888
  * intel_idle: add initial Sandy Bridge support
    - LP: #684888
  * intel_idle: do not use the LAPIC timer for ATOM C2
    - LP: #684888
  * staging: usbip: Notify usb core of port status changes
    - LP: #686158
  * staging: usbip: Process event flags without delay
    - LP: #686158
  * Staging: phison: fix problem caused by libata change
    - LP: #686158
  * perf_events: Fix bogus AMD64 generic TLB events
    - LP: #686158
  * perf_events: Fix bogus context time tracking
    - LP: #686158
  * powerpc/perf: Fix sampling enable for PPC970
    - LP: #686158
  * pcmcia: synclink_cs: fix information leak to userland
    - LP: #686158
  * sched: Drop all load weight manipulation for RT tasks
    - LP: #686158
  * sched: Fix string comparison in /proc/sched_features
    - LP: #686158
  * bluetooth: Fix missing NULL check
    - LP: #686158
  * futex: Fix errors in nested key ref-counting
    - LP: #686158
  * cifs: fix broken oplock handling
    - LP: #686158
  * libahci: fix result_tf handling after an ATA PIO data-in command
    - LP: #686158
  * mm, x86: Saving vmcore with non-lazy freeing of vmas
    - LP: #686158
  * x86, cpu: Fix renamed, not-yet-shipping AMD CPUID feature bit
    - LP: #686158
  * x86, kexec: Make sure to stop all CPUs before exiting the kernel
    - LP: #686158
  * x86, olpc: Don...

Changed in linux (Ubuntu Maverick):
status: Fix Committed → Fix Released
Changed in linux (Ubuntu):
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.