Hi, On 02/12/2014 07:01 AM, Chen-Yu Tsai wrote: > Hi Arend, > > With Hans' newest sunxi-devel [1] branch, brcmfmac gets stuck during init: > > INFO: task kworker/u4:0:6 blocked for more than 120 seconds. > Not tainted 3.14.0-rc2-00116-gb2d8e3e-dirty #205 > "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. > kworker/u4:0 D c040a054 0 6 2 0x00000000 > Workqueue: kmmcd mmc_rescan > [<c040a054>] (__schedule) from [<c0409990>] (schedule_timeout+0x1a0/0x220) > [<c0409990>] (schedule_timeout) from [<c040ad98>] (wait_for_common+0xc8/0x170) > [<c040ad98>] (wait_for_common) from [<c02980f0>] (mmc_wait_for_req+0xb0/0x154) > [<c02980f0>] (mmc_wait_for_req) from [<c02a1b68>] > (mmc_io_rw_extended+0x2e0/0x334) > [<c02a1b68>] (mmc_io_rw_extended) from [<c02a279c>] > (sdio_io_rw_ext_helper+0xbc/0x1a0) > [<c02a279c>] (sdio_io_rw_ext_helper) from [<c02a2eac>] > (sdio_memcpy_toio+0x24/0x2c) > [<c02a2eac>] (sdio_memcpy_toio) from [<c0233eac>] > (brcmf_sdiod_buffrw+0x84/0xe8) > [<c0233eac>] (brcmf_sdiod_buffrw) from [<c0235584>] > (brcmf_sdiod_ramrw+0xe8/0x234) > [<c0235584>] (brcmf_sdiod_ramrw) from [<c0233240>] > (brcmf_sdio_bus_init+0x174/0x6d4) > [<c0233240>] (brcmf_sdio_bus_init) from [<c022cbe8>] > (brcmf_bus_start+0x34/0x2b8) > [<c022cbe8>] (brcmf_bus_start) from [<c022fdac>] > (brcmf_sdio_probe+0x578/0x700) > [<c022fdac>] (brcmf_sdio_probe) from [<c02345ac>] > (brcmf_ops_sdio_probe+0x2b4/0x33c) > [<c02345ac>] (brcmf_ops_sdio_probe) from [<c02a1e28>] > (sdio_bus_probe+0x60/0x74) > [<c02a1e28>] (sdio_bus_probe) from [<c01dd618>] > (driver_probe_device+0x104/0x21c) > [<c01dd618>] (driver_probe_device) from [<c01dc1e0>] > (bus_for_each_drv+0x44/0x8c) > [<c01dc1e0>] (bus_for_each_drv) from [<c01dd2e8>] (device_attach+0x74/0x80) > [<c01dd2e8>] (device_attach) from [<c01dc418>] (bus_probe_device+0x84/0xa8) > [<c01dc418>] (bus_probe_device) from [<c01da74c>] (device_add+0x408/0x514) > [<c01da74c>] (device_add) from [<c02a1fc8>] (sdio_add_func+0x34/0x4c) > [<c02a1fc8>] (sdio_add_func) from [<c02a157c>] (mmc_attach_sdio+0x240/0x318) > [<c02a157c>] (mmc_attach_sdio) from [<c0299e30>] (mmc_rescan+0x258/0x2cc) > [<c0299e30>] (mmc_rescan) from [<c0032210>] (process_one_work+0x110/0x364) > [<c0032210>] (process_one_work) from [<c00328d0>] (worker_thread+0x13c/0x3ac) > [<c00328d0>] (worker_thread) from [<c00386d4>] (kthread+0xc4/0xe0) > [<c00386d4>] (kthread) from [<c000e438>] (ret_from_fork+0x14/0x3c) > > kernel logs with brcmf_msg_level=0x20001 : > > sunxi-mci 1c12000.mmc: smc 1 err, cmd 8, RTO !! > mmc1: queuing unknown CIS tuple 0x80 (2 bytes) > mmc1: queuing unknown CIS tuple 0x80 (3 bytes) > mmc1: queuing unknown CIS tuple 0x80 (3 bytes) > mmc1: queuing unknown CIS tuple 0x80 (7 bytes) > mmc1: new high speed SDIO card at address 0001 > brcmfmac: brcmf_ops_sdio_probe Enter > brcmfmac: brcmf_ops_sdio_probe Class=0 > brcmfmac: brcmf_ops_sdio_probe sdio vendor ID: 0x02d0 > brcmfmac: brcmf_ops_sdio_probe sdio device ID: 0xa962 > brcmfmac: brcmf_ops_sdio_probe Function#: 1 > brcmfmac: brcmf_ops_sdio_probe Enter > brcmfmac: brcmf_ops_sdio_probe Class=0 > brcmfmac: brcmf_ops_sdio_probe sdio vendor ID: 0x02d0 > brcmfmac: brcmf_ops_sdio_probe sdio device ID: 0xa962 > brcmfmac: brcmf_ops_sdio_probe Function#: 2 > brcmfmac: brcmf_ops_sdio_probe F2 found, calling brcmf_sdiod_probe... > brcmfmac: brcmf_sdiod_regrl addr:0x18000000 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000a, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000b, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000c, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x08000, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x1591a962 > brcmfmac: F1 signature read @0x18000000=0x1591a962 > brcmfmac: brcmf_sdiod_regwb addr:0x0001000e, data:0x28 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000e, nbytes=1 > brcmfmac: brcmf_sdiod_regrb addr:0x0001000e > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x1000e, nbytes=1 > brcmfmac: brcmf_sdiod_regrb data:0x68 > brcmfmac: brcmf_sdiod_regwb addr:0x0001000e, data:0x28 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000e, nbytes=1 > brcmfmac: brcmf_sdiod_regrb addr:0x0001000e > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x1000e, nbytes=1 > brcmfmac: brcmf_sdiod_regrb data:0x68 > brcmfmac: brcmf_sdiod_regrb addr:0x0001000e > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x1000e, nbytes=1 > brcmfmac: brcmf_sdiod_regrb data:0x68 > brcmfmac: brcmf_sdiod_regwb addr:0x0001000e, data:0x21 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000e, nbytes=1 > brcmfmac: brcmf_sdiod_regwb addr:0x0001000f, data:0x00 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000f, nbytes=1 > brcmfmac: brcmf_sdiod_regrl addr:0x18000000 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x08000, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x1591a962 > brcmfmac: brcmf_sdiod_regrl addr:0x18000004 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x08004, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x10780009 > brcmfmac: brcmf_sdiod_regrl addr:0x18000604 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x08604, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x194c3a0d > brcmfmac: brcmf_sdiod_regrl addr:0x18103800 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000a, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000b, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000c, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x0b800, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x00000001 > brcmfmac: brcmf_sdiod_regwl addr:0x18000058, data:0x00000000 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000a, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000b, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000c, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x08058, nbytes=4 > brcmfmac: brcmf_sdiod_regwl addr:0x1800005c, data:0x00000000 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x0805c, nbytes=4 > brcmfmac: brcmf_sdiod_regwl addr:0x18000650, data:0x00000001 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x08650, nbytes=4 > brcmfmac: brcmf_sdiod_regrl addr:0x18000650 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x08650, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x00000001 > brcmfmac: brcmf_sdiod_regwl addr:0x18000650, data:0x00003801 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x08650, nbytes=4 > brcmfmac: brcmf_sdiod_regrb addr:0x000000f1 > brcmfmac: brcmf_sdiod_request_data rw=0, func=0, addr=0x000f1, nbytes=1 > brcmfmac: brcmf_sdiod_regrb data:0x01 > brcmfmac: brcmf_sdiod_regwb addr:0x000000f1, data:0x03 > brcmfmac: brcmf_sdiod_request_data rw=1, func=0, addr=0x000f1, nbytes=1 > brcmfmac: brcmf_sdiod_regrl addr:0x18000600 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x08600, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x01770181 > brcmfmac: brcmf_sdiod_regwl addr:0x18000600, data:0x01774181 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x08600, nbytes=4 > brcmfmac: brcmf_sdiod_regwb addr:0x0001000e, data:0x00 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000e, nbytes=1 > brcmfmac: brcmf_sdio_clkctl Enter > brcmfmac: brcmf_sdio_htclk Enter > brcmfmac: brcmf_sdiod_regwb addr:0x0001000e, data:0x08 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000e, nbytes=1 > brcmfmac: brcmf_sdiod_regrb addr:0x0001000e > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x1000e, nbytes=1 > brcmfmac: brcmf_sdiod_regrb data:0x48 > brcmfmac: brcmf_sdio_htclk CLKCTL: turned ON > brcmfmac: brcmf_sdio_clkctl 1 -> 3 > brcmfmac: brcmf_sdiod_regrl addr:0x18103800 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000a, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000b, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000c, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x0b800, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x00000001 > brcmfmac: brcmf_sdiod_regrl addr:0x18101800 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x09800, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x00000001 > brcmfmac: brcmf_sdiod_regrl addr:0x18101800 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x09800, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x00000001 > brcmfmac: brcmf_sdiod_regwl addr:0x18101800, data:0x00000000 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x09800, nbytes=4 > brcmfmac: brcmf_sdiod_regrl addr:0x18101800 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x09800, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x00000000 > brcmfmac: brcmf_sdiod_regwl addr:0x18101408, data:0x00000005 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x09408, nbytes=4 > brcmfmac: brcmf_sdiod_regrl addr:0x18101408 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x09408, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x00000005 > brcmfmac: brcmf_sdiod_regrl addr:0x18104800 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x0c800, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x00000001 > brcmfmac: brcmf_sdiod_regrl addr:0x18104800 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x0c800, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x00000001 > brcmfmac: brcmf_sdiod_regwl addr:0x18104800, data:0x00000000 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x0c800, nbytes=4 > brcmfmac: brcmf_sdiod_regrl addr:0x18104800 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x0c800, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x00000000 > brcmfmac: brcmf_sdiod_regwl addr:0x18104408, data:0x00000001 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x0c408, nbytes=4 > brcmfmac: brcmf_sdiod_regrl addr:0x18104408 > brcmfmac: brcmf_sdiod_request_data rw=0, func=1, addr=0x0c408, nbytes=4 > brcmfmac: brcmf_sdiod_regrl data:0x00000001 > brcmfmac_sdio mmc1:0001:2: Direct firmware load failed with error -2 > brcmfmac_sdio mmc1:0001:2: Falling back to user helper > brcmfmac: brcmf_sdio_download_firmware firmware rstvec: 0 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000a, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000b, nbytes=1 > brcmfmac: brcmf_sdiod_request_data rw=1, func=1, addr=0x1000c, nbytes=1 > brcmfmac: brcmf_sdiod_ramrw write 2048 bytes at offset 0x00000000 in > window 0x00000000 > ----- > > Not sure what the issue is here. Could it be some race condition? > > Hans, I assume you haven't tested it yourself, yet?
That is correct, I've not gotten around to testing the cubietruck wifi with the latest sunxi-devel yet. Regards, Hans -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.