Menu

#258 kernel built with gadget serial fails to reboot on bf609

master head
open
andre
None
low
pending
BF609-EZKIT
2014-10-13
2014-09-03
panmingquan
No

kernel built with gadget serial fails to reboot on bf609.

test@linux87-bf609-usbdev:usbdev$ ./gadget_serial_linuxACM_test.exp BF609-EZKIT dma
BF609-EZKIT_defconfig not found. Set def_uart_port_num to 0.

Starting ./gadget_serial_linuxACM_test.exp

musb_mode is dma.


STEP 1: Start kermit

spawn kermit
?OpenSSL libraries do not match required version:
. C-Kermit built with OpenSSL 1.0.0e 6 Sep 2011
. Version found OpenSSL 1.0.1 14 Mar 2012
OpenSSL versions prior to 1.0.0 must be the same.
Set LD_LIBRARY_PATH for OpenSSL 1.0.0e 6 Sep 2011.
Or rebuild C-Kermit from source on this computer to make versions agree.
C-Kermit makefile target: linux+krb5+openssl
Or if that is what you did then try to find out why
the program loader (image activator) is choosing a
different OpenSSL library than the one specified in the build.

All SSL/TLS features disabled.

C-Kermit 9.0.302 OPEN SOURCE:, 20 Aug 2011, for Linux+SSL+KRB5
Copyright (C) 1985, 2011,
Trustees of Columbia University in the City of New York.
Type ? or HELP for help.
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>set line /dev/ttyS0
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>set speed 57600
/dev/ttyS0, 57600 bps
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>set carrier-watch off
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>set handshake none
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>set flow-control none
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>robust
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>set file type bin
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>set file name lit
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>set rec pack 1000
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>set send pack 1000
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>set window 5
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>set escape 129
(/home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/testsuites/usbdev/) C-Kermit>connect
Connecting to /dev/ttyS0, speed 57600
Escape character: Code 129: enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.



STEP 2: Boot kernel

Reboot kernel

root:/> sending reboot
reboot
The system is going down NOW!
Sent SIGTERM to all processes
Sent SIGKILL to all processes
Requesting system reboot
musb-hdrc musb-hdrc.1.auto: remove, state 1
usb usb1: USB disconnect, device number 1
musb-hdrc musb-hdrc.1.auto: USB bus 1 deregistered
^[[50;1R^[[50;9RINFO: task modprobe:387 blocked for more than 120 seconds.
Not tainted 3.16.0-ADI-2014R1-pre-00408-gfc31750 #4
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
modprobe D ffa008d4 0 387 1 0x00000002
Stack info:
SP: [0x04cedccc] <0x04cedccc> / kernel dynamic memory /
FP: (0x04cedd34)
Memory from 0x04cedcc0 to 04cee000
04cedcc0: 00312678 04cec000 003126ac [04cec000] 04dde700 04dde3c0 04dde5a4 003125cc
04cedce0: 00237b50 00312678 04cedd10 ffa01fe2 ffa01ff0 04cec000 040249e0 04cec008
04cedd00: 04cec000 00002676 04cec000 04cec000 04cedd40 ffa021fe 04cec000 04cec000
04cedd20: 04679000 04679068 ffa021d8 0002c008 04cedd54 (04cedd68)<040c7376> 04cedd68
04cedd40: 04cedd68 <040c73fa> 040a46fc 047735e0 04cedd6c 00000000 04dde3c0 0002c2f0
04cedd60: 04679068 04679068 (04cedd98)<040c761c> 040c7ad4 04fdadfc 0412aec4 04679000
04cedd80: 00000000 04fdab34 04085980 04ceddbc 04ceddc0 <051438be>(04ceddb8)<05143baa>
04cedda0: 04773400 05143d3c 0412addc 04fdab34 04085980 00000000 (04ceddd0)<0412aee0>
04ceddc0: 04fdadec <0412adee> ffffffb0 04628710 (04cedde8)<04fda844> 00000001 <04128a9c>
04cedde0: 047732e0 ffffffb0 (04cede14)<04129320> 04128a50 047732e0 040a5014 04773318
04cede00: 00000001 00000020 04059a00 04cede3c 04cede34 (04cede3c)<04129360> 04628700
04cede20: 00000081 050f9710 04fdac20 00000000 00000001 04cede50 <00156f12>(04cede50)
04cede40:<00156f1a> 00000000 04dde3c0 00000000 (04cede68) 001574a8 04628700 00000100
04cede60: 04cede74 04cede80 (04cede84)<04128f44> 04fdac7c 0000ffff 04cedeac 00000080
04cede80: 00000020 (04cede98)<04fda99a> 0005e530 04cedeb0 04cedef8 (04cedef8)<00043b32>
04cedea0: 00000000 00000000 04ceded8 65735f67 6c616972 00000000 00000000 00000000
04cedec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
04cedee0: 00000000 00ff0000 04fdac7c 00000080 04cedef4 00000000 (00000000)<ffa00802>
04cedf00: 00043a04 00000000 ffffe000 003125cc 00000000 ffa0084c 04e87664 04085980
04cedf20: 00000020 04e8d8d4 00008000 00000000 00000000 04cee000 04e8d8d4 04e8d8d4
04cedf40: 04e0aef0 ffa00dee 02003004 04ea098f 04db523f 04ea098e 04db523e 00000000
04cedf60: 00000000 0000147a 00000000 0000147a 00000000 00000000 00000001 00000000
04cedf80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
04cedfa0: 040857ec 050f8000 050f8000 00000001 040858e3 0517fb60 0517fb6c 050fa1dc
04cedfc0: 040857d0 050f9710 0477c160 04e8d8c8 00000081 00000000 00000000 00000020
04cedfe0: 04085980 04e87664 00000000 00000080 040857ec 040857ec 00000081 00002806
Return addresses in stack:
frame 1 : <0x040c7376> { :u_serial:_gserial_disconnect + 0x366 }
address : <0x040c73fa> { :u_serial:_gserial_disconnect + 0x3ea }
frame 2 : <0x040c761c> { :u_serial:_gserial_free_line + 0x44 }
address : <0x051438be> / kernel dynamic memory /
frame 3 : <0x05143baa> / kernel dynamic memory /
frame 4 : <0x0412aee0> { :libcomposite:_usb_put_function_instance + 0x1c }
address : <0x0412adee> { :libcomposite:_usb_put_function + 0x12 }
frame 5 : <0x04fda844> / kernel dynamic memory /
address : <0x04128a9c> { :libcomposite:_usb_interface_id + 0xcc }
frame 6 : <0x04129320> { :libcomposite:_composite_dev_cleanup + 0x104 }
frame 7 : <0x04129360> { :libcomposite:_composite_dev_cleanup + 0x144 }
address : <0x00156f12> { _usb_gadget_remove_driver + 0x2a }
frame 8 : <0x00156f1a> { _usb_gadget_remove_driver + 0x32 }
frame 10 : <0x04128f44> { :libcomposite:_usb_composite_unregister + 0x10 }
frame 11 : <0x04fda99a> { :g_serial:_cleanup_module + 0x16 }
frame 12 : <0x00043b32> { _SyS_delete_module + 0x12e }
frame 13 : <0xffa00802> { _system_call + 0x6a }</ffa00802>

Discussion

  • Sonic Zhang

    Sonic Zhang - 2014-09-05
    • assigned_to: Steven Miao
    • Resolution: none --> assigned
     
  • Sonic Zhang

    Sonic Zhang - 2014-09-19
    • assigned_to: Steven Miao --> andre
     
  • panmingquan

    panmingquan - 2014-09-22

    This issue doesn't show up when running reboot right after usbdev uImage built with dma boots up.

    It comes up after finishing running the gadgets serial linuxACA test.

    bfin> bootm 0x2000000

    Booting kernel from Legacy Image at 02000000 ...

    Image Name: bf609-0.0-3.16.0-ADI-2014R1-pre-
    Image Type: Blackfin Linux Kernel Image (gzip compressed)
    Data Size: 6769563 Bytes = 6.5 MiB
    Load Address: 00001000
    Entry Point: 00335a7c
    Verifying Checksum ... OK
    Uncompressing Kernel Image ... OK
    Starting Kernel at = 00335a7c
    Linux version 3.16.0-ADI-2014R1-pre-00411-g97bf365 (test@linux87-bf609-usbdev) (gcc version 4.3.5 (ADI-master/git-a2bfd7b) ) #4 Tue Sep 2 01:11:35 CST 2014
    register early platform devices
    bootconsole [early_shadow0] enabled
    ERROR: Not running on ADSP-BF609: unknown CPUID 0x0000 Rev 0.0
    bootconsole [early_BFuart0] enabled
    early printk enabled on early_BFuart0
    Board Memory: 128MB
    Kernel Managed Memory: 128MB
    Memory map:
    fixedcode = 0x00000400-0x00000490
    text = 0x00001000-0x00236990
    rodata = 0x002369b4-0x002ed9d0
    bss = 0x002ee000-0x003075c8
    data = 0x003075e0-0x00332000
    stack = 0x00330000-0x00332000
    init = 0x00332000-0x0080f000
    available = 0x0080f000-0x07e00000
    DMA Zone = 0x07e00000-0x08000000
    Hardware Trace active and enabled
    Blackfin support (C) 2004-2010 Analog Devices, Inc.
    Compiled for ADSP-BF609 Rev 0.0
    Blackfin Linux support by http://blackfin.uclinux.org/
    Processor Speed: 500 MHz core clock, 100 MHz SCLk, 100 MHz SCLK0, 100 MHz SCLK1 and 250 MHz DCLK
    NOMPU: setting up cplb tables
    Instruction Cache Enabled for CPU0
    External memory: cacheable in instruction cache
    L2 SRAM : uncacheable in instruction cache
    Data Cache Enabled for CPU0
    External memory: cacheable (write-back) in data cache
    L2 SRAM : uncacheable in data cache
    Built 1 zonelists in Zone order, mobility grouping off. Total pages: 32004
    Kernel command line: root=/dev/mtdblock0 rw ip=10.100.4.50 earlyprintk=serial,uart0,57600 console=ttyBF0,57600 ip=10.100.4.50:10.100.4.174:10.100.4.174:255.255.255.0:bf609-ezkit:eth0:off
    PID hash table entries: 512 (order: -1, 2048 bytes)
    Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
    Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
    Memory: 119604K/129024K available (2262K kernel code, 170K rwdata, 732K rodata, 4980K init, 101K bss, 9420K reserved, 2048K DMA)
    NR_IRQS:291
    Configuring Blackfin Priority Driven Interrupts
    Console: colour dummy device 80x25
    Calibrating delay loop... 989.18 BogoMIPS (lpj=1978368)
    pid_max: default: 32768 minimum: 301
    Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
    Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
    devtmpfs: initialized
    Blackfin Scratchpad data SRAM: 4 KB
    Blackfin L1 Data A SRAM: 16 KB (9 KB free)
    Blackfin L1 Data B SRAM: 16 KB (16 KB free)
    Blackfin L1 Instruction SRAM: 64 KB (48 KB free)
    Blackfin L2 SRAM: 256 KB (256 KB free)
    pinctrl core: initialized pinctrl subsystem
    NET: Registered protocol family 16
    Blackfin DMA Controller
    ezkit_init(): registering device resources
    SCSI subsystem initialized
    usbcore: registered new interface driver usbfs
    usbcore: registered new interface driver hub
    usbcore: registered new device driver usb
    i2c-bfin-twi i2c-bfin-twi.0: Blackfin on-chip I2C TWI Contoller, regs_base@ffc01e00
    i2c-bfin-twi i2c-bfin-twi.1: Blackfin on-chip I2C TWI Contoller, regs_base@ffc01f00
    pps_core: LinuxPPS API ver. 1 registered
    pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it
    PTP clock support registered
    Advanced Linux Sound Architecture Driver Initialized.
    NET: Registered protocol family 23
    Switched to clocksource bfin_cs_cycles
    NET: Registered protocol family 2
    TCP established hash table entries: 1024 (order: 0, 4096 bytes)
    TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
    TCP: Hash tables configured (established 1024 bind 1024)
    TCP: reno registered
    UDP hash table entries: 256 (order: 0, 4096 bytes)
    UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
    NET: Registered protocol family 1
    msgmni has been set to 233
    io scheduler noop registered (default)
    bfin-uart: Blackfin serial driver
    bfin-uart.0: ttyBF0 at MMIO 0xffc02000 (irq = 88, base_baud = 6250000) is a BFIN-UART
    console [ttyBF0] enabled
    console [ttyBF0] enabled
    bootconsole [early_BFuart0] disabled
    bootconsole [early_BFuart0] disabled
    bootconsole [early_shadow0] disabled
    CAN device driver interface
    bfin_can bfin_can.0: bfin_can device registered(&reg_base=ffc00a00, rx_irq=47, tx_irq=48, err_irq=49, sclk=100000000)
    stmmaceth stmmaceth.0: no reset control found
    stmmac - user ID: 0x10, Synopsys ID: 0x36
    Ring mode enabled
    DMA HW capability register supported
    Enhanced/Alternate descriptors
    Enabled extended descriptors
    RX Checksum Offload Engine supported (type 2)
    Wake-Up On Lan supported
    Enable RX Mitigation via HW Watchdog Timer
    libphy: stmmac: probed
    eth0: PHY ID 20005c90 at 1 IRQ POLL (stmmac-0:01) active
    usbcore: registered new interface driver usb-storage
    musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
    musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
    hub 1-0:1.0: USB hub found
    hub 1-0:1.0: 1 port detected
    input: bfin-rotary as /devices/platform/bfin-rotary/input/input0
    i2c /dev entries driver
    bfin_wdt: initialized: timeout=20 sec (nowayout=0)
    dma_alloc_init: dma_page @ 0x04afc000 - 512 pages at 0x07e00000
    usbcore: registered new interface driver usbhid
    usbhid: USB HID core driver
    TCP: cubic registered
    NET: Registered protocol family 17
    can: controller area network core (rev 20120528 abi 9)
    NET: Registered protocol family 29
    can: raw protocol (rev 20120528)
    can: broadcast manager protocol (rev 20120528 t)
    can: netlink gateway (rev 20130117) max_hops=1
    eth0: device MAC address 00:e0:22:fe:87:dc
    mmc0: host does not support reading read-only switch. assuming write-enable.
    mmc0: new SD card at address e624
    mmcblk0: mmc0:e624 SD02G 1.84 GiB
    mmcblk0: p1
    IP-Config: Complete:
    device=eth0, hwaddr=00:e0:22:fe:87:dc, ipaddr=10.100.4.50, mask=255.255.255.0, gw=10.100.4.174
    host=bf609-ezkit, domain=, nis-domain=(none)
    bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=
    ALSA device list:
    No soundcards found.
    Freeing unused kernel memory: 4980K (00332000 - 0080f000)

    BusyBox v1.22.1 (2014-09-01 23:17:07 CST) hush - the humble shell

    root:/> ifconfig ethstmmaceth stmmaceth.0 eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    0 10.100.4.50
    root:/> ^[[43;9R^[[43;9REthernet may has been activated already!
    random: nonblocking pool is initialized
    version
    kernel: Linux release 3.16.0-ADI-2014R1-pre-00411-g97bf365, build #4 Tue Sep 2 01:11:35 CST 2014
    toolchain: /home/test/workspace/src/kernel/label/BF609-EZKIT-USBDEV/output/host/usr/bin/bfin-linux-uclibc-gcc release gcc version 4.3.5 (ADI-master/git-a2bfd7b)
    user-dist: release git-2fdfff1, build #2 Tue Sep 2 01:08:43 CST 2014
    root:/>
    inux version: 3.16.0-ADI-2014R1-pre-00411-g97bf365
    GCC version: 4.3.5 (ADI-master/git-a2bfd7b)
    user-dist version: git-2fdfff1


    STEP 3: Start testing.

    6nifconfig eth0 10.100.4.50
    root:/>
    root:/> modprobe g_serial use_acm=1
    ^[[43;9Rg_serial gadget: Gadget Serial v2.4
    g_serial gadget: g_serial ready
    root:/> ^[[43;9Rg_serial gadget: high-speed config #2: CDC ACM config

    Case 1 ...PASS
    dmesg|tail
    host=bf609-ezkit, domain=, nis-domain=(none)
    bootserver=10.100.4.174, rootserver=10.100.4.174, rootpath=
    ALSA device list:
    No soundcards found.
    Freeing unused kernel memory: 4980K (00332000 - 0080f000)
    stmmaceth stmmaceth.0 eth0: Link is Up - 100Mbps/Full - flow control rx/tx
    random: nonblocking pool is initialized
    g_serial gadget: Gadget Serial v2.4
    g_serial gadget: g_serial ready
    g_serial gadget: high-speed config #2: CDC ACM config
    root:/>
    ase 2 ...PASS
    spawn /bin/bash
    test@linux87-bf609-usbdev:usbdev$ su
    Password:
    root@linux87-bf609-usbdev:usbdev#
    Case 3 ...PASS
    rm -fr file_in_target*
    root@linux87-bf609-usbdev:usbdev#
    Case 4 ...PASS
    cat /sys/kernel/debug/usb/devices

    T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2
    B: Alloc= 0/800 us ( 0%), #Int= 3, #Iso= 0
    D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1d6b ProdID=0002 Rev= 3.02
    S: Manufacturer=Linux 3.2.35-usbfs ehci_hcd
    S: Product=EHCI Host Controller
    S: SerialNumber=0000:00:1d.0
    C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
    I:
    If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
    E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

    T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 6
    D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
    P: Vendor=8087 ProdID=0024 Rev= 0.00
    C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
    I:
    If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
    E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=256ms

    T: Bus=02 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 4 Spd=1.5 MxCh= 0
    D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
    P: Vendor=046d ProdID=c077 Rev=67.00
    S: Manufacturer=Logitech
    S: Product=USB Optical Mouse
    C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 98mA
    I:
    If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid
    E: Ad=81(I) Atr=03(Int.) MxPS= 6 Ivl=10ms

    T: Bus=02 Lev=02 Prnt=02 Port=04 Cnt=02 Dev#= 3 Spd=1.5 MxCh= 0
    D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
    P: Vendor=0557 ProdID=2220 Rev= 1.00
    S: Manufacturer=ATEN
    S: Product=ATEN CS-1758/54
    C: #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA
    I:
    If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=01 Driver=usbhid
    E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
    I:* If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid
    E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=10ms

    T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2
    B: Alloc= 0/800 us ( 0%), #Int= 1, #Iso= 0
    D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=1d6b ProdID=0002 Rev= 3.02
    S: Manufacturer=Linux 3.2.35-usbfs ehci_hcd
    S: Product=EHCI Host Controller
    S: SerialNumber=0000:00:1a.0
    C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
    I:
    If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
    E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

    T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 4
    D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
    P: Vendor=8087 ProdID=0024 Rev= 0.00
    C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
    I:
    If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
    E: Ad=81(I) Atr=03(Int.) MxPS= 1 Ivl=256ms

    T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 19 Spd=480 MxCh= 0
    D: Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
    P: Vendor=0525 ProdID=a4a7 Rev= 3.16
    S: Manufacturer=Linux 3.16.0-ADI-2014R1-pre-00411-g97bf365 with musb-hdrc
    S: Product=Gadget Serial v2.4
    C: #Ifs= 2 Cfg#= 2 Atr=c0 MxPwr= 2mA
    A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=02 Prot=01
    I:
    If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=01 Driver=cdc_acm
    E: Ad=81(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
    I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_acm
    E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

    Case 5 ...PASS
    nsetsid getty 9600 /dev/ttyGS0
    root:/>
    Case 6 ...PASS
    spawn /bin/bash
    kermit configs/zmodem.ttyACM0
    test@linux87-bf609-usbdev:usbdev$ kermit configs/zmodem.ttyACM0
    ?OpenSSL libraries do not match required version:
    . C-Kermit built with OpenSSL 1.0.0e 6 Sep 2011
    . Version found OpenSSL 1.0.1 14 Mar 2012
    OpenSSL versions prior to 1.0.0 must be the same.
    Set LD_LIBRARY_PATH for OpenSSL 1.0.0e 6 Sep 2011.
    Or rebuild C-Kermit from source on this computer to make versions agree.
    C-Kermit makefile target: linux+krb5+openssl
    Or if that is what you did then try to find out why
    the program loader (image activator) is choosing a
    different OpenSSL library than the one specified in the build.

    All SSL/TLS features disabled.

    C-Kermit 9.0.302 OPEN SOURCE:, 20 Aug 2011, for Linux+SSL+KRB5
    Copyright (C) 1985, 2011,
    Trustees of Columbia University in the City of New York.
    Type ? or HELP for help.
    ttyACM0 >
    Case 7 ...PASS
    connect
    Connecting to /dev/ttyACM0, speed 9600
    Escape character: Code 0: enabled
    Type the escape character followed by C to get back,
    or followed by ? to see other options.


    Welcome to Buildroot

    buildroot login:
    Case 8 ...PASS


    STEP 4: Send file to host PC through gadget serial

    root

                           _______________________________________
        a8888b.           / Welcome to the buildroot distribution \
       d888888b.         /       _     _                           \
       8P"YP"Y88        /       | |   |_|            __  __ (TM)   |
       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /        |
       8'    .88       \        | |   | |  _ \| | | | \  /         |
       8`._.' Y8.       \       | |__ | | | | | |_| | /  \         |
      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\        |
     dP   .    Y8b.       \   For embedded processors including    |
    d8:'  "  `::88b        \    the Analog Devices Blackfin        /
    

    d8" 'Y88b ______/
    :8P ' :888
    8a. : _a88P For further information, check out:
    .
    /"Yaa_: .| 88P| - http://blackfin.uclinux.org/
    \ YP" | 8P. - http://docs.blackfin.uclinux.org/
    / .___.d| .' - http://www.uclinux.org/
    --..__)8888P._.' jgs/a:f - http://buildroot.org/

    Have a lot of fun...

    BusyBox v1.22.1 (2014-09-01 23:17:07 CST) hush - the humble shell

    root:~>
    Case 9 ...PASS
    cp /proc/kallsyms /file_in_target
    ^[[43;1Rroot:~>
    Case 10 ...PASS
    lsz /file_in_target
    **B0


    Receiving: file_in_target
    Bytes received: 427260/ 427260 BPS:2338523 3;1R

    Transfer complete

    Case 11 ...PASS


    �root:~> 000
    Case 12 ...PASS
    root@linux87-bf609-usbdev:usbdev# rcp root@10.100.4.50:/file_in_target file_in_target.rcp
    root@linux87-bf609-usbdev:usbdev#
    Case 13 ...PASS
    diff -q file_in_target.rcp file_in_target
    root@linux87-bf609-usbdev:usbdev#
    Case 14 ...PASS


    STEP 5: Send file to target board through gadget serial

    root:~>

    ttyACM0 >
    Case 15 ...PASS
    ^[[43;1R^[[43;9Rsend file_in_target.rcp
    Sending: file_in_target.rcp
    Bytes Sent: 427260 BPS:2402726

    Transfer complete
    ttyACM0 >
    Case 16 ...PASS
    connect
    Connecting to /dev/ttyACM0, speed 9600
    Escape character: Code 0: enabled
    Type the escape character followed by C to get back,
    or followed by ? to see other options.


    root:~>

    Case 17 ...PASS
    root:~>
    Case 18 ...PASS
    diff -q /file_in_target file_in_target.rcp
    root:~>
    ^[[43;9RClosing /dev/ttyACM0...OK

    Case 20 ...PASS
    rm -fr file_in_target*
    root@linux87-bf609-usbdev:usbdev#
    Case 21 ...PASS
    Ending ./gadget_serial_linuxACM_test.exp
    test@linux87-bf609-usbdev:usbdev$ ;9R;9R;9R;9R;9R;9R;1R;1R;1R;9R;9R
    -bash: syntax error near unexpected token `;'
    test@linux87-bf609-usbdev:usbdev$
    test@linux87-bf609-usbdev:usbdev$
    test@linux87-bf609-usbdev:usbdev$ minicom

    Welcome to minicom 2.5

    OPTIONS: I18n
    Compiled on May 2 2011, 00:39:27.
    Port /dev/ttyS0

    Press CTRL-A Z for help on special keys

    root:/>
    root:/>
    root:/> reboot
    The system is going down NOW!
    Sent SIGTERM to all processes
    Sent SIGKILL to all processes
    Requesting system reboot
    musb-hdrc musb-hdrc.1.auto: remove, state 1
    usb usb1: USB disconnect, device number 1
    musb-hdrc musb-hdrc.1.auto: USB bus 1 deregistered
    INFO: task kworker/u2:0:6 blocked for more than 120 seconds.
    Not tainted 3.16.0-ADI-2014R1-pre-00411-g97bf365 #4
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    kworker/u2:0 D ffa008d4 0 6 2 0x00000000
    Workqueue: kmmcd _mmc_rescan
    Stack info:
    SP: [0x0403fbfc] <0x0403fbfc> / kernel dynamic memory /
    Memory from 0x0403fbf0 to 04040000
    0403fbf0: 00312678 0403fd60 0403fc14 [00000000] 0030d8b4 040249e0 04024bc4 003125cc
    0403fc10: 00237b20 00312678 0403fc40 ffa01fe2 00000048 00000024 00000020 0403e008
    0403fc30: 0403e000 0000201f 0403e000 0403e000 0403fc70 ffa021fe 0403e000 0403fd60
    0403fc50: 0030e5b0 7fffffff 7fffffff 00000000 0403e000 00000000 00000000 0403fc8c
    0403fc70: 0403fca4 ffa019f6 003126ac 040249e0 00312678 00000001 00237b20 0403fcac
    0403fc90: 00029f0c 00312678 0403fdd8 003126ac 00000000 0403fce4 ffa0280a 0403e000
    0403fcb0: 0403fd60 7fffffff 0403e000 00000000 04024bc4 0403fcd8 00174764 00000000
    0403fcd0: 00000001 040249e0 00028738 0403fd64 0403fd64 0403fd14 ffa028a8 0403fd8c
    0403fcf0: 0456d400 0403fd50 0403fd60 00000000 0030e5b0 00000000 0000ffff 00000000
    0403fd10: 00000002 0403fd28 001682a0 0403fd48 0403fd50 0002a188 0403fd74 00168370
    0403fd30: 0403fd8c 04020e80 0456d578 0403be00 04040c00 00000000 0403fd88 ffa0280a
    0403fd50: 00000000 0403fd8c 00000000 00000000 00000000 0403fcdc 0403fcdc 001681f8
    0403fd70: 00000000 0403fdc0 0016b612 00000000 00100100 0403fdbc 0002be82 0000000d
    0403fd90: e6240000 00000000 00000000 00000000 00000000 00000195 00000003 00000000
    0403fdb0: 00000000 00000000 00000000 0403fd50 0403fdd8 0016c388 0456d400 0456d400
    0403fdd0: 04020e80 0456d578 0403fdec <0016715c> 0030e5b0 00000000 00237b20 0403fe08
    0403fdf0: 0016c546 0456d400 0403be00 0403fe18 00000000 0030d8b4 0403fe28 <00167f08>
    0403fe10: 0456d400 0403be00 00000000 0030d8b4 04024bc4 000000fa 0403fe58 <0001b0d0>
    0403fe30: 0403e000 04020e80 0456d578 0403be00 0403e000 0403fe74 ffa021fe 0403e000
    0403fe50: 04020e80 04040c05 0403feac 0001b3f2 0403e000 04020e80 0403be00 04020e98
    0403fe70: 0403be10 0403bfb0 0030e5b0 0002beb6 0403a700 0403e008 0031189c 04af6b80
    0403fe90: 0403e000 0403e000 0403e000 0403bf60 0403bfb0 0403be10 0403be44 0403ff00
    0403feb0:<00020946> 0403a700 0001b2f0 04024d20 00000000 04020e80 00237b20 00312678
    0403fed0: 00000000 00000000 00000000 00000000 00027270 04020e80 00000000 0403feec
    0403fef0: 0403feec 00000000 0403fef8 0403fef8 04039e44 <ffa00014> 00000000 040249e0
    0403ff10: 04024f04 003125cc 00000001 00020890 0403a700 00000000 00008000 00000000
    0403ff30: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ff50: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ff70: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ff90: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ffb0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ffd0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403fff0: 00000000 00000000 ffffffff 00002806
    Return addresses in stack:
    address : <0x0016715c> { __mmc_detect_card_removed + 0x34 }
    address : <0x00167f08> { _mmc_rescan + 0x1b4 }
    address : <0x0001b0d0> { _process_one_work + 0xe4 }
    address : <0x00020946> { _kthread + 0xb6 }
    address : <0xffa00014> { _ret_from_fork + 0x14 }
    INFO: task modprobe:387 blocked for more than 120 seconds.
    Not tainted 3.16.0-ADI-2014R1-pre-00411-g97bf365 #4
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    modprobe D ffa008d4 0 387 1 0x00000002
    Stack info:
    SP: [0x04cf1ccc] <0x04cf1ccc> / kernel dynamic memory /
    FP: (0x04cf1d34)
    Memory from 0x04cf1cc0 to 04cf2000
    04cf1cc0: 00312678 04cf0000 003126ac [04cf0000] 04f2a700 04f2aa40 04f2ac24 003125cc
    04cf1ce0: 00237b20 00312678 04cf1d10 ffa01fe2 ffa01ff0 04cf0000 040249e0 04cf0008
    04cf1d00: 04cf0000 00002678 04cf0000 04cf0000 04cf1d40 ffa021fe 04cf0000 04cf0000
    04cf1d20: 04fdf200 04fdf268 ffa021d8 0002c008 04cf1d54 (04cf1d68)<040f3376> 04cf1d68
    04cf1d40: 04cf1d68 <040f33fa> 040b5a60 00000000 04cf1d6c 00000000 04f2aa40 0002c2f0
    04cf1d60: 04fdf268 04fdf268 (04cf1d98)<040f361c> 040f3ad4 0477cdfc 050c2ec4 04fdf200
    04cf1d80: 00000000 0477cb34 0408197c 00200200 04cf1dc0 <040cd12e>(04cf1db8)<040cd86e>
    04cf1da0: 04afe400 040cdb1c 050c2ddc 0477cb34 0408197c 0000001f (04cf1dd0)<050c2ee0>
    04cf1dc0: 0477cdec <050c2dee> 00155204 0000001f (04cf1de8)<0477c844> 00000001 0477cb74
    04cf1de0:<040cd192> 045ed020 (04cf1e14)<050c1320> 050c0a50 04afe2e0 040af014 04afe318
    04cf1e00: 00000001 00000020 04059a00 04cf1e3c 04cf1e34 (04cf1e3c)<050c1360> 0462a700
    04cf1e20: 00000081 05089710 0477cc20 00000000 00000001 04cf1e50 <00156ede>(04cf1e50)
    04cf1e40:<00156ee6> 00000000 04f2aa40 00000000 (04cf1e68) 00157474 0462a700 00000100
    04cf1e60: 04cf1e74 04cf1e80 (04cf1e84)<050c0f44> 0477cc7c 0000ffff 04cf1eac 00000080
    04cf1e80: 00000020 (04cf1e98)<0477c99a> 0005e530 04cf1eb0 04cf1ef8 (04cf1ef8)<00043b32>
    04cf1ea0: 00000000 00000000 04cf1ed8 65735f67 6c616972 00000000 00000000 00000000
    04cf1ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    04cf1ee0: 00000000 00ff0000 0477cc7c 00000080 04cf1ef4 00000000 (00000000)<ffa00802>
    04cf1f00: 00043a04 00000000 ffffe000 00000000 00000000 ffa0084c 04e87664 0408197c
    04cf1f20: 00000020 04e8d8d4 00008000 00000000 00000000 04cf2000 04e8d8d4 04e8d8d4
    04cf1f40: 04e0aef0 ffa00dee 02003004 04ea098f 04ddd23f 04ea098e 04ddd23e 00000000
    04cf1f60: 00000000 0000147a 00000000 0000147a 00000000 00000000 00000001 00000000
    04cf1f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    04cf1fa0: 040817e8 05088000 05088000 00000001 040818df 050ffb60 050ffb6c 0508a1dc
    04cf1fc0: 040817cc 05089710 051ed160 04e8d8c8 00000081 00000000 00000000 00000020
    04cf1fe0: 0408197c 04e87664 00000000 00000080 040817e8 040817e8 00000081 00002806
    Return addresses in stack:
    frame 1 : <0x040f3376> { :u_serial:_gserial_disconnect + 0x366 }
    address : <0x040f33fa> { :u_serial:_gserial_disconnect + 0x3ea }
    frame 2 : <0x040f361c> { :u_serial:_gserial_free_line + 0x44 }
    address : <0x040cd12e> / kernel dynamic memory /
    frame 3 : <0x040cd86e> / kernel dynamic memory /
    frame 4 : <0x050c2ee0> { :libcomposite:_usb_put_function_instance + 0x1c }
    address : <0x050c2dee> { :libcomposite:_usb_put_function + 0x12 }
    frame 5 : <0x0477c844> / kernel dynamic memory /
    address : <0x040cd192> / kernel dynamic memory /
    frame 6 : <0x050c1320> { :libcomposite:_composite_dev_cleanup + 0x104 }
    frame 7 : <0x050c1360> { :libcomposite:_composite_dev_cleanup + 0x144 }
    address : <0x00156ede> { _usb_gadget_remove_driver + 0x2a }
    frame 8 : <0x00156ee6> { _usb_gadget_remove_driver + 0x32 }
    frame 10 : <0x050c0f44> { :libcomposite:_usb_composite_unregister + 0x10 }
    frame 11 : <0x0477c99a> { :g_serial:_cleanup_module + 0x16 }
    frame 12 : <0x00043b32> { _SyS_delete_module + 0x12e }
    frame 13 : <0xffa00802> { _system_call + 0x6a }
    INFO: task init:393 blocked for more than 120 seconds.
    Not tainted 3.16.0-ADI-2014R1-pre-00411-g97bf365 #4
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    init D ffa008d4 0 393 1 0x00000000
    Stack info:
    SP: [0x05053c40] <0x05053c40> / kernel dynamic memory /
    FP: (0x05053d64)
    Memory from 0x05053c40 to 05054000
    05053c40:[05052000] 0030d8b4 04f2b740 04f2b924 003125cc 00237b20 00312678 05053c84
    05053c60: ffa01fe2 0456dc00 002fe594 05053c9c 05052008 05052000 00002829 05052000
    05053c80: 05052000 05053cb4 ffa021fe 05052000 00327cc4 04f2b740 00000002 ffffffff
    05053ca0: 0030e5b0 00327cc8 0451dca0 00324048 0408f840 05053cc8 ffa02398 0408f858
    05053cc0: 00200200 05053cdc 05053cec ffa02f62 05052000 05053cec 05053cec 05053cf0
    05053ce0: 00327cc8 00327cc8 04f2b740 05053d1c ffa03008 00327cc4 0462e00c 05052000
    05053d00: 040af014 05052000 002fe594 002ee00c 0451dc78 05052000 05053d24 05053d34
    05053d20: 001570d8 040ae00c 05053d4c 00151646 040ae00c 05053d50 00154d0e 040ae00c
    05053d40: 0030fb40 00000000 05053d68 05053d64 05053d64 0014f588 0456d404 04dc1710
    05053d60: 00000002 (05053d80)<0010c224> 0462e040 0030fb40 00000000 05053da4 05053d94
    05053d80:(05053d94)<00108326> 0002412c 00024dc0 00000000 (05053dc4) 00024d32 00024dc0
    05053da0: 00000058 04dc1710 00000000 01234567 fee1dead fee1dead 00000000 05053dd8
    05053dc0: 05053dd8 (05053dd8) 00024d74 00000000 00000000 00000001 (05053ef0) 00024e7e
    05053de0: 28121969 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053ea0: 00000000 0507fe60 00001000 0407d124 0477a840 00000000 00000000 00000000
    05053ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 05053efc
    05053ee0: 00027270 04026000 04f2b740 04025c04 (00000000)<ffa00802> 00024dc0 00000000
    05053f00: ffffe000 00000143 00000036 003125cc 00000000 00000000 fee1dead 00000036
    05053f20: 00000143 04e8f2a8 00008000 00000000 00000000 05054000 04e8f2a8 04e8f2a8
    05053f40: 04e45fd8 ffa00dee 02003025 04ea1d23 04ea5845 04ea1d22 04ea5842 00000000
    05053f60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053fa0: 00000000 04dc0000 04dc0000 00000000 04dc1710 04dffb7c 04dffb88 04db9a98
    05053fc0: 04dffedc 04dc1710 04dbcc20 04e8f288 00000058 01234567 00000000 00000143
    05053fe0: 00000036 fee1dead 01234567 28121969 fee1dead fee1dead 00000058 00002806
    Return addresses in stack:
    frame 1 : <0x0010c224> { _platform_drv_shutdown + 0x14 }
    frame 2 : <0x00108326> { _device_shutdown + 0x3a }
    frame 6 : <0xffa00802> { _system_call + 0x6a }
    INFO: task kworker/u2:0:6 blocked for more than 120 seconds.
    Not tainted 3.16.0-ADI-2014R1-pre-00411-g97bf365 #4
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    kworker/u2:0 D ffa008d4 0 6 2 0x00000000
    Workqueue: kmmcd _mmc_rescan
    Stack info:
    SP: [0x0403fbfc] <0x0403fbfc> / kernel dynamic memory /
    Memory from 0x0403fbf0 to 04040000
    0403fbf0: 00312678 0403fd60 0403fc14 [00000000] 0030d8b4 040249e0 04024bc4 003125cc
    0403fc10: 00237b20 00312678 0403fc40 ffa01fe2 00000048 00000024 00000020 0403e008
    0403fc30: 0403e000 0000201f 0403e000 0403e000 0403fc70 ffa021fe 0403e000 0403fd60
    0403fc50: 0030e5b0 7fffffff 7fffffff 00000000 0403e000 00000000 00000000 0403fc8c
    0403fc70: 0403fca4 ffa019f6 003126ac 040249e0 00312678 00000001 00237b20 0403fcac
    0403fc90: 00029f0c 00312678 0403fdd8 003126ac 00000000 0403fce4 ffa0280a 0403e000
    0403fcb0: 0403fd60 7fffffff 0403e000 00000000 04024bc4 0403fcd8 00174764 00000000
    0403fcd0: 00000001 040249e0 00028738 0403fd64 0403fd64 0403fd14 ffa028a8 0403fd8c
    0403fcf0: 0456d400 0403fd50 0403fd60 00000000 0030e5b0 00000000 0000ffff 00000000
    0403fd10: 00000002 0403fd28 001682a0 0403fd48 0403fd50 0002a188 0403fd74 00168370
    0403fd30: 0403fd8c 04020e80 0456d578 0403be00 04040c00 00000000 0403fd88 ffa0280a
    0403fd50: 00000000 0403fd8c 00000000 00000000 00000000 0403fcdc 0403fcdc 001681f8
    0403fd70: 00000000 0403fdc0 0016b612 00000000 00100100 0403fdbc 0002be82 0000000d
    0403fd90: e6240000 00000000 00000000 00000000 00000000 00000195 00000003 00000000
    0403fdb0: 00000000 00000000 00000000 0403fd50 0403fdd8 0016c388 0456d400 0456d400
    0403fdd0: 04020e80 0456d578 0403fdec <0016715c> 0030e5b0 00000000 00237b20 0403fe08
    0403fdf0: 0016c546 0456d400 0403be00 0403fe18 00000000 0030d8b4 0403fe28 <00167f08>
    0403fe10: 0456d400 0403be00 00000000 0030d8b4 04024bc4 000000fa 0403fe58 <0001b0d0>
    0403fe30: 0403e000 04020e80 0456d578 0403be00 0403e000 0403fe74 ffa021fe 0403e000
    0403fe50: 04020e80 04040c05 0403feac 0001b3f2 0403e000 04020e80 0403be00 04020e98
    0403fe70: 0403be10 0403bfb0 0030e5b0 0002beb6 0403a700 0403e008 0031189c 04af6b80
    0403fe90: 0403e000 0403e000 0403e000 0403bf60 0403bfb0 0403be10 0403be44 0403ff00
    0403feb0:<00020946> 0403a700 0001b2f0 04024d20 00000000 04020e80 00237b20 00312678
    0403fed0: 00000000 00000000 00000000 00000000 00027270 04020e80 00000000 0403feec
    0403fef0: 0403feec 00000000 0403fef8 0403fef8 04039e44 <ffa00014> 00000000 040249e0
    0403ff10: 04024f04 003125cc 00000001 00020890 0403a700 00000000 00008000 00000000
    0403ff30: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ff50: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ff70: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ff90: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ffb0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ffd0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403fff0: 00000000 00000000 ffffffff 00002806
    Return addresses in stack:
    address : <0x0016715c> { __mmc_detect_card_removed + 0x34 }
    address : <0x00167f08> { _mmc_rescan + 0x1b4 }
    address : <0x0001b0d0> { _process_one_work + 0xe4 }
    address : <0x00020946> { _kthread + 0xb6 }
    address : <0xffa00014> { _ret_from_fork + 0x14 }
    INFO: task modprobe:387 blocked for more than 120 seconds.
    Not tainted 3.16.0-ADI-2014R1-pre-00411-g97bf365 #4
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    modprobe D ffa008d4 0 387 1 0x00000002
    Stack info:
    SP: [0x04cf1ccc] <0x04cf1ccc> / kernel dynamic memory /
    FP: (0x04cf1d34)
    Memory from 0x04cf1cc0 to 04cf2000
    04cf1cc0: 00312678 04cf0000 003126ac [04cf0000] 04f2a700 04f2aa40 04f2ac24 003125cc
    04cf1ce0: 00237b20 00312678 04cf1d10 ffa01fe2 ffa01ff0 04cf0000 040249e0 04cf0008
    04cf1d00: 04cf0000 00002678 04cf0000 04cf0000 04cf1d40 ffa021fe 04cf0000 04cf0000
    04cf1d20: 04fdf200 04fdf268 ffa021d8 0002c008 04cf1d54 (04cf1d68)<040f3376> 04cf1d68
    04cf1d40: 04cf1d68 <040f33fa> 040b5a60 00000000 04cf1d6c 00000000 04f2aa40 0002c2f0
    04cf1d60: 04fdf268 04fdf268 (04cf1d98)<040f361c> 040f3ad4 0477cdfc 050c2ec4 04fdf200
    04cf1d80: 00000000 0477cb34 0408197c 00200200 04cf1dc0 <040cd12e>(04cf1db8)<040cd86e>
    04cf1da0: 04afe400 040cdb1c 050c2ddc 0477cb34 0408197c 0000001f (04cf1dd0)<050c2ee0>
    04cf1dc0: 0477cdec <050c2dee> 00155204 0000001f (04cf1de8)<0477c844> 00000001 0477cb74
    04cf1de0:<040cd192> 045ed020 (04cf1e14)<050c1320> 050c0a50 04afe2e0 040af014 04afe318
    04cf1e00: 00000001 00000020 04059a00 04cf1e3c 04cf1e34 (04cf1e3c)<050c1360> 0462a700
    04cf1e20: 00000081 05089710 0477cc20 00000000 00000001 04cf1e50 <00156ede>(04cf1e50)
    04cf1e40:<00156ee6> 00000000 04f2aa40 00000000 (04cf1e68) 00157474 0462a700 00000100
    04cf1e60: 04cf1e74 04cf1e80 (04cf1e84)<050c0f44> 0477cc7c 0000ffff 04cf1eac 00000080
    04cf1e80: 00000020 (04cf1e98)<0477c99a> 0005e530 04cf1eb0 04cf1ef8 (04cf1ef8)<00043b32>
    04cf1ea0: 00000000 00000000 04cf1ed8 65735f67 6c616972 00000000 00000000 00000000
    04cf1ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    04cf1ee0: 00000000 00ff0000 0477cc7c 00000080 04cf1ef4 00000000 (00000000)<ffa00802>
    04cf1f00: 00043a04 00000000 ffffe000 00000000 00000000 ffa0084c 04e87664 0408197c
    04cf1f20: 00000020 04e8d8d4 00008000 00000000 00000000 04cf2000 04e8d8d4 04e8d8d4
    04cf1f40: 04e0aef0 ffa00dee 02003004 04ea098f 04ddd23f 04ea098e 04ddd23e 00000000
    04cf1f60: 00000000 0000147a 00000000 0000147a 00000000 00000000 00000001 00000000
    04cf1f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    04cf1fa0: 040817e8 05088000 05088000 00000001 040818df 050ffb60 050ffb6c 0508a1dc
    04cf1fc0: 040817cc 05089710 051ed160 04e8d8c8 00000081 00000000 00000000 00000020
    04cf1fe0: 0408197c 04e87664 00000000 00000080 040817e8 040817e8 00000081 00002806
    Return addresses in stack:
    frame 1 : <0x040f3376> { :u_serial:_gserial_disconnect + 0x366 }
    address : <0x040f33fa> { :u_serial:_gserial_disconnect + 0x3ea }
    frame 2 : <0x040f361c> { :u_serial:_gserial_free_line + 0x44 }
    address : <0x040cd12e> / kernel dynamic memory /
    frame 3 : <0x040cd86e> / kernel dynamic memory /
    frame 4 : <0x050c2ee0> { :libcomposite:_usb_put_function_instance + 0x1c }
    address : <0x050c2dee> { :libcomposite:_usb_put_function + 0x12 }
    frame 5 : <0x0477c844> / kernel dynamic memory /
    address : <0x040cd192> / kernel dynamic memory /
    frame 6 : <0x050c1320> { :libcomposite:_composite_dev_cleanup + 0x104 }
    frame 7 : <0x050c1360> { :libcomposite:_composite_dev_cleanup + 0x144 }
    address : <0x00156ede> { _usb_gadget_remove_driver + 0x2a }
    frame 8 : <0x00156ee6> { _usb_gadget_remove_driver + 0x32 }
    frame 10 : <0x050c0f44> { :libcomposite:_usb_composite_unregister + 0x10 }
    frame 11 : <0x0477c99a> { :g_serial:_cleanup_module + 0x16 }
    frame 12 : <0x00043b32> { _SyS_delete_module + 0x12e }
    frame 13 : <0xffa00802> { _system_call + 0x6a }
    INFO: task init:393 blocked for more than 120 seconds.
    Not tainted 3.16.0-ADI-2014R1-pre-00411-g97bf365 #4
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    init D ffa008d4 0 393 1 0x00000000
    Stack info:
    SP: [0x05053c40] <0x05053c40> / kernel dynamic memory /
    FP: (0x05053d64)
    Memory from 0x05053c40 to 05054000
    05053c40:[05052000] 0030d8b4 04f2b740 04f2b924 003125cc 00237b20 00312678 05053c84
    05053c60: ffa01fe2 0456dc00 002fe594 05053c9c 05052008 05052000 00002829 05052000
    05053c80: 05052000 05053cb4 ffa021fe 05052000 00327cc4 04f2b740 00000002 ffffffff
    05053ca0: 0030e5b0 00327cc8 0451dca0 00324048 0408f840 05053cc8 ffa02398 0408f858
    05053cc0: 00200200 05053cdc 05053cec ffa02f62 05052000 05053cec 05053cec 05053cf0
    05053ce0: 00327cc8 00327cc8 04f2b740 05053d1c ffa03008 00327cc4 0462e00c 05052000
    05053d00: 040af014 05052000 002fe594 002ee00c 0451dc78 05052000 05053d24 05053d34
    05053d20: 001570d8 040ae00c 05053d4c 00151646 040ae00c 05053d50 00154d0e 040ae00c
    05053d40: 0030fb40 00000000 05053d68 05053d64 05053d64 0014f588 0456d404 04dc1710
    05053d60: 00000002 (05053d80)<0010c224> 0462e040 0030fb40 00000000 05053da4 05053d94
    05053d80:(05053d94)<00108326> 0002412c 00024dc0 00000000 (05053dc4) 00024d32 00024dc0
    05053da0: 00000058 04dc1710 00000000 01234567 fee1dead fee1dead 00000000 05053dd8
    05053dc0: 05053dd8 (05053dd8) 00024d74 00000000 00000000 00000001 (05053ef0) 00024e7e
    05053de0: 28121969 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053ea0: 00000000 0507fe60 00001000 0407d124 0477a840 00000000 00000000 00000000
    05053ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 05053efc
    05053ee0: 00027270 04026000 04f2b740 04025c04 (00000000)<ffa00802> 00024dc0 00000000
    05053f00: ffffe000 00000143 00000036 003125cc 00000000 00000000 fee1dead 00000036
    05053f20: 00000143 04e8f2a8 00008000 00000000 00000000 05054000 04e8f2a8 04e8f2a8
    05053f40: 04e45fd8 ffa00dee 02003025 04ea1d23 04ea5845 04ea1d22 04ea5842 00000000
    05053f60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053fa0: 00000000 04dc0000 04dc0000 00000000 04dc1710 04dffb7c 04dffb88 04db9a98
    05053fc0: 04dffedc 04dc1710 04dbcc20 04e8f288 00000058 01234567 00000000 00000143
    05053fe0: 00000036 fee1dead 01234567 28121969 fee1dead fee1dead 00000058 00002806
    Return addresses in stack:
    frame 1 : <0x0010c224> { _platform_drv_shutdown + 0x14 }
    frame 2 : <0x00108326> { _device_shutdown + 0x3a }
    frame 6 : <0xffa00802> { _system_call + 0x6a }
    INFO: task kworker/u2:0:6 blocked for more than 120 seconds.
    Not tainted 3.16.0-ADI-2014R1-pre-00411-g97bf365 #4
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    kworker/u2:0 D ffa008d4 0 6 2 0x00000000
    Workqueue: kmmcd _mmc_rescan
    Stack info:
    SP: [0x0403fbfc] <0x0403fbfc> / kernel dynamic memory /
    Memory from 0x0403fbf0 to 04040000
    0403fbf0: 00312678 0403fd60 0403fc14 [00000000] 0030d8b4 040249e0 04024bc4 003125cc
    0403fc10: 00237b20 00312678 0403fc40 ffa01fe2 00000048 00000024 00000020 0403e008
    0403fc30: 0403e000 0000201f 0403e000 0403e000 0403fc70 ffa021fe 0403e000 0403fd60
    0403fc50: 0030e5b0 7fffffff 7fffffff 00000000 0403e000 00000000 00000000 0403fc8c
    0403fc70: 0403fca4 ffa019f6 003126ac 040249e0 00312678 00000001 00237b20 0403fcac
    0403fc90: 00029f0c 00312678 0403fdd8 003126ac 00000000 0403fce4 ffa0280a 0403e000
    0403fcb0: 0403fd60 7fffffff 0403e000 00000000 04024bc4 0403fcd8 00174764 00000000
    0403fcd0: 00000001 040249e0 00028738 0403fd64 0403fd64 0403fd14 ffa028a8 0403fd8c
    0403fcf0: 0456d400 0403fd50 0403fd60 00000000 0030e5b0 00000000 0000ffff 00000000
    0403fd10: 00000002 0403fd28 001682a0 0403fd48 0403fd50 0002a188 0403fd74 00168370
    0403fd30: 0403fd8c 04020e80 0456d578 0403be00 04040c00 00000000 0403fd88 ffa0280a
    0403fd50: 00000000 0403fd8c 00000000 00000000 00000000 0403fcdc 0403fcdc 001681f8
    0403fd70: 00000000 0403fdc0 0016b612 00000000 00100100 0403fdbc 0002be82 0000000d
    0403fd90: e6240000 00000000 00000000 00000000 00000000 00000195 00000003 00000000
    0403fdb0: 00000000 00000000 00000000 0403fd50 0403fdd8 0016c388 0456d400 0456d400
    0403fdd0: 04020e80 0456d578 0403fdec <0016715c> 0030e5b0 00000000 00237b20 0403fe08
    0403fdf0: 0016c546 0456d400 0403be00 0403fe18 00000000 0030d8b4 0403fe28 <00167f08>
    0403fe10: 0456d400 0403be00 00000000 0030d8b4 04024bc4 000000fa 0403fe58 <0001b0d0>
    0403fe30: 0403e000 04020e80 0456d578 0403be00 0403e000 0403fe74 ffa021fe 0403e000
    0403fe50: 04020e80 04040c05 0403feac 0001b3f2 0403e000 04020e80 0403be00 04020e98
    0403fe70: 0403be10 0403bfb0 0030e5b0 0002beb6 0403a700 0403e008 0031189c 04af6b80
    0403fe90: 0403e000 0403e000 0403e000 0403bf60 0403bfb0 0403be10 0403be44 0403ff00
    0403feb0:<00020946> 0403a700 0001b2f0 04024d20 00000000 04020e80 00237b20 00312678
    0403fed0: 00000000 00000000 00000000 00000000 00027270 04020e80 00000000 0403feec
    0403fef0: 0403feec 00000000 0403fef8 0403fef8 04039e44 <ffa00014> 00000000 040249e0
    0403ff10: 04024f04 003125cc 00000001 00020890 0403a700 00000000 00008000 00000000
    0403ff30: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ff50: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ff70: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ff90: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ffb0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403ffd0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    0403fff0: 00000000 00000000 ffffffff 00002806
    Return addresses in stack:
    address : <0x0016715c> { __mmc_detect_card_removed + 0x34 }
    address : <0x00167f08> { _mmc_rescan + 0x1b4 }
    address : <0x0001b0d0> { _process_one_work + 0xe4 }
    address : <0x00020946> { _kthread + 0xb6 }
    address : <0xffa00014> { _ret_from_fork + 0x14 }
    INFO: task modprobe:387 blocked for more than 120 seconds.
    Not tainted 3.16.0-ADI-2014R1-pre-00411-g97bf365 #4
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    modprobe D ffa008d4 0 387 1 0x00000002
    Stack info:
    SP: [0x04cf1ccc] <0x04cf1ccc> / kernel dynamic memory /
    FP: (0x04cf1d34)
    Memory from 0x04cf1cc0 to 04cf2000
    04cf1cc0: 00312678 04cf0000 003126ac [04cf0000] 04f2a700 04f2aa40 04f2ac24 003125cc
    04cf1ce0: 00237b20 00312678 04cf1d10 ffa01fe2 ffa01ff0 04cf0000 040249e0 04cf0008
    04cf1d00: 04cf0000 00002678 04cf0000 04cf0000 04cf1d40 ffa021fe 04cf0000 04cf0000
    04cf1d20: 04fdf200 04fdf268 ffa021d8 0002c008 04cf1d54 (04cf1d68)<040f3376> 04cf1d68
    04cf1d40: 04cf1d68 <040f33fa> 040b5a60 00000000 04cf1d6c 00000000 04f2aa40 0002c2f0
    04cf1d60: 04fdf268 04fdf268 (04cf1d98)<040f361c> 040f3ad4 0477cdfc 050c2ec4 04fdf200
    04cf1d80: 00000000 0477cb34 0408197c 00200200 04cf1dc0 <040cd12e>(04cf1db8)<040cd86e>
    04cf1da0: 04afe400 040cdb1c 050c2ddc 0477cb34 0408197c 0000001f (04cf1dd0)<050c2ee0>
    04cf1dc0: 0477cdec <050c2dee> 00155204 0000001f (04cf1de8)<0477c844> 00000001 0477cb74
    04cf1de0:<040cd192> 045ed020 (04cf1e14)<050c1320> 050c0a50 04afe2e0 040af014 04afe318
    04cf1e00: 00000001 00000020 04059a00 04cf1e3c 04cf1e34 (04cf1e3c)<050c1360> 0462a700
    04cf1e20: 00000081 05089710 0477cc20 00000000 00000001 04cf1e50 <00156ede>(04cf1e50)
    04cf1e40:<00156ee6> 00000000 04f2aa40 00000000 (04cf1e68) 00157474 0462a700 00000100
    04cf1e60: 04cf1e74 04cf1e80 (04cf1e84)<050c0f44> 0477cc7c 0000ffff 04cf1eac 00000080
    04cf1e80: 00000020 (04cf1e98)<0477c99a> 0005e530 04cf1eb0 04cf1ef8 (04cf1ef8)<00043b32>
    04cf1ea0: 00000000 00000000 04cf1ed8 65735f67 6c616972 00000000 00000000 00000000
    04cf1ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    04cf1ee0: 00000000 00ff0000 0477cc7c 00000080 04cf1ef4 00000000 (00000000)<ffa00802>
    04cf1f00: 00043a04 00000000 ffffe000 00000000 00000000 ffa0084c 04e87664 0408197c
    04cf1f20: 00000020 04e8d8d4 00008000 00000000 00000000 04cf2000 04e8d8d4 04e8d8d4
    04cf1f40: 04e0aef0 ffa00dee 02003004 04ea098f 04ddd23f 04ea098e 04ddd23e 00000000
    04cf1f60: 00000000 0000147a 00000000 0000147a 00000000 00000000 00000001 00000000
    04cf1f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    04cf1fa0: 040817e8 05088000 05088000 00000001 040818df 050ffb60 050ffb6c 0508a1dc
    04cf1fc0: 040817cc 05089710 051ed160 04e8d8c8 00000081 00000000 00000000 00000020
    04cf1fe0: 0408197c 04e87664 00000000 00000080 040817e8 040817e8 00000081 00002806
    Return addresses in stack:
    frame 1 : <0x040f3376> { :u_serial:_gserial_disconnect + 0x366 }
    address : <0x040f33fa> { :u_serial:_gserial_disconnect + 0x3ea }
    frame 2 : <0x040f361c> { :u_serial:_gserial_free_line + 0x44 }
    address : <0x040cd12e> / kernel dynamic memory /
    frame 3 : <0x040cd86e> / kernel dynamic memory /
    frame 4 : <0x050c2ee0> { :libcomposite:_usb_put_function_instance + 0x1c }
    address : <0x050c2dee> { :libcomposite:_usb_put_function + 0x12 }
    frame 5 : <0x0477c844> / kernel dynamic memory /
    address : <0x040cd192> / kernel dynamic memory /
    frame 6 : <0x050c1320> { :libcomposite:_composite_dev_cleanup + 0x104 }
    frame 7 : <0x050c1360> { :libcomposite:_composite_dev_cleanup + 0x144 }
    address : <0x00156ede> { _usb_gadget_remove_driver + 0x2a }
    frame 8 : <0x00156ee6> { _usb_gadget_remove_driver + 0x32 }
    frame 10 : <0x050c0f44> { :libcomposite:_usb_composite_unregister + 0x10 }
    frame 11 : <0x0477c99a> { :g_serial:_cleanup_module + 0x16 }
    frame 12 : <0x00043b32> { _SyS_delete_module + 0x12e }
    frame 13 : <0xffa00802> { _system_call + 0x6a }
    INFO: task init:393 blocked for more than 120 seconds.
    Not tainted 3.16.0-ADI-2014R1-pre-00411-g97bf365 #4
    "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
    init D ffa008d4 0 393 1 0x00000000
    Stack info:
    SP: [0x05053c40] <0x05053c40> / kernel dynamic memory /
    FP: (0x05053d64)
    Memory from 0x05053c40 to 05054000
    05053c40:[05052000] 0030d8b4 04f2b740 04f2b924 003125cc 00237b20 00312678 05053c84
    05053c60: ffa01fe2 0456dc00 002fe594 05053c9c 05052008 05052000 00002829 05052000
    05053c80: 05052000 05053cb4 ffa021fe 05052000 00327cc4 04f2b740 00000002 ffffffff
    05053ca0: 0030e5b0 00327cc8 0451dca0 00324048 0408f840 05053cc8 ffa02398 0408f858
    05053cc0: 00200200 05053cdc 05053cec ffa02f62 05052000 05053cec 05053cec 05053cf0
    05053ce0: 00327cc8 00327cc8 04f2b740 05053d1c ffa03008 00327cc4 0462e00c 05052000
    05053d00: 040af014 05052000 002fe594 002ee00c 0451dc78 05052000 05053d24 05053d34
    05053d20: 001570d8 040ae00c 05053d4c 00151646 040ae00c 05053d50 00154d0e 040ae00c
    05053d40: 0030fb40 00000000 05053d68 05053d64 05053d64 0014f588 0456d404 04dc1710
    05053d60: 00000002 (05053d80)<0010c224> 0462e040 0030fb40 00000000 05053da4 05053d94
    05053d80:(05053d94)<00108326> 0002412c 00024dc0 00000000 (05053dc4) 00024d32 00024dc0
    05053da0: 00000058 04dc1710 00000000 01234567 fee1dead fee1dead 00000000 05053dd8
    05053dc0: 05053dd8 (05053dd8) 00024d74 00000000 00000000 00000001 (05053ef0) 00024e7e
    05053de0: 28121969 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e20: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e40: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053e80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053ea0: 00000000 0507fe60 00001000 0407d124 0477a840 00000000 00000000 00000000
    05053ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 05053efc
    05053ee0: 00027270 04026000 04f2b740 04025c04 (00000000)<ffa00802> 00024dc0 00000000
    05053f00: ffffe000 00000143 00000036 003125cc 00000000 00000000 fee1dead 00000036
    05053f20: 00000143 04e8f2a8 00008000 00000000 00000000 05054000 04e8f2a8 04e8f2a8
    05053f40: 04e45fd8 ffa00dee 02003025 04ea1d23 04ea5845 04ea1d22 04ea5842 00000000
    05053f60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053f80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    05053fa0: 00000000 04dc0000 04dc0000 00000000 04dc1710 04dffb7c 04dffb88 04db9a98
    05053fc0: 04dffedc 04dc1710 04dbcc20 04e8f288 00000058 01234567 00000000 00000143
    05053fe0: 00000036 fee1dead 01234567 28121969 fee1dead fee1dead 00000058 00002806
    Return addresses in stack:
    frame 1 : <0x0010c224> { _platform_drv_shutdown + 0x14 }
    frame 2 : <0x00108326> { _device_shutdown + 0x3a }
    frame 6 : <0xffa00802> { _system_call + 0x6a }</ffa00802></ffa00802></ffa00014></ffa00802></ffa00802></ffa00014></ffa00802></ffa00802></ffa00014>

     
  • panmingquan

    panmingquan - 2014-09-22
     
  • panmingquan

    panmingquan - 2014-10-13
    • Resolution: assigned --> pending
     
  • panmingquan

    panmingquan - 2014-10-13

    As Andre has found that this panic on command line reboot issue is caused by sending modprobe -r g_serial over /dev/ttyACM0. g_serial (u_serial) can't do this because the device is still in use (obviously) and can't be freed. If we want to test rmmod of g_serial the test script should disconnect from ttyACM0 and reconnect over ttyS0 and THEN send the modprobe -r g_serial command. This will fix the problem.

    he also talked with the linux-usb guys and they seem to think that to actually fix the problem we would need to rewrite a lot of u_serial to support this behaviour. Since we don't actually need to support this, so we took this as expected so far.

     

Log in to post a comment.

MongoDB Logo MongoDB