1 Reply Latest reply on Jan 11, 2017 11:03 AM by skerr

    bcmdhd crash while rmmod

    sam-dreem

      Hello,

       

      On our custom board that integrates iMX6UL + LBEH5DU1BW, we observe unexpected and random behaviour while rmmod bcmdhd. It has been reproduce on several boards but it is not systematic, most of time the rmmod goes successfully.

       

      This failure in rmmod implies a failure on next modprobe. Finally only way to be able to modprobe successfully after such a failure is to reboot completely the board.

       

      We are using NXP official release : imx_4.1.15_2.0.0_ga (linux-imx.git)

       

      Any clue or fix to suggest?

       

      Thank you

       

      Sam

       

       

      bcmdhd crash during rmmod (log kernel)

       

      2016-12-07T22:51:08.934+0000 kernel: dhd_prot_ioctl : bus is down. we have nothing to do

       

      2016-12-07T22:51:08.934+0000 kernel: dhd_wlfc_deinit():3271, ampdu_hostreorder get failed Err = -1

      2016-12-07T22:51:08.935+0000 kernel: dhd_prot_ioctl : bus is down. we have nothing to do

      2016-12-07T22:51:08.942+0000 kernel: dhd_wlfc_deinit():3294 failed to enable/disable bdcv2 tlv signaling Err = -1

      2016-12-07T22:51:09.075+0000 kernel: CFGP2P-ERROR) wl_cfgp2p_del_p2p_disc_if : P2P interface unregistered

      2016-12-07T22:51:09.075+0000 kernel: dhd_detach(): thread:dhd_watchdog_thread:b9 terminated OK

      2016-12-07T22:51:09.086+0000 kernel: dhd_dpc_thread: Unexpected up_cnt 0

      2016-12-07T22:51:09.086+0000 kernel: dhd_detach(): thread:dhd_dpc:ba terminated OK

      2016-12-07T22:51:09.098+0000 kernel: CFG80211-ERROR) wl_event_handler : was terminated

      2016-12-07T22:51:09.098+0000 kernel: wl_destroy_event_handler(): thread:wl_event_handler:b8 terminated OK

      2016-12-07T22:51:09.133+0000 kernel: unregister wifi platform drivers

      2016-12-07T22:51:09.133+0000 kernel: wifi_platform_bus_enumerate device present 0

      2016-12-07T22:51:09.133+0000 kernel: mmc0: card 0001 removed

       

       

      Failure on next modprobe (log kernel)

       

      2016-12-08T06:45:44.965+0000 kernel: dhd_module_init in

       

      2016-12-08T06:45:44.965+0000 kernel: Power-up adapter 'DHD generic adapter'

      2016-12-08T06:45:44.972+0000 kernel: wifi_platform_bus_enumerate device present 1

      2016-12-08T06:45:45.065+0000 kernel: mmc0: queuing unknown CIS tuple 0x80 (7 bytes)

      2016-12-08T06:45:45.066+0000 kernel: mmc0: queuing unknown CIS tuple 0x80 (6 bytes)

      2016-12-08T06:45:45.146+0000 kernel: mmc0: queuing unknown CIS tuple 0x91 (3 bytes)

      2016-12-08T06:45:45.146+0000 kernel: mmc0: new high speed SDIO card at address 0001

      2016-12-08T06:45:45.185+0000 kernel: F1 signature OK, socitype:0x1 chip:0xa94c rev:0x2 pkg:0x0

      2016-12-08T06:45:45.185+0000 kernel: DHD: dongle ram size is set to 524288(orig 524288) at 0x0

      2016-12-08T06:45:45.204+0000 kernel: wifi_platform_get_mac_addr

      2016-12-08T06:45:45.204+0000 kernel: modprobe: page allocation failure: order:5, mode:0xc0d0

      2016-12-08T06:45:45.204+0000 kernel: CPU: 0 PID: 26113 Comm: modprobe Not tainted 4.1.15 #1

      2016-12-08T06:45:45.217+0000 kernel: Hardware name: Freescale i.MX6 Ultralite (Device Tree)

      2016-12-08T06:45:45.217+0000 kernel: [<800144a8>] (unwind_backtrace) from [<800121b0>] (show_stack+0x10/0x14)

      2016-12-08T06:45:45.232+0000 kernel: [<800121b0>] (show_stack) from [<8009dfb4>] (warn_alloc_failed+0xe4/0x120)

      2016-12-08T06:45:45.232+0000 kernel: [<8009dfb4>] (warn_alloc_failed) from [<800a07a4>] (__alloc_pages_nodemask+0x538/0x838)

      2016-12-08T06:45:45.247+0000 kernel: [<800a07a4>] (__alloc_pages_nodemask) from [<800b3758>] (kmalloc_order+0x10/0x20)

      2016-12-08T06:45:45.247+0000 kernel: [<800b3758>] (kmalloc_order) from [<805f8694>] (wiphy_new_nm+0x100/0x444)

      2016-12-08T06:45:45.265+0000 kernel: [<805f8694>] (wiphy_new_nm) from [<7f1839c0>] (wl_cfg80211_attach+0x80/0xccc [bcmdhd])

      2016-12-08T06:45:45.265+0000 kernel: [<7f1839c0>] (wl_cfg80211_attach [bcmdhd]) from [<7f15e5b8>] (dhd_attach+0x2f4/0x7c8 [bcmdhd])

      2016-12-08T06:45:45.283+0000 kernel: [<7f15e5b8>] (dhd_attach [bcmdhd]) from [<7f1a5fdc>] (dhdsdio_probe+0x194/0x69c [bcmdhd])

      2016-12-08T06:45:45.283+0000 kernel: [<7f1a5fdc>] (dhdsdio_probe [bcmdhd]) from [<7f199240>] (bcmsdh_probe+0xd0/0x134 [bcmdhd])

      2016-12-08T06:45:45.308+0000 kernel: [<7f199240>] (bcmsdh_probe [bcmdhd]) from [<7f19a9e4>] (bcmsdh_sdmmc_probe+0xcc/0x104 [bcmdhd])

      2016-12-08T06:45:45.308+0000 kernel: [<7f19a9e4>] (bcmsdh_sdmmc_probe [bcmdhd]) from [<8044141c>] (sdio_bus_probe+0xfc/0x114)

      2016-12-08T06:45:45.309+0000 kernel: [<8044141c>] (sdio_bus_probe) from [<8031c240>] (driver_probe_device+0x174/0x27c)

      2016-12-08T06:45:45.323+0000 kernel: [<8031c240>] (driver_probe_device) from [<8031c418>] (__driver_attach+0x8c/0x90)

      2016-12-08T06:45:45.324+0000 kernel: [<8031c418>] (__driver_attach) from [<8031a814>] (bus_for_each_dev+0x60/0x94)

      2016-12-08T06:45:45.338+0000 kernel: [<8031a814>] (bus_for_each_dev) from [<8031b9e0>] (bus_add_driver+0x148/0x1f0)

      2016-12-08T06:45:45.339+0000 kernel: [<8031b9e0>] (bus_add_driver) from [<8031ca50>] (driver_register+0x78/0xf8)

      2016-12-08T06:45:45.358+0000 kernel: [<8031ca50>] (driver_register) from [<7f197a08>] (wifi_plat_dev_drv_remove+0x2b0/0x454 [bcmdhd])

      2016-12-08T06:45:45.359+0000 kernel: [<7f197a08>] (wifi_plat_dev_drv_remove [bcmdhd]) from [<7f197c50>] (wifi_plat_dev_drv_probe+0xa4/0x128 [bcmdhd])

      2016-12-08T06:45:45.376+0000 kernel: [<7f197c50>] (wifi_plat_dev_drv_probe [bcmdhd]) from [<8031da70>] (platform_drv_probe+0x44/0xa4)

      2016-12-08T06:45:45.376+0000 kernel: [<8031da70>] (platform_drv_probe) from [<8031c240>] (driver_probe_device+0x174/0x27c)

      2016-12-08T06:45:45.398+0000 kernel: [<8031c240>] (driver_probe_device) from [<8031c418>] (__driver_attach+0x8c/0x90)

      2016-12-08T06:45:45.399+0000 kernel: [<8031c418>] (__driver_attach) from [<8031a814>] (bus_for_each_dev+0x60/0x94)

      2016-12-08T06:45:45.399+0000 kernel: [<8031a814>] (bus_for_each_dev) from [<8031b9e0>] (bus_add_driver+0x148/0x1f0)

      2016-12-08T06:45:45.416+0000 kernel: [<8031b9e0>] (bus_add_driver) from [<8031ca50>] (driver_register+0x78/0xf8)

      2016-12-08T06:45:45.416+0000 kernel: [<8031ca50>] (driver_register) from [<7f1980a0>] (dhd_wifi_platform_register_drv+0x1d4/0x218 [bcmdhd])

      2016-12-08T06:45:45.433+0000 kernel: [<7f1980a0>] (dhd_wifi_platform_register_drv [bcmdhd]) from [<80009678>] (do_one_initcall+0x8c/0x1d4)

      2016-12-08T06:45:45.433+0000 kernel: [<80009678>] (do_one_initcall) from [<8065a614>] (do_init_module+0x5c/0x1a8)

      2016-12-08T06:45:45.447+0000 kernel: [<8065a614>] (do_init_module) from [<800817fc>] (load_module+0x18b0/0x1c78)

      2016-12-08T06:45:45.447+0000 kernel: [<800817fc>] (load_module) from [<80081c94>] (SyS_init_module+0xd0/0x124)

      2016-12-08T06:45:45.481+0000 kernel: [<80081c94>] (SyS_init_module) from [<8000f260>] (ret_fast_syscall+0x0/0x3c)