Android: warning from softirq kernel code when initializing BT

Bug #972732 reported by Mathieu Poirier
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
IglooCommunity
Fix Released
Medium
Mridul Jain

Bug Description

On ICS (4.0.3/4.0.4), when booting the system a warning coming for the sort irq kernel code can be seen when BT is initializing. I traced the code and the error is associated to the reception of new interrupts while already in an interrupt context.

Note that this doesn't *seem* to affect the proper functionning of neither Wlan or BT.

Reproducible: 100%
Kernel: stable-android-ux500-3.3

This is the output observed when booting build 238:

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.3.0+ (jenkins-build@ip-10-191-143-8) (gcc version 4.6.3 (Linaro GCC 4.6-2012.03-1~dev) ) #1 SMP PREEMPT Tue Apr 3 10:34:13 UTC 2012
[ 0.000000] CPU: ARMv7 Processor [412fc091] revision 1 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: ST-Ericsson Snowball platform
[ 0.000000] Memory policy: ECC disabled, Data cache writealloc
[ 0.000000] DB8500 v2.2 [0x008500b2]
[ 0.000000] PERCPU: Embedded 8 pages/cpu @c1719000 s11264 r8192 d13312 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 200192
[ 0.000000] Kernel command line: console=ttyAMA2,115200n8 vmalloc=300M mem=128M@0 mali.mali_mem=64M@128M hwmem=168M@192M mem=22M@360M mem_issw=1M@383M mem=640M@384M
[ 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] Memory: 128MB 22MB 640MB = 790MB total
[ 0.000000] Memory: 786524k/786524k available, 22436k reserved, 323584K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xec800000 - 0xff000000 ( 296 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xec400000 ( 708 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc088b2c4 (8717 kB)
[ 0.000000] .init : 0xc088c000 - 0xc08dac00 ( 315 kB)
[ 0.000000] .data : 0xc08dc000 - 0xc0967438 ( 558 kB)
[ 0.000000] .bss : 0xc096745c - 0xc0f0f7f8 (5793 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:640
[ 0.000000] PRCMU firmware: U8500, version 3.4.9
[ 0.000000] sched_clock: 32 bits at 32kHz, resolution 30517ns, wraps every 131071999ms
[ 0.000000] Console: colour dummy device 80x30
[ 0.149963] Calibrating delay using timer specific routine.. 4.80 BogoMIPS (lpj=24027)
[ 0.149993] pid_max: default: 32768 minimum: 301
[ 0.150329] Mount-cache hash table entries: 512
[ 0.151428] Initializing cgroup subsys cpuacct
[ 0.151519] CPU: Testing write buffer coherency: ok
[ 0.151580] ftrace: allocating 21053 entries in 62 pages
[ 0.195800] CPU0: thread -1, cpu 0, socket 3, mpidr 80000300
[ 0.195953] hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
[ 0.196105] Setting up static identity map for 0x5e0938 - 0x5e0990
[ 0.196136] L310 cache controller enabled
[ 0.196136] l2x0: 8 ways, CACHE_ID 0x410000c5, AUX_CTRL 0x7ec60800, Cache size: 524288 B
[ 0.296539] CPU1: Booted secondary processor
[ 0.296569] CPU1: thread -1, cpu 1, socket 3, mpidr 80000301
[ 0.296630] Brought up 2 CPUs
[ 0.296630] SMP: Total of 2 processors activated (9.61 BogoMIPS).
[ 0.302551] print_constraints: dummy:
[ 0.302917] NET: Registered protocol family 16
[ 0.305267] gpiochip_add: registered GPIOs 0 to 31 on device: GPIO-0-31
[ 0.305511] gpio gpio.0: at address f812e000
[ 0.305908] gpiochip_add: registered GPIOs 32 to 36 on device: GPIO-32-63
[ 0.305969] gpio gpio.1: at address f812e080
[ 0.306396] gpiochip_add: registered GPIOs 64 to 95 on device: GPIO-64-95
[ 0.306640] gpio gpio.2: at address f800e000
[ 0.307006] gpiochip_add: registered GPIOs 96 to 97 on device: GPIO-96-127
[ 0.307067] gpio gpio.3: at address f800e080
[ 0.307403] gpiochip_add: registered GPIOs 128 to 159 on device: GPIO-128-159
[ 0.307647] gpio gpio.4: at address f800e100
[ 0.307983] gpiochip_add: registered GPIOs 160 to 171 on device: GPIO-160-191
[ 0.308074] gpio gpio.5: at address f800e180
[ 0.308441] gpiochip_add: registered GPIOs 192 to 223 on device: GPIO-192-223
[ 0.308685] gpio gpio.6: at address f811e000
[ 0.309020] gpiochip_add: registered GPIOs 224 to 230 on device: GPIO-224-255
[ 0.309112] gpio gpio.7: at address f811e080
[ 0.309448] gpiochip_add: registered GPIOs 256 to 267 on device: GPIO-256-288
[ 0.309570] gpio gpio.8: at address fa3fe000
[ 0.314697] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[ 0.314727] hw-breakpoint: maximum watchpoint size is 4 bytes.
[ 0.314788] dbx500_dump: driver initialized
[ 0.316497] print_constraints: db8500-vape:
[ 0.316772] print_constraints: db8500-varm:
[ 0.316986] print_constraints: db8500-vmodem:
[ 0.317199] print_constraints: db8500-vpll:
[ 0.317413] print_constraints: db8500-vsmps1:
[ 0.317626] print_constraints: db8500-vsmps2:
[ 0.317840] print_constraints: db8500-vsmps3:
[ 0.318054] print_constraints: db8500-vrf1:
[ 0.318237] print_constraints: db8500-sva-mmdsp:
[ 0.318450] print_constraints: db8500-sva-mmdsp-ret:
[ 0.318664] print_constraints: db8500-sva-pipe:
[ 0.318878] print_constraints: db8500-sia-mmdsp:
[ 0.319122] print_constraints: db8500-sia-mmdsp-ret:
[ 0.319335] print_constraints: db8500-sia-pipe:
[ 0.319549] print_constraints: db8500-sga:
[ 0.319580] set_supply: db8500-sga: supplied by db8500-vape
[ 0.319824] print_constraints: db8500-b2r2-mcde:
[ 0.319854] set_supply: db8500-b2r2-mcde: supplied by db8500-vape
[ 0.320098] print_constraints: db8500-esram12:
[ 0.320312] print_constraints: db8500-esram12-ret:
[ 0.320526] print_constraints: db8500-esram34:
[ 0.320770] print_constraints: db8500-esram34-ret:
[ 0.321014] DB8500 PRCMU initialized
[ 0.321289] ab8500-i2c ab8500-i2c.0: detected chip, revision: 0x30
[ 0.321319] ab8500-i2c ab8500-i2c.0: switch off status: 0x20
[ 0.323730] gpiochip_add: registered GPIOs 312 to 353 on device: ab8500_gpio
[ 0.352569] bio: create slab <bio-0> at 0
[ 0.353393] dma40 dma40.0: managed by runtime pm: regulator
[ 0.353485] dma40 dma40.0: hardware revision: 3 @ 0x801c0000
[ 0.353546] dma40 dma40.0: 6 of 8 physical DMA channels available
[ 0.353546] dma40 dma40.0: [d40_phy_res_init] INFO: channel 4 is misconfigured (0)
[ 0.353576] dma40 dma40.0: [d40_phy_res_init] INFO: channel 5 is misconfigured (0)
[ 0.353576] dma40 dma40.0: [d40_phy_res_init] INFO: channel 6 is misconfigured (0)
[ 0.362304] dma40 dma40.0: initialized
[ 0.363006] print_constraints: EN-3V3: 3300 mV
[ 0.363433] print_constraints: WLAN-VBAT: 3600 mV
[ 0.367340] print_constraints: ab8500-ext-supply1: 1800 mV
[ 0.367675] print_constraints: ab8500-ext-supply2: 1360 mV
[ 0.368041] print_constraints: ab8500-ext-supply3: 3400 mV
[ 0.368408] print_constraints: V-DISPLAY: 2800 <--> 3300 mV at 2800 mV
[ 0.368469] set_supply: V-DISPLAY: supplied by ab8500-ext-supply3
[ 0.368865] print_constraints: V-eMMC1: 1100 <--> 3300 mV at 2900 mV normal idle
[ 0.368927] set_supply: V-eMMC1: supplied by ab8500-ext-supply3
[ 0.369232] print_constraints: V-MMC-SD: 1200 <--> 2910 mV at 2910 mV normal idle
[ 0.369293] set_supply: V-MMC-SD: supplied by ab8500-ext-supply3
[ 0.369628] print_constraints: V-INTCORE: 1250 <--> 1350 mV at 1250 mV normal idle
[ 0.369903] print_constraints: V-TVOUT: 2000 mV
[ 0.370147] print_constraints: V-AUD: 2000 mV
[ 0.370391] print_constraints: V-AMIC1: 2050 mV
[ 0.370605] print_constraints: V-AMIC2: 2050 mV
[ 0.370819] print_constraints: V-DMIC: 1800 mV
[ 0.371063] print_constraints: V-CSI-DSI: 1200 mV
[ 0.371307] print_constraints: V-SYSCLKREQ-2: 0 mV
[ 0.371520] print_constraints: V-SYSCLKREQ-4: 0 mV
[ 0.371734] Serial: AMBA PL011 UART driver
[ 0.371978] uart0: ttyAMA0 at MMIO 0x80120000 (irq = 43) is a PL011 rev3
[ 0.372406] uart1: ttyAMA1 at MMIO 0x80121000 (irq = 51) is a PL011 rev3
[ 0.372772] uart2: ttyAMA2 at MMIO 0x80007000 (irq = 58) is a PL011 rev3
[ 1.084625] console [ttyAMA2] enabled
[ 1.089355] hwmem hwmem.0: Probed OK
[ 1.095275] SCSI subsystem initialized
[ 1.099090] ssp-pl022 ssp0: managed by runtime pm: regulator
[ 1.104919] ssp-pl022 ssp0: ARM PL022 driver, device ID: 0x01080022
[ 1.111480] pl022: mapped registers from 0x80002000 to ec814000
[ 1.117370] ssp-pl022 ssp0: Unbalanced pm_runtime_enable!
[ 1.123016] ssp-pl022 ssp0: setup for DMA on RX dma0chan0, TX dma0chan1
[ 1.130737] usbcore: registered new interface driver usbfs
[ 1.136352] usbcore: registered new interface driver hub
[ 1.141937] usbcore: registered new device driver usb
[ 1.147064] ab8500-usb ab8500-usb.0: managed by runtime pm: pins
[ 1.154052] ab8500-usb ab8500-usb.0: revision 0x30 driver initialized
[ 1.165374] nmk-i2c nmk-i2c.0: managed by runtime pm: pins
[ 1.171142] nmk-i2c nmk-i2c.0: initialize Nomadik I2C0 at 80004000 on virtual base ec816000
[ 1.179901] nmk-i2c nmk-i2c.1: managed by runtime pm: pins
[ 1.185638] nmk-i2c nmk-i2c.1: initialize Nomadik I2C1 at 80122000 on virtual base ec818000
[ 1.194274] nmk-i2c nmk-i2c.2: managed by runtime pm: pins
[ 1.199981] nmk-i2c nmk-i2c.2: initialize Nomadik I2C2 at 80128000 on virtual base ec81a000
[ 1.208557] nmk-i2c nmk-i2c.3: managed by runtime pm: pins
[ 1.214233] nmk-i2c nmk-i2c.3: initialize Nomadik I2C3 at 80110000 on virtual base ec81c000
[ 1.224121] Advanced Linux Sound Architecture Driver Version 1.0.24.
[ 1.231475] Bluetooth: Core ver 2.16
[ 1.235168] NET: Registered protocol family 31
[ 1.239624] Bluetooth: HCI device and connection manager initialized
[ 1.246002] Bluetooth: HCI socket layer initialized
[ 1.251007] Bluetooth: L2CAP socket layer initialized
[ 1.256072] Bluetooth: SCO socket layer initialized
[ 1.261383] cfg80211: Calling CRDA to update world regulatory domain
[ 2.068969] ab8500-btemp ab8500-btemp.0: Battery identified as unknown, resistance 251034 Ohm
[ 2.077484] ab8500-btemp ab8500-btemp.0: failed to identify the battery
[ 2.084991] Switching to clocksource dbx500-prcmu-timer
[ 2.104400] MCDE subsystem init begin
[ 2.108184] mcde mcde: MCDE iomap: 0xA0350000->0xEC81E000
[ 2.113891] mcde mcde: Probe HW
[ 2.117095] mcde mcde: MCDE HW revision 0x03000800
[ 2.121978] mcde mcde: db8500 V2 HW
[ 2.125488] mcde mcde: MCDE DSI0 iomap: 0xA0351000->0xEC820000
[ 2.131347] mcde mcde: MCDE DSI1 iomap: 0xA0352000->0xEC822000
[ 2.137176] mcde mcde: MCDE DSI2 iomap: 0xA0353000->0xEC824000
[ 2.143371] mcde mcde: MCDE_CLK is 159744000 MHz
[ 2.149047] MCDE subsystem init done
[ 2.165405] musb-hdrc: version 6.0, ?dma?, otg (peripheral+host)
[ 2.172149] musb-hdrc musb-hdrc: USB OTG mode controller at ec840000 using DMA, IRQ 55
[ 2.180633] NET: Registered protocol family 2
[ 2.185241] IP route cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 2.193084] TCP established hash table entries: 65536 (order: 7, 524288 bytes)
[ 2.201110] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
[ 2.208587] TCP: Hash tables configured (established 65536 bind 65536)
[ 2.215118] TCP reno registered
[ 2.218261] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 2.224853] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 2.231445] NET: Registered protocol family 1
[ 2.236022] Trying to unpack rootfs image as initramfs...
[ 2.250122] Freeing initrd memory: 156K
[ 2.254028] NetWinder Floating Point Emulator V0.97 (double precision)
[ 2.262542] ux500-product: u9500 detected
[ 2.266571] ux500-product: JTAG is enabled
[ 2.470520] nmk-i2c nmk-i2c.2: Write to slave 0x18 timed out
[ 2.476165] nmk-i2c nmk-i2c.2: no ack received after address transmission
[ 2.680816] nmk-i2c nmk-i2c.2: Write to slave 0x18 timed out
[ 2.686462] nmk-i2c nmk-i2c.2: no ack received after address transmission
[ 2.890899] nmk-i2c nmk-i2c.2: Write to slave 0x18 timed out
[ 2.896575] nmk-i2c nmk-i2c.2: no ack received after address transmission
[ 2.904510] Unknown UI board
[ 2.910125] highmem bounce pool size: 64 pages
[ 2.914978] VFS: Disk quotas dquot_6.5.2
[ 2.919097] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 2.926483] 9p: Installing v9fs 9p2000 file system support
[ 2.932037] msgmni has been set to 904
[ 2.936492] io scheduler noop registered
[ 2.940429] io scheduler deadline registered (default)
[ 2.945648] io scheduler cfq registered
[ 2.949523] mcde_display_generic_init
[ 2.953552] mcde_display_sony_acx424akp_init
[ 2.963500] av8100 0-0070: chip version:2
[ 3.025848] b2r2_init
[ 3.028198] b2r2 b2r2_bus: init started.
[ 3.034820] misc b2r2_blt: b2r2_mem_init: Creating heap for size 16384 bytes
[ 3.042083] b2r2 b2r2_bus: init done.
[ 3.046508] uart-pl011 uart0: no DMA platform data
[ 3.051300] uart-pl011 uart1: no DMA platform data
[ 3.056091] uart-pl011 uart2: no DMA platform data
[ 3.061126] Mali<1>: This function should not be called since we are not using run time pm
[ 3.070312] Mali<2>:
[ 3.072601] Mali<2>: Inserting Mali v9 device driver.
[ 3.077758] Mali<2>: Compiled: Apr 3 2012, time: 10:30:03.
[ 3.083343] Mali<2>: Svn revision:
[ 3.086853] Mali<2>: MMU memory system initializing
[ 3.091735] Mali<2>: Rendercore: subsystem global mutex initialized
[ 3.097991] Mali<2>: Core: subsystem_init: Mali-400 PP
[ 3.103179] Mali<2>: Core: subsystem_init: Mali-400 GP
[ 3.108306] Mali<2>: Mali L2 cache system initializing
[ 3.113464] Mali<1>: Overriding arch resource[4] :
[ 3.118255] Mali<1>: Type: MEMORY, base: 8000000, size 4000000
[ 3.124389] Mali<2>: MMU registered
[ 3.127868] Mali<2>: MMU registered
[ 3.131408] Mali<2>: Mali OS memory allocator created with max allocation size of 0x7FF00000 bytes, cpu_usage_adjust 0x00000000
[ 3.142883] Mali<2>: Memory Validator 'Framebuffer' installed for Mali physical address base==0x00000000, size==0x7FF00000, cpu_adjust==0x00000000
[ 3.156036] Mali<2>: Creating Mali L2 cache: Mali-400 L2 cache
[ 3.161926] Mali<1>: Mali memory allocators will be used in this order of preference (lowest numbered first) :
[ 3.171936] Mali<1>: 0: Mali SDRAM
[ 3.175445] Mali<1>: 5: Linux kernel memory
[ 3.179870] Mali<2>: Attach mmu: 0xeb96d8c0 to core: Mali-400 PP in subsystem: Mali-400 PP
[ 3.188140] Mali<2>: Attach mmu: 0xeb96d9c0 to core: Mali-400 GP in subsystem: Mali-400 GP
[ 3.196411] Mali<2>: Mali L2 cache system load complete
[ 3.201660] Mali: Mali device driver loaded
[ 3.205932] Mali<2>: malidrv: CONFIG=ux500 USING_OS_MEMORY=1 API_VERSION=9 REPO_URL= REVISION= CHANGED_REVISION= CHANGE_DATE= BUILD_DATE=Tue Apr 3 10:30:00 UTC 2012 BUILD=DEBUG CPU=ux500 USING_UMP=1
[ 3.257751] brd: module loaded
[ 3.265899] loop: module loaded
[ 3.269226] dispdev_init
[ 3.273498] tun: Universal TUN/TAP device driver, 1.6
[ 3.278564] tun: (C) 1999-2004 Max Krasnyansky <email address hidden>
[ 3.285034] smsc911x: Driver version 2008-10-21
[ 3.318237] smsc911x-mdio: probed
[ 3.322235] smsc911x smsc911x.0: eth0: attached PHY driver [SMSC LAN8700] (mii_bus:phy_addr=smsc911x-0:01, irq=-1)
[ 3.332855] smsc911x smsc911x.0: eth0: MAC Address: 82:38:22:22:f8:bc
[ 3.339508] PPP generic driver version 2.4.2
[ 3.344604] PPP MPPE Compression module registered
[ 3.349945] usbcore: registered new interface driver cdc_acm
[ 3.355621] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 3.363769] Initializing USB Mass Storage driver...
[ 3.368804] usbcore: registered new interface driver usb-storage
[ 3.374908] USB Mass Storage support registered.
[ 3.379669] usbcore: registered new interface driver libusual
[ 3.387908] gadget: Mass Storage Function, version: 2009/09/11
[ 3.393859] gadget: Number of LUNs=1
[ 3.397521] lun0: LUN: removable file: (no medium)
[ 3.402832] gadget: android_usb ready
[ 3.406585] musb-hdrc musb-hdrc: MUSB HDRC host driver
[ 3.411987] musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1
[ 3.419860] hub 1-0:1.0: USB hub found
[ 3.423706] hub 1-0:1.0: 1 port detected
[ 3.428680] cyttsp_spi_init: Cypress TrueTouch(R) Standard Product SPI Touchscreen Driver (Built Apr 3 2012 @ 10:31:35) returned 0
[ 3.441345] input: AB8500 Hs Button as /devices/platform/ab8500-i2c.0/ab8500-acc-det.0/input/input0
[ 3.451446] input: AB8500 POn(PowerOn) Key as /devices/platform/ab8500-i2c.0/ab8500-poweron-key.0/input/input1
[ 3.462066] lps001wp_prs: probe start.
[ 3.467712] lps001wp_prs 2-005c: lps001wp_prs: probed
[ 3.481323] ab8500-rtc ab8500-rtc.0: rtc core: registered ab8500-rtc as rtc0
[ 3.488647] i2c /dev entries driver
[ 3.493835] lirc_dev: IR Remote Control driver registered, major 250
[ 3.500274] IR NEC protocol handler initialized
[ 3.504852] IR RC5(x) protocol handler initialized
[ 3.509643] IR RC6 protocol handler initialized
[ 3.514190] IR JVC protocol handler initialized
[ 3.518737] IR Sony protocol handler initialized
[ 3.523406] IR RC5 (streamzap) protocol handler initialized
[ 3.528991] IR SANYO protocol handler initialized
[ 3.533721] IR MCE Keyboard/mouse protocol handler initialized
[ 3.539550] IR LIRC bridge handler initialized
[ 3.544006] Linux video capture interface: v2.00
[ 3.551025] regulator_check_drms: V-DISPLAY: operation not allowed
[ 3.557525] lsm303dlh_m lsm303dlh.1: Magnetometer, ID : 48:34:33
[ 3.563629] regulator_check_drms: V-DISPLAY: operation not allowed
[ 3.570220] lsm303dlhc_a lsm303dlh.0: 3-Axis Accelerometer, ID : 51
[ 3.576965] l3g4200d l3g4200d: 3-Axis Gyroscope device identification: 211
[ 3.584381] ux500_wdt ux500_wdt: initialized
[ 3.588958] device-mapper: uevent: version 1.0.3
[ 3.593872] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: <email address hidden>
[ 3.602386] Bluetooth: HCI UART driver ver 2.2
[ 3.606872] dbx500-cpufreq : Available frequencies:
[ 3.611755] 200 Mhz
[ 3.614044] 400 Mhz
[ 3.616302] 800 Mhz
[ 3.618560] 1000 Mhz
[ 3.621124] cpuidle: using governor ladder
[ 3.625244] cpuidle: using governor menu
[ 3.629333] mmci-pl18x sdi4: managed by runtime pm: pins
[ 3.635192] mmci-pl18x sdi4: mmc0: PL180 manf 80 rev4 at 0x80114000 irq 131,-1 (pio)
[ 3.643005] mmci-pl18x sdi4: DMA channels RX dma0chan18, TX dma0chan19
[ 3.650909] mmci-pl18x sdi0: managed by runtime pm: pins
[ 3.656768] mmci-pl18x sdi0: mmc1: PL180 manf 80 rev4 at 0x80126000 irq 92,-1 (pio)
[ 3.664489] mmci-pl18x sdi0: DMA channels RX dma0chan20, TX dma0chan21
[ 3.672363] mmci-pl18x sdi1: managed by runtime pm: pins
[ 3.677978] mmci-pl18x sdi1: mmc2: PL180 manf 80 rev4 at 0x80118000 irq 82,-1 (pio)
[ 3.685699] mmci-pl18x sdi1: DMA channels RX dma0chan22, TX dma0chan23
[ 3.695861] hash1 hash1: managed by runtime pm: regulator
[ 3.701782] hash1 hash1: [ux500_hash_probe] successfully probed
[ 3.708374] usbcore: registered new interface driver usbhid
[ 3.713958] usbhid: USB HID core driver
[ 3.718780] platform cg2900.0: CG2900 initialized
[ 3.723907] cg2900 cg2900.0: CG2900 Core driver started
[ 3.729705] cg2900-test cg2900-test.0: CG2900 test char device driver started
[ 3.737091] cg2900-chip cg2900-chip.0: CG2900 chip driver started
[ 3.743530] stlc2690-chip stlc2690-chip.0: STLC2690 chip driver started
[ 3.745147] mmc0: new high speed MMC card at address 0001
[ 3.745697] mmcblk0: mmc0:0001 3.53 GiB
[ 3.745910] mmcblk0boot0: mmc0:0001 partition 1 2.00 MiB
[ 3.746124] mmcblk0boot1: mmc0:0001 partition 2 2.00 MiB
[ 3.771759] Bluetooth: HCI UART driver ver 2.3
[ 3.776947] ashmem: initialized
[ 3.780273] logger: created 256K log 'log_main'
[ 3.785003] logger: created 256K log 'log_events'
[ 3.789886] logger: created 256K log 'log_radio'
[ 3.794708] logger: created 256K log 'log_system'
[ 3.799743] mmio_init
[ 3.802642] adp1653 2-0030: adp1653_probe: No platform data supplied.
[ 3.809082] adp1653: probe of 2-0030 failed with error -22
[ 3.814880] camera_flash driver initialized with minor=48
[ 3.832214] Initialize NMF 2.10.122 Component Manager......
[ 3.837799] [ CM Linux Driver 2.10.122 ]
[ 3.843170] usbcore: registered new interface driver snd-usb-audio
[ 3.848663] mmcblk0: p1 p2 p3 p4 < p5 p6 p7 >
[ 3.854644] ab5500_init called.
[ 3.858062] ab8500_codec_platform_driver_init: Enter.
[ 3.863250] ab8500_codec_driver_probe: Register codec.
[ 3.869110] ux500_msp_init: Register ux500-msp-dai platform driver.
[ 3.875518] ux500_msp_drv_probe: Enter (pdev->name = ux500-msp-i2s).
[ 3.880981] usb 1-1: new high-speed USB device number 2 using musb-hdrc
[ 3.884246] mmcblk0boot1: unknown partition table
[ 3.893493] ux500_msp_drv_probe: Registering ux500-msp-dai SoC CPU-DAI.
[ 3.900146] ux500_msp_drv_probe: Enter (pdev->name = ux500-msp-i2s).
[ 3.905609] mmcblk0boot0: unknown partition table
[ 3.911346] create_regulator: db8500-vape: Failed to create debugfs directory
[ 3.918518] ux500_msp_drv_probe: Registering ux500-msp-dai SoC CPU-DAI.
[ 3.925170] ux500_msp_drv_probe: Enter (pdev->name = ux500-msp-i2s).
[ 3.931610] create_regulator: db8500-vape: Failed to create debugfs directory
[ 3.938751] ux500_msp_drv_probe: Registering ux500-msp-dai SoC CPU-DAI.
[ 3.945404] ux500_msp_drv_probe: Enter (pdev->name = ux500-msp-i2s).
[ 3.951812] create_regulator: db8500-vape: Failed to create debugfs directory
[ 3.958953] ux500_msp_drv_probe: Registering ux500-msp-dai SoC CPU-DAI.
[ 3.966064] av8100_codec_drv_probe: Init codec private data..
[ 3.971832] av8100_codec_drv_probe: Register codec.
[ 3.976959] cg29xx_codec_driver_probe: Init codec private data..
[ 3.982971] cg29xx_codec_driver_probe: Register codec.
[ 3.988525] ux500_pcm_drv_probe: Register ux500-pcm SoC platform driver.
[ 4.002105] asoc: av8100-codec-dai <-> ux500-msp-i2s.2 mapping ok
[ 4.008544] asoc: ab8500-codec-dai.0 <-> ux500-msp-i2s.1 mapping ok
[ 4.015197] asoc: ab8500-codec-dai.1 <-> ux500-msp-i2s.3 mapping ok
[ 4.022247] asoc: cg29xx-codec-dai.1 <-> ux500-msp-i2s.0 mapping ok
[ 4.029724] hub 1-1:1.0: USB hub found
[ 4.033782] hub 1-1:1.0: 4 ports detected
[ 4.038177] input: U8500-card AB8500 Hs Status as /devices/platform/soc-audio/sound/card0/input2
[ 4.048034] ALSA device list:
[ 4.051055] #0: U8500-card
[ 4.054107] Netfilter messages via NETLINK v0.30.
[ 4.058898] nf_conntrack version 0.5.0 (12291 buckets, 49164 max)
[ 4.065460] ctnetlink v0.93: registering with nfnetlink.
[ 4.072113] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 4.077575] TCP cubic registered
[ 4.080993] NET: Registered protocol family 10
[ 4.087860] NET: Registered protocol family 17
[ 4.092376] NET: Registered protocol family 15
[ 4.096954] Bluetooth: RFCOMM TTY layer initialized
[ 4.101928] Bluetooth: RFCOMM socket layer initialized
[ 4.107086] Bluetooth: RFCOMM ver 1.11
[ 4.110931] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 4.116241] Bluetooth: BNEP filters: protocol multicast
[ 4.121520] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 4.127716] NET: Registered protocol family 35
[ 4.132873] 9pnet: Installing 9P2000 support
[ 4.137268] NET: Registered protocol family 37
[ 4.141876] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 2
[ 4.149719] Registering SWP/SWPB emulation handler
[ 4.155548] l2x0-prefetch: initialized.
[ 4.160125] mcde_display_hdmi_init
[ 4.164337] regulator_init_complete: db8500-esram12: disabling
[ 4.171386] input: gpio-keys as /devices/platform/gpio-keys/input/input3
[ 4.181091] ab8500-rtc ab8500-rtc.0: setting system clock to 2012-04-03 17:39:50 UTC (1333474790)
[ 4.190612] Freeing init memory: 312K
[ 4.197357] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_score_adj instead.
[ 4.231597] mmc1: host does not support reading read-only switch. assuming write-enable.
[ 4.239837] mmc1: new SDHC card at address b368
[ 4.245086] mmcblk1: mmc1:b368 USD 7.46 GiB
[ 4.254516] mmcblk1: p1 p2 p3 p4 < p5 p6 >
[ 4.331329] usb 1-1.1: new low-speed USB device number 3 using musb-hdrc
[ 4.372070] init: cannot open '/initlogo.rle'
[ 4.444793] input: HID 0461:4d01 as /devices/platform/musb-ux500.0/musb-hdrc/usb1/1-1/1-1.1/1-1.1:1.0/input/input4
[ 4.456298] generic-usb 0003:0461:4D01.0001: input: USB HID v1.00 Mouse [HID 0461:4d01] on usb-musb-hdrc-1.1/input0
[ 4.456359] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[ 4.551513] usb 1-1.2: new full-speed USB device number 4 using musb-hdrc
[ 4.656127] hub 1-1.2:1.0: USB hub found
[ 4.660400] hub 1-1.2:1.0: 3 ports detected
[ 4.857299] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null)
[ 4.920318] EXT4-fs (mmcblk1p5): mounted filesystem with ordered data mode. Opts: (null)
[ 4.941619] usb 1-1.2.1: new full-speed USB device number 5 using musb-hdrc
[ 4.969146] android_usb: already disabled
[ 5.053771] input: Dell Dell USB Keyboard as /devices/platform/musb-ux500.0/musb-hdrc/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0/input/input5
[ 5.069213] generic-usb 0003:413C:2010.0002: input: USB HID v1.10 Keyboard [Dell Dell USB Keyboard] on usb-musb-hdrc-1.2.1/input0
[ 5.087280] input: Dell Dell USB Keyboard as /devices/platform/musb-ux500.0/musb-hdrc/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.1/input/input6
[ 5.100219] generic-usb 0003:413C:2010.0003: input: USB HID v1.10 Device [Dell Dell USB Keyboard] on usb-musb-hdrc-1.2.1/input1
[ 5.146911] init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
/system/bin/sh: No controlling tty (open /dev/tty: No such device or address)
/system/bin/sh: warning: won't have full job control
root@android:/ # [ 5.971282] cg2900-uart cg2900-uart.0: UART opened
[ 5.979888] cg2900-uart cg2900-uart.0: Transport connected
[ 5.985412] cg2900-uart cg2900-uart.0: Set chip power: ENABLE
[ 6.038818] warning: `rild' uses 32-bit capabilities (legacy support in use)
[ 6.239624] ------------[ cut here ]------------
[ 6.244262] WARNING: at /mnt/jenkins/workspace/linaro-android_snowball-ics-gcc46-igloo-stable-blob/build/kernel/kernel/softirq.c:159 local_bh_enable_ip+0xa0/0xd4()
[ 6.258850] Modules linked in: gator(O)
[ 6.262725] [<c001d8a0>] (unwind_backtrace+0x0/0x144) from [<c05d7b4c>] (dump_stack+0x20/0x24)
[ 6.271362] [<c05d7b4c>] (dump_stack+0x20/0x24) from [<c0030f14>] (warn_slowpath_common+0x5c/0x74)
[ 6.280334] [<c0030f14>] (warn_slowpath_common+0x5c/0x74) from [<c0030f58>] (warn_slowpath_null+0x2c/0x34)
[ 6.289978] [<c0030f58>] (warn_slowpath_null+0x2c/0x34) from [<c00386ec>] (local_bh_enable_ip+0xa0/0xd4)
[ 6.299468] [<c00386ec>] (local_bh_enable_ip+0xa0/0xd4) from [<c05dfc78>] (_raw_spin_unlock_bh+0x48/0x4c)
[ 6.309051] [<c05dfc78>] (_raw_spin_unlock_bh+0x48/0x4c) from [<c0409000>] (cg2900_hu_dequeue+0x7c/0x244)
[ 6.318634] [<c0409000>] (cg2900_hu_dequeue+0x7c/0x244) from [<c040b4f4>] (cg2900_hci_uart_tx_wakeup+0x124/0x180)
[ 6.328887] [<c040b4f4>] (cg2900_hci_uart_tx_wakeup+0x124/0x180) from [<c040b5b0>] (hci_uart_tty_wakeup+0x60/0x7c)
[ 6.339233] [<c040b5b0>] (hci_uart_tty_wakeup+0x60/0x7c) from [<c028948c>] (tty_wakeup+0x60/0x6c)
[ 6.348114] [<c028948c>] (tty_wakeup+0x60/0x6c) from [<c02a4928>] (uart_write_wakeup+0x28/0x30)
[ 6.356811] [<c02a4928>] (uart_write_wakeup+0x28/0x30) from [<c02a793c>] (pl011_int+0x518/0x5b0)
[ 6.365631] [<c02a793c>] (pl011_int+0x518/0x5b0) from [<c0091e5c>] (handle_irq_event_percpu+0x78/0x2e0)
[ 6.375000] [<c0091e5c>] (handle_irq_event_percpu+0x78/0x2e0) from [<c0092110>] (handle_irq_event+0x4c/0x6c)
[ 6.384826] [<c0092110>] (handle_irq_event+0x4c/0x6c) from [<c0095054>] (handle_fasteoi_irq+0xa8/0x168)
[ 6.394226] [<c0095054>] (handle_fasteoi_irq+0xa8/0x168) from [<c00915f8>] (generic_handle_irq+0x3c/0x50)
[ 6.403808] [<c00915f8>] (generic_handle_irq+0x3c/0x50) from [<c0016058>] (handle_IRQ+0x5c/0xbc)
[ 6.412597] [<c0016058>] (handle_IRQ+0x5c/0xbc) from [<c0008544>] (gic_handle_irq+0x34/0xb8)
[ 6.421020] [<c0008544>] (gic_handle_irq+0x34/0xb8) from [<c0014c80>] (__irq_svc+0x40/0x70)
[ 6.429382] Exception stack(0xc08ddf38 to 0xc08ddf80)
[ 6.434417] df20: ffffffed 00000000
[ 6.442596] df40: c08ddf80 00000000 c08dc000 c0968488 c05e3edc c0902d58 0000406a 412fc091
[ 6.450775] df60: 00000000 c08ddf8c c08ddf90 c08ddf80 c00163d8 c00163dc 60000013 ffffffff
[ 6.458953] [<c0014c80>] (__irq_svc+0x40/0x70) from [<c00163dc>] (default_idle+0x34/0x38)
[ 6.467132] [<c00163dc>] (default_idle+0x34/0x38) from [<c00167fc>] (cpu_idle+0xf0/0x13c)
[ 6.475311] [<c00167fc>] (cpu_idle+0xf0/0x13c) from [<c05c10ac>] (rest_init+0x94/0xac)
[ 6.483245] [<c05c10ac>] (rest_init+0x94/0xac) from [<c088c81c>] (start_kernel+0x2c4/0x318)
[ 6.491577] ---[ end trace 12515ff0c408a1fc ]---
[ 6.496551] cg2900-uart cg2900-uart.0: Received Read Local Version Information with:
[ 6.496582] hci_version: 0x06
[ 6.496582] hci_revision: 0x0200
[ 6.496582] lmp_pal_version: 0x06
[ 6.496582] manufacturer: 0x0030
[ 6.496582] hci_sub_version: 0x0000
[ 6.521484] cg2900-uart cg2900-uart.0: Chip supported by the CG2900 chip driver
[ 6.529052] cg2900-uart cg2900-uart.0: Chip handler found
[ 6.562561] abx500-acc-det ab8500-acc-det.0: Accessory: HEADPHONE
[ 6.590148] abx500-acc-det ab8500-acc-det.0: Accessory: DISCONNECTED
[ 7.021636] cg2900-uart cg2900-uart.0: Set chip power: DISABLE
[ 7.029663] Bluetooth: CG2900 registered
[ 7.034484] Bluetooth: Open ST-Ericsson CG2900 driver
[ 7.039581] cg2900-uart cg2900-uart.0: Set chip power: ENABLE
[ 7.041717] cg2900-audiobt cg2900-audiobt.0: CG2900 device added
[ 7.042907] cg2900-audiofm cg2900-audiofm.0: CG2900 Audio driver started
[ 7.136810] cw1200_core: module is from the staging directory, the quality is unknown, you have been warned.
[ 7.153991] adb_open
[ 7.156280] mmci-pl18x sdi0: error during DMA transfer!
[ 7.161590] adb_bind_config
[ 7.164428] mmcblk1: error -110 sending stop command, original cmd response 0x0, card status 0xc00b00
[ 7.174041] mmcblk1: error -70 transferring data, sector 703144, nr 32, cmd response 0x0, card status 0xb00
[ 7.184020] mmcblk1: retrying using single block read
[ 7.441864] cg2900-uart cg2900-uart.0: Baud rate changed to 3000000 baud
[ 7.576843] init: untracked pid 1373 exited
[ 8.172058] cg2900-btacl cg2900-btacl.0: CG2900 self test failed
[ 8.248840] Bluetooth: CG2900 BT core is enabled
[ 8.912322] av8100_hdmi av8100_hdmi.3: HDMI display probed
[ 9.612762] av8100_hdmi av8100_hdmi.3: Framebuffer created (av8100_hdmi)
[ 9.619720] init_dispdev: name=disp0 w=1280, h=720, fmt=0, stride=2560
[ 9.627624] av8100_hdmi av8100_hdmi.3: Disp dev created for (av8100_hdmi)
[ 10.312713] Bluetooth: CG2900 BT core is disabled
[ 10.317565] cg2900-uart cg2900-uart.0: Set chip power: DISABLE
[ 10.371704] cg2900-uart cg2900-uart.0: Set chip power: ENABLE
[ 11.121734] cg2900-uart cg2900-uart.0: Set chip power: DISABLE

summary: - warning from softirq kernel code when initializing BT
+ Android: warning from softirq kernel code when initializing BT
Changed in igloocommunity:
importance: Undecided → Medium
assignee: nobody → Mridul Jain (mridul-jain-2)
Changed in igloocommunity:
milestone: none → 2012.04
Changed in igloocommunity:
importance: Medium → High
Changed in igloocommunity:
status: New → In Progress
Revision history for this message
Mridul Jain (mridul-jain-2) wrote :

The issue is due spurious interrupt coming before the required handlers are initialized.
The call to hciattach needs to be replaced by calling ste-cg29xx_ctrl script from 'init.st-ericssonsnowballplatform.rc'

Please comment/remove following lines :

service hciattach /system/bin/hciattach -a 23 -n -s 115200 /dev/ttyAMA0 cg2900 115200 flow
    class main
    user root

with following:

service ste-cg29xx_ctrl /system/bin/logwrapper /system/xbin/ste-cg29xx_ctrl -b 115200 -p 6 -l 23 -i /system/bin/cg2900-channel_init.sh /dev/ttyAMA0
    class main
    user root
    group bluetooth net_bt_admin misc root
    oneshot

The script/library files are attached.
Location for the files:

ste-cg29xx_ctrl - /system/xbin/
cg2900-channel_init.sh - /system/bin
libcspsa.so - /system/lib

Revision history for this message
Adrian Bunk (adrian-bunk-9) wrote :

This might be a workaround, but it doesn't look like a proper solution.

1. The actual bug is in the kernel, and it should be fixed in the kernel.
2. Snowball should work with standard bluez (hciattach), not require some special tool for Bluetooth.

Revision history for this message
Sunil Kamath (sunil-kamath) wrote :

We had discussion on this patch and its fix.
Patrik/Jayeeta/Me/Mathieu have the opinion that it's better to avoid this patch for now and work on real kernel solution.

Also I understand that impact is not so huge. Its soft panic during boot.
Hence better to get right kernel solution.

Also including this patch means we need to do following:
Including below files in vendor tarball:
- cg2900-channel_init.sh
- libcspsa.so
- ste-cg29xx_ctrl

And change " init.st-ericssonsnowballplatform.rc" as expected.

Which might have to be reverted if we find real kernel solution later.

Changed in igloocommunity:
milestone: 2012.04 → 2012.05
Revision history for this message
Abhishek Paliwal (abhishek-paliwal) wrote :
Changed in igloocommunity:
importance: High → Medium
Changed in igloocommunity:
milestone: 2012.05 → 2012.06
Revision history for this message
Mridul Jain (mridul-jain-2) wrote :

File: drivers/staging/cg2900/bluetooth/cg2900_uart.c
Function: cg2900_hu_dequeue

The warning is thrown because spin_lock_bh called in interrupt mode, which is not correct.
Changed from spin_lock_bh/spin_inlock_bh to spin_lock_irqsave/spin_lock_irqrestore

The warning is removed by this fix.

Revision history for this message
Mridul Jain (mridul-jain-2) wrote :
Changed in igloocommunity:
status: In Progress → Fix Committed
Changed in igloocommunity:
status: Fix Committed → 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.