Commits

Dong Aisheng committed c6c28308a5f
MLK-11794 bcmdhd: prevent driver to use scatter list DMA if host not support Current driver will meet the following warning on MX6SL platform which does not support ADMA. It is caused by the driver is using fixed scatter gather DMA not matter whether the host supports or not. Then the host without ADMA capability will warning if found the DMA sg_count is non-1. Change the driver a bit to avoid multi DMA scatter list if found the host->max_segs is only 1 to fix the issue. root@imx6slevk:~# udhcpc -i wlan0 udhcpc (v1.23.1) started Sending discover... Sending select for 192.168.1.11... Lease of 192.168.1.11 obtained, lease time 86400 /etc/udhcpc.d/50default: Adding DNS 192.168.1.1 root@imx6slevk:~# ------------[ cut here ]------------ WARNING: CPU: 0 PID: 954 at /home/jenkins/jobs/Standalone-X11_with_mfgtools/workspace/temp_build_dir/build_fsl-imx-internal-x11/tmp/work-shared/imx6slevk/kernel-source/drivers/mmc/host/sdhci.c:839 sdhci_send_command+0xc64/0xd10() Modules linked in: bcmdhd evbug [last unloaded: bcmdhd] CPU: 0 PID: 954 Comm: dhd_dpc Tainted: G W 3.14.52-1.1.0_ga+g76946e8 #1 [<80014a68>] (unwind_backtrace) from [<80011758>] (show_stack+0x10/0x14) [<80011758>] (show_stack) from [<80720180>] (dump_stack+0x7c/0xbc) [<80720180>] (dump_stack) from [<80031df8>] (warn_slowpath_common+0x70/0x8c) [<80031df8>] (warn_slowpath_common) from [<80031eb0>] (warn_slowpath_null+0x1c/0x24) [<80031eb0>] (warn_slowpath_null) from [<804d5d2c>] (sdhci_send_command+0xc64/0xd10) [<804d5d2c>] (sdhci_send_command) from [<804d74e8>] (sdhci_request+0xc0/0x1f0) [<804d74e8>] (sdhci_request) from [<804c218c>] (__mmc_start_req+0x60/0x84) [<804c218c>] (__mmc_start_req) from [<804c25a4>] (mmc_wait_for_req+0x10/0x20) [<804c25a4>] (mmc_wait_for_req) from [<7f27ff6c>] (sdioh_request_packet_chain+0x368/0x400 [bcmdhd]) [<7f27ff6c>] (sdioh_request_packet_chain [bcmdhd]) from [<7f280da4>] (sdioh_request_buffer+0x124/0x294 [bcmdhd]) [<7f280da4>] (sdioh_request_buffer [bcmdhd]) from [<7f27f6dc>] (bcmsdh_send_buf+0x94/0x108 [bcmdhd]) [<7f27f6dc>] (bcmsdh_send_buf [bcmdhd]) from [<7f28e98c>] (dhd_bcmsdh_send_buf.constprop.25+0x80/0x220 [bcmdhd]) [<7f28e98c>] (dhd_bcmsdh_send_buf.constprop.25 [bcmdhd]) from [<7f28f454>] (dhdsdio_txpkt.constprop.24+0x928/0xa2c [bcmdhd]) [<7f28f454>] (dhdsdio_txpkt.constprop.24 [bcmdhd]) from [<7f28f6b0>] (dhdsdio_sendfromq+0x158/0x3c4 [bcmdhd]) [<7f28f6b0>] (dhdsdio_sendfromq [bcmdhd]) from [<7f2913d4>] (dhdsdio_dpc+0x2e8/0x1034 [bcmdhd]) [<7f2913d4>] (dhdsdio_dpc [bcmdhd]) from [<7f24a270>] (dhd_dpc_thread+0xe8/0x124 [bcmdhd]) [<7f24a270>] (dhd_dpc_thread [bcmdhd]) from [<8004ca6c>] (kthread+0xcc/0xe4) [<8004ca6c>] (kthread) from [<8000e500>] (ret_from_fork+0x14/0x34) Signed-off-by: Dong Aisheng <aisheng.dong@freescale.com> (cherry picked from commit 77ff69e3d3a82c4fcf2d6c6d2a904d4fc1793542)