09 Jun, 2017
16 commits
-
Some SOC clock have some limits:
- ahb clock should be disabled before ipg.
- ahb and ipg clocks are required for MAC mii to work.
So, move the ahb clock to runtime pm together with ipg clock.Signed-off-by: Fugang Duan
-
Re-apply Dong Aisheng's patch for MLK-13190, as the issue
reappeared with bcmdhd update v1.141.100.6:BCMDHD_SDIO needs to be tristate for the correct dependency
of MMC core subsystem.
And the old driver buildin mode is static defined by DRIVER_TYPE.
Fix it to depend on CONFIG_BCMDHD_SDIO.Signed-off-by: Dong Aisheng
Signed-off-by: Tiberiu Breana -
This reverts commit a87bb06a0bc7 that breaks busfreq test case.
Signed-off-by: Fugang Duan
-
Many boards installed with i.MX chip only use two pins for mii bus
in two NET MAC system to save two pins. Then one MAC need to share
the mii bus with the other one. Since two net interface operation
are parallel and separate, we should keep the shared mii bus always
be active. So it should keep MAC clocks on.Signed-off-by: Fugang Duan
(cherry picked from commit: d0f18f7633ed) -
The patch commit:586fbe526860 introduce the issue that suspend/resume
is failed on i.MX6SX sabreauto/sdb board. Now revert it.Signed-off-by: Fugang Duan
-
Features:
- support for CYW43455 (Murata 1HK)
- support for simultaneous STA-AP operation
- Hostapd ACS support
- 4339 OOB enable based on DTS GPIO configuration
- 43340 packet filter timeout eventBug Fixes:
- 4339 high current after wake up
- Vendor IE does not show up in SoftAP beacons
- mfgtest driver crash when wpa_supplicant is running
- Fix for PMF testcase 5.3.3.2 failing due to deauth packets not being sentKnown Issues:
Kernel panic upon rmmod after insmod failureSigned-off-by: xlin
Signed-off-by: Tiberiu Breana -
Function .fec_resume() had called .fec_restart() before phy resume to ensure
MAC mii bus can work, but the firth .adjust_link() call .fec_restart() to re-init
the MAC again that is not necessary since PHY duplex and speed have no change
during suspend status, so remove the unnecessary mac re-inited after resume back.Signed-off-by: Fugang Duan
-
In MAC-MAC fixed link case, it don't need phy fixup setting.
Signed-off-by: Fugang Duan
-
Avoid ipg clock count mismatch in error path, the issue is introduced by
the patch: "net: fec: Ensure clocks are enabled while using mdio bus".Signed-off-by: Fugang Duan
-
Murata work-around code for HT Avail failure
(due to no external slow clk).Signed-off-by: xlin
Signed-off-by: Tiberiu Breana -
Remove HW_OOB define from BCM43340 config, enabling it to
handle edge interrupts.Signed-off-by: xlin
Signed-off-by: Tiberiu Breana -
Replace WL_ERR() with WL_INFO in some normal code slice to avoid confusion.
Signed-off-by: Fugang Duan
-
In defalut, most of i.MX boards share one MII bus in boards design to reduce
pins utilize, but others each MAC use their exclusive MII bus. To solve the
problem, user can select to define the mii-exclusive property in board dts file.The patch also update binding doc.
Signed-off-by: Fugang Duan
-
Register Athreos PHY AR8031 fixup.
Signed-off-by: Fugang Duan
(cherry picked and merged from commit:676bf1d92b3e6babdab623694fd83d54f881fc2f) -
Add dts property "phy-reset-gpios" PROBE_DEFER check, and use
gpio_set_value_cansleep() due to the FEC PHY reset gpio may be on
an I2C expander.Signed-off-by: Fugang Duan
(cherry picked from commit: 3b63e39f460d239c19a5afaf281d9a512b958cf7) -
Add FEC support for NXP i.MX8x chips.
Signed-off-by: Fugang Duan
08 Jun, 2017
7 commits
-
Fix hardware setup of multicast address hash:
- Never clear the hardware hash (to avoid packet loss)
- Construct the hash register values in software and then write once
to hardwareThe problem is with multiple sockets/multicast addresses. While setting up
one address (add/remove), the current code causes packet drops in other
unrelated sockets.SIgned-off-by: Rui Sousa
Signed-off-by: Fugang Duan -
When two MACs share one mii bus, MAC driver should do defer probe
when the mii bus not registered.Signed-off-by: Fugang Duan
-
The USB core may call reset_resume when it fails resume asix device.
And USB core can recovery this abnormal resume at low level driver,
the same .resume at asix driver can work too. Add .reset_resume can
avoid disconnecting after backing from system resume, and NFS can
still be mounted after this commit.Signed-off-by: Peter Chen
-
Add fw/nv path parse from dts support to support multiple modules
with build in.Signed-off-by: Fugang Duan
-
BCMDHD_SDIO needs to be tristate for the correct dependency
of MMC core subsystem.
And the old driver buildin mode is static defined by DRIVER_TYPE.
Fix it to depend on CONFIG_BCMDHD_SDIO.Signed-off-by: Dong Aisheng
-
Enable OOB feature for MX6Q/DL SDB, MX6SL EVK, MX6SX SDB, MX7D SDB boards.
NOTE: The performance optimization option CONFIG_BCM4339 is disabled
by default due to a WiFi driver issue that it breaks MX6SL EVK.If user want to test performance on the above platforms (except MX6SL EVK),
CONFIG_BCM4339 has to be enabled manually.Signed-off-by: Dong Aisheng
-
The patch is delivered by Cypress to add OOB switch interface
and a P2P stability fix.Whether to enable OOB is controlled by the gpios property under
bcmdhd_wlan_0 node.
e.g.
bcmdhd_wlan_0: bcmdhd_wlan@0 {
compatible = "android,bcmdhd_wlan";
gpios = ; /* WL_HOST_WAKE */
wlreg_on-supply = ;
};If valid gpios property found, then driver will consider to use
OOB feature.Signed-off-by: Dong Aisheng
23 Feb, 2017
17 commits
-
Bcmdhd wifi driver default build as module, now default build in
this wifi driver. To support this build in feature, this patch
add flag ENABLE_INSMOD_NO_FW_LOAD, and use extern function
sdio_reset_comm() as instead.Signed-off-by: Haibo Chen
-
Some major fixes delivered by Broadcom.
1. Initialize nd_config parameter of cfg80211_wowlan to NULL
2. Avoid using hardcoded dummy channel number while creating p2p interface
3. Avoid creation of multiple instance of wl_event_handler thread.Signed-off-by: Dong Aisheng
-
For MX7D LPSR mode, the controller will lost power and got the
configuration state lost after system resume back.
So we need to set pinctrl state again and re-start chip to do
re-configuration after resume.For wakeup case, we also need re-configure the chip in case the state
got lost. For interface is not up before suspend case, we don't need
re-configure as it will be configured by user later by interface up.Signed-off-by: Dong Aisheng
-
Setting the FTRL register will stop the fec from
trying to use multiple receive buffers.Signed-off-by: Troy Kisky
Signed-off-by: David S. Miller -
In .mdio_bus_phy_may_suspend(), there check netdev is NULL to judge to set
phy to suspend status.netdev is NULL has three cases:
- phy is not found
- phy is found, match to general phy driver
- phy is found, match to specifical phy driverCase 1: phy is not found, cannot communicate by MDIO bus.
Case 2: phy is found:
if phy dev driver probe/bind err, netdev is not __open__ status,
mdio bus is unregistered.
if phy is detached, phy had entered suspended status.
Case 3: phy is found, phy is detached, phy had entered suspended status.So, in here, it shouldn't set phy to suspend by calling mdio bus.
In i.MX6UL evk/arm2 board, if down the ethx interface and do suspend/resume,
system will hang. Because after ethx down all clocks are gated off, for general
phy driver, unbind the phy device, for specifical phy driver, no unbind the
device, and the original driver call mdio bus to set phy to suspend during
system suspend, so system will hang since there have mdio register access.
The patch can fix it.Signed-off-by: Fugang Duan
Conflicts:
drivers/net/phy/mdio_bus.c -
bcmdhd can't support removing host during suspend and
driver crash when detect card after resume due to no response
to CMD7.
It looks bcmdhd has a special requirement to enumerate card
by itself which is incompatible with current MMC core.
So implement post-cd feature to allow driver to detect card
as it wants, then we add back non-removable capability
to avoid MMC core to redetect card after resume.root@imx6qdlsolo:~# echo standby > /sys/power/state
PM: Syncing filesystems ... done.
PM: Preparing system for standby sleep
Freezing user space processes ... (elapsed 0.001 seconds) done.
Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
PM: Entering standby sleep
evbug: Event. Dev: input3, Type: 0, Code: 0, Value: 1
evbug: Event. Dev: input2, Type: 0, Code: 0, Value: 1
PM: suspend of devices complete after 652.363 msecs
PM: suspend devices took 0.660 seconds
PM: late suspend of devices complete after 1.148 msecs
PM: noirq suspend of devices complete after 1.043 msecs
Disabling non-boot CPUs ...
CPU1: shutdown
Enabling non-boot CPUs ...
CPU1 is up
PM: noirq resume of devices complete after 0.534 msecs
PM: early resume of devices complete after 0.553 msecs
evbug: Event. Dev: input2, Type: 1, Code: 116, Value: 1
evbug: Event. Dev: input2, Type: 0, Code: 0, Value: 0
evbug: Event. Dev: input2, Type: 1, Code: 116, Value: 0
evbug: Event. Dev: input2, Type: 0, Code: 0, Value: 0
mmc1: error -110 during resume (card was removed?)
PM: resume of devices complete after 605.525 msecs
PM: resume devices took 0.610 seconds
PM: Finishing wakeup.
Restarting tasks ... done.
WARNING: driver bcmsdh_sdmmc did not remove its interrupt handler!
root@imx6qdlsolo:~# Unable to handle kernel NULL pointer dereference at virtual address 0000022c
pgd = 80004000
[0000022c] *pgd=00000000
Internal error: Oops: 17 [#1] PREEMPT SMP ARM
Modules linked in: bcmdhd evbug ov5647_camera_mipi mxc_mipi_csi mx6s_capture
CPU: 1 PID: 780 Comm: kworker/u4:4 Not tainted 4.1.15-01434-g70f4b36 #1310
Hardware name: Freescale i.MX7 Dual (Device Tree)
Workqueue: kmmcd mmc_rescan
task: a974af80 ti: a846e000 task.ti: a846e000
PC is at _raw_spin_lock_irqsave+0x1c/0x5c
LR is at get_parent_ip+0x10/0x2c
pc : [] lr : [] psr: 60050093
sp : a846fc20 ip : 0001001f fp : a800b000
r10: 00000000 r9 : 00000001 r8 : 0000022c
r7 : 00000002 r6 : 0000022c r5 : a0050013 r4 : 0000022c
r3 : a974af80 r2 : 00000001 r1 : a846fc44 r0 : 00000000
Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c53c7d Table: a951406a DAC: 00000015
Process kworker/u4:4 (pid: 780, stack limit = 0xa846e210)
Stack: (0xa846fc20 to 0xa8470000)
fc20: 00000000 a846fc50 a846fc44 80061808 00000000 000001dc 00000000 805037fc
fc40: 8d89d5ec 00000000 a974af80 80053e88 00000000 00000000 ab7293c0 00000000
fc60: 7f09c828 000000c9 7f09c828 a916a804 00000001 0001001f a800b000 7f0698a4
fc80: a974afc8 00000001 00000000 00000000 00012ebc a974af80 00000001 80ad46c0
fca0: a974af80 00000000 a8eeccc0 00000001 0001001f a846fd04 00000000 7f099440
fcc0: a800b000 7f0699c4 a846fcdf 00000000 00000001 7f068834 a937c900 0105c688
fce0: a846fd04 a8e20000 00000000 00000001 00000000 7f071f08 a846fd04 a80a0000
fd00: ffffffff 00000000 ffffffff a8e20000 a8e20000 00000000 7f099440 00000000
fd20: 00000000 7f099440 a800b000 7f072f4c a974af80 00000000 00000000 80778564
fd40: a846fd54 a9346550 80330028 00000001 a846e000 a8e20000 7f099440 00000000
fd60: 18005000 a8eeccc0 00000000 7f099440 a800b000 7f073744 a846fd8c 80052130
fd80: a9273898 00000000 a800b000 a8e20000 7f099440 00000001 a8eec200 a9270000
fda0: 00000000 7f099440 a800b000 7f07cd3c 80b81100 8040003f a800b000 00000000
fdc0: 00000000 a8e20000 7f099440 a9270000 a9273000 a9270000 00000000 7f099440
fde0: a800b000 7f02df4c 00000001 a8e20000 7f099440 a8eec200 00000000 a916e008
fe00: 00000000 a90bfb00 a800b000 7f074cbc a9270000 7f099440 a8e20000 00000000
fe20: a8f81610 7f0765ec 7f0765b0 a8eeccc0 a855df40 7f069310 a916a800 a8eec200
fe40: 7f09b414 7f06a950 7f06a908 a8f81608 a8f81600 8050e8b8 a8f81608 7f09b414
fe60: 80b22c70 80379744 a974af80 a8f8163c a8f81608 803797d4 00000005 a81ce930
fe80: a8f81608 8037923c a8f81608 a8f81608 80b93cf4 80376504 a846fea0 800e0e3c
fea0: 00000000 00000000 a8f81608 000000bd a833f000 00000000 00000000 8050ed04
fec0: 00000001 8050dd8c 400f8c0f a833f000 ffffff92 a833f000 a81ce600 8050de30
fee0: 8050ddbc a833f240 a833f1dc 80506048 a90bfb00 a833f240 a800b000 a81ce600
ff00: 00000000 800462f0 a81ce600 80043c94 00000000 a800b000 a90bfb18 a800b014
ff20: a846e000 00000088 80b39379 a90bfb00 a800b000 8004654c 80ad4100 a800b164
ff40: a90bfb00 00000000 a84856c0 a90bfb00 80046500 00000000 00000000 00000000
ff60: 00000000 8004b1e8 2df9acc7 00000000 b5f3ff89 a90bfb00 00000000 00000000
ff80: a846ff80 a846ff80 00000000 00000000 a846ff90 a846ff90 a846ffac a84856c0
ffa0: 8004b10c 00000000 00000000 8000f568 00000000 00000000 00000000 00000000
ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 ecd61557 f82769f5
[] (_raw_spin_lock_irqsave) from [] (add_wait_queue+0x20/0x48)
[] (add_wait_queue) from [] (__mmc_claim_host+0x58/0x1b0)
[] (__mmc_claim_host) from [] (sdioh_request_byte+0x1cc/0x2a4 [bcmdhd])
[] (sdioh_request_byte [bcmdhd]) from [] (sdioh_cfg_write+0x20/0x28 [bcmdhd])
[] (sdioh_cfg_write [bcmdhd]) from [] (bcmsdh_cfg_write+0x90/0xdc [bcmdhd])
[] (bcmsdh_cfg_write [bcmdhd]) from [] (dhdsdio_clk_kso_enab+0x38/0x168 [bcmdhd])
[] (dhdsdio_clk_kso_enab [bcmdhd]) from [] (dhdsdio_clk_devsleep_iovar+0xf4/0x5f4 [bcmdhd])
[] (dhdsdio_clk_devsleep_iovar [bcmdhd]) from [] (dhdsdio_bussleep+0x2f8/0x4dc [bcmdhd])
[] (dhdsdio_bussleep [bcmdhd]) from [] (dhd_bus_stop+0x2e8/0x3f0 [bcmdhd])
[] (dhd_bus_stop [bcmdhd]) from [] (dhd_detach+0x2a4/0x438 [bcmdhd])
[] (dhd_detach [bcmdhd]) from [] (dhdsdio_release+0x4c/0x1dc [bcmdhd])
[] (dhdsdio_release [bcmdhd]) from [] (dhdsdio_disconnect+0x3c/0xa0 [bcmdhd])
[] (dhdsdio_disconnect [bcmdhd]) from [] (bcmsdh_remove+0x3c/0x60 [bcmdhd])
[] (bcmsdh_remove [bcmdhd]) from [] (bcmsdh_sdmmc_remove+0x48/0x60 [bcmdhd])
[] (bcmsdh_sdmmc_remove [bcmdhd]) from [] (sdio_bus_remove+0x30/0xf8)
[] (sdio_bus_remove) from [] (__device_release_driver+0x70/0xe4)
[] (__device_release_driver) from [] (device_release_driver+0x1c/0x28)
[] (device_release_driver) from [] (bus_remove_device+0xd8/0x104)
[] (bus_remove_device) from [] (device_del+0x10c/0x210)
[] (device_del) from [] (sdio_remove_func+0x1c/0x28)
[] (sdio_remove_func) from [] (mmc_sdio_remove+0x40/0x70)
[] (mmc_sdio_remove) from [] (mmc_sdio_detect+0x74/0x100)
[] (mmc_sdio_detect) from [] (mmc_rescan+0xb8/0x314)
[] (mmc_rescan) from [] (process_one_work+0x120/0x330)
[] (process_one_work) from [] (worker_thread+0x4c/0x480)
[] (worker_thread) from [] (kthread+0xdc/0xf4)
[] (kthread) from [] (ret_from_fork+0x14/0x2c)
Code: f10c0080 e3a00001 ebe359b1 f594f000 (e1943f9f)Signed-off-by: Dong Aisheng
-
Fix the following crash during module removing.
root@imx6qdlsolo:~# modprobe -r bcmdhd
dhd_prot_ioctl : bus is down. we have nothing to do
dhd_wlfc_deinit():3271, ampdu_hostreorder get failed Err = -1
dhd_prot_ioctl : bus is down. we have nothing to do
dhd_wlfc_deinit():3294 failed to enable/disable bdcv2 tlv signaling Err = -1
dhd_detach(): thread:dhd_watchdog_thread:34f terminated OK
dhd_dpc_thread: Unexpected up_cnt 0
dhd_detach(): thread:dhd_dpc:350 terminated OK
CFG80211-ERROR) wl_event_handler : was terminated
wl_destroy_event_handler(): thread:wl_event_handler:34e terminated OK
------------[ cut here ]------------
Kernel BUG at 800e0f40 [verbose debug info unavailable]
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
Modules linked in: bcmdhd(-) evbug ov5647_camera_mipi mxc_mipi_csi mx6s_capture [last unloaded: bcmdhd]
CPU: 0 PID: 854 Comm: modprobe Not tainted 4.1.15-01434-g70f4b36 #1311
Hardware name: Freescale i.MX7 Dual (Device Tree)
task: a97fc4c0 ti: a912e000 task.ti: a912e000
PC is at kfree+0x188/0x18c
LR is at wiphy_unregister+0x17c/0x204
pc : [] lr : [] psr: 400d0013
sp : a912fe30 ip : 00080353 fp : a8647970
r10: 7f219440 r9 : a9420140 r8 : ac75fa60
r7 : a9420000 r6 : 00000000 r5 : 00000000 r4 : a9420140
r3 : 00000000 r2 : 00000000 r1 : 07ffffff r0 : 00353443
Flags: nZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 10c53c7d Table: a940c06a DAC: 00000015
Process modprobe (pid: 854, stack limit = 0xa912e210)
Stack: (0xa912fe30 to 0xa9130000)
fe20: 7f219440 a9420140 00000000 00000000
fe40: a9420000 a94203a0 a9420140 7f219440 a8647970 80712184 00000000 7f219440
fe60: a8647970 805e1994 7f21d5d8 a8500000 a8574840 a94203a0 00000000 a8647000
fe80: a94203a0 7f1cb9ec 00000000 00000000 a8644000 a8647000 a8644000 7f21d5d8
fea0: 7f219440 7f1adf28 00000001 a956d000 7f219440 a9770440 00000000 8000f644
fec0: a912e000 00000000 002691a0 7f1f4cbc a8644000 7f219440 a956d000 00000000
fee0: 00000081 7f1f65ec 7f1f65b0 a9770b40 a9770b00 7f1e9310 a96f6000 a9770440
ff00: 7f21b414 7f1ea950 7f1ea908 a8fdba08 a8fdba00 8050ee74 a8fdba08 7f21b414
ff20: a8fdba3c 80379744 7f21b414 a8fdba08 7f21b414 80379ed4 7f21b414 002691dc
ff40: 002691a0 803794a4 7f21b478 7f1ff6bc 7f1ff690 8008fec0 00000000 646d6362
ff60: c0006468 00000000 a97fc8b8 00000000 a97fc8b8 00000000 80b41528 a97fc4c0
ff80: 002691a0 80049c60 a8576540 a912e000 8000f644 0012ffb0 00000006 002691a0
ffa0: 002691dc 8000f4c0 002691a0 002691dc 002691dc 00000800 76e72f78 00000000
ffc0: 002691a0 002691dc 002691a0 00000081 00000001 00000000 00000001 002691a0
ffe0: 76e388a0 7ec089f4 0001f008 76e388ac 600d0010 002691dc 00656e6f 635f6c77
[] (kfree) from [] (wiphy_unregister+0x17c/0x204)
[] (wiphy_unregister) from [] (wl_free_wdev+0x40/0x148 [bcmdhd])
[] (wl_free_wdev [bcmdhd]) from [] (dhd_detach+0x280/0x438 [bcmdhd])
[] (dhd_detach [bcmdhd]) from [] (dhdsdio_release+0x4c/0x1dc [bcmdhd])
[] (dhdsdio_release [bcmdhd]) from [] (dhdsdio_disconnect+0x3c/0xa0 [bcmdhd])
[] (dhdsdio_disconnect [bcmdhd]) from [] (bcmsdh_remove+0x3c/0x60 [bcmdhd])
[] (bcmsdh_remove [bcmdhd]) from [] (bcmsdh_sdmmc_remove+0x48/0x60 [bcmdhd])
[] (bcmsdh_sdmmc_remove [bcmdhd]) from [] (sdio_bus_remove+0x30/0xf8)
[] (sdio_bus_remove) from [] (__device_release_driver+0x70/0xe4)
[] (__device_release_driver) from [] (driver_detach+0xac/0xb0)
[] (driver_detach) from [] (bus_remove_driver+0x4c/0xa0)
[] (bus_remove_driver) from [] (dhd_module_cleanup+0x2c/0x3c [bcmdhd])
[] (dhd_module_cleanup [bcmdhd]) from [] (SyS_delete_module+0x174/0x1b8)
[] (SyS_delete_module) from [] (ret_fast_syscall+0x0/0x3c)
Code: e1a03007 e28dd004 e8bd4ff0 eafffd59 (e7f001f2)
---[ end trace 49de84cadd3d030b ]---
Segmentation fault
root@imx6qdlsolo:~#Signed-off-by: Dong Aisheng
-
Broadcom bcmdhd engineering release for 4.1 kernel
Signed-off-by: Dong Aisheng
-
When connect adhoc network, we got below warning, it's caused
by network stack changes during kernel upgrade.root@imx6qdlsolo:/mnt/nfs/vte_mx63# iw wlan0 ibss join TestAdhoc1 2412
------------[ cut here ]------------
WARNING: CPU: 1 PID: 1251 at /home/bamboo/build/4.1.X-1.0.0_ga/fsl-imx-fb/temp_build_dir/build_fsl-imx-fb/tmp/work-shared/imx6qdlsolo/kernel-source/net/wireless/ibss.c:67 wl_notify_connect_status+0x7b0/0x10f0 [bcmdhd]()
root@imx6qdlsolo:/mnt/nfs/vte_mx6Modules linked in:3# bcmdhd ov5642_camera ov5640_camera_mipi_int ov5640_camera_int mxc_dcic galcore(O) mxc_v4l2_capture ipu_bg_overlay_sdc ipu_still v4l2_int_device ipu_prp_enc ipu_csi_enc ipu_fg_overlay_sdc evbug
CPU: 1 PID: 1251 Comm: wl_event_handle Tainted: G O 4.1.8-1.0.0+g87e6c2f #1
Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[] (unwind_backtrace) from [] (show_stack+0x10/0x14)
[] (show_stack) from [] (dump_stack+0x84/0xc4)
[] (dump_stack) from [] (warn_slowpath_common+0x80/0xb0)
[] (warn_slowpath_common) from [] (warn_slowpath_null+0x1c/0x24)
[] (warn_slowpath_null) from [] (wl_notify_connect_status+0x7b0/0x10f0 [bcmdhd])
[] (wl_notify_connect_status [bcmdhd]) from [] (wl_event_handler+0x198/0x26c [bcmdhd])
[] (wl_event_handler [bcmdhd]) from [] (kthread+0xdc/0xf4)
[] (kthread) from [] (ret_from_fork+0x14/0x2c)
---[ end trace 40b45ccda84900ce ]---Signed-off-by: Dong Aisheng
-
Add return value check after calling .of_property_read_u32() to avoid
the warning reported by coverity.Signed-off-by: Fugang Duan
-
During normal suspend process, disable all irqs to avoid the late
TXF interrupt comming after clocks disabled that accessing registers
cause system hang.Signed-off-by: Fugang Duan
-
Current we can meet timeout issue when setting a small bitrate
like 10000 as follows:
root@imx6qdlsolo:~# ip link set can0 up type can bitrate 10000
A link change request failed with some changes committed already.
Interface can0 may have been left with an inconsistent configuration,
please check.
RTNETLINK answers: Connection timed outIt is caused by calling of flexcan_chip_unfreeze() timeout.
Originally the code is using usleep_range(10, 20) for unfreeze operation,
but the patch (8badd65 can: flexcan: avoid calling usleep_range from
interrupt context) changed it into udelay(10) which is only a half delay
of before, there're also some other delay changes.After only changed unfreeze delay back to udelay(20), the issue is gone.
So other timeout values are kept the same as 8badd65 changed.Signed-off-by: Dong Aisheng
-
Avoid to access the null interface before update tx status.
This patch workaround to fix the panic when the p2p connection
disconnect in the p2p stress test. The interface will be
released during the disconnect process.Fixed coding style issue by Aisheng.
Acked-by: Dong Aisheng
Signed-off-by: Haoran Wang
(cherry picked from commit 4e093820e74a83d86f3bb0dadc1054e3ddb8248c) -
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
[] (unwind_backtrace) from [] (show_stack+0x10/0x14)
[] (show_stack) from [] (dump_stack+0x7c/0xbc)
[] (dump_stack) from [] (warn_slowpath_common+0x70/0x8c)
[] (warn_slowpath_common) from [] (warn_slowpath_null+0x1c/0x24)
[] (warn_slowpath_null) from [] (sdhci_send_command+0xc64/0xd10)
[] (sdhci_send_command) from [] (sdhci_request+0xc0/0x1f0)
[] (sdhci_request) from [] (__mmc_start_req+0x60/0x84)
[] (__mmc_start_req) from [] (mmc_wait_for_req+0x10/0x20)
[] (mmc_wait_for_req) from [] (sdioh_request_packet_chain+0x368/0x400 [bcmdhd])
[] (sdioh_request_packet_chain [bcmdhd]) from [] (sdioh_request_buffer+0x124/0x294 [bcmdhd])
[] (sdioh_request_buffer [bcmdhd]) from [] (bcmsdh_send_buf+0x94/0x108 [bcmdhd])
[] (bcmsdh_send_buf [bcmdhd]) from [] (dhd_bcmsdh_send_buf.constprop.25+0x80/0x220 [bcmdhd])
[] (dhd_bcmsdh_send_buf.constprop.25 [bcmdhd]) from [] (dhdsdio_txpkt.constprop.24+0x928/0xa2c [bcmdhd])
[] (dhdsdio_txpkt.constprop.24 [bcmdhd]) from [] (dhdsdio_sendfromq+0x158/0x3c4 [bcmdhd])
[] (dhdsdio_sendfromq [bcmdhd]) from [] (dhdsdio_dpc+0x2e8/0x1034 [bcmdhd])
[] (dhdsdio_dpc [bcmdhd]) from [] (dhd_dpc_thread+0xe8/0x124 [bcmdhd])
[] (dhd_dpc_thread [bcmdhd]) from [] (kthread+0xcc/0xe4)
[] (kthread) from [] (ret_from_fork+0x14/0x34)Signed-off-by: Dong Aisheng
(cherry picked from commit 77ff69e3d3a82c4fcf2d6c6d2a904d4fc1793542) -
Pull back sdpcm_hdrlen length from old skb as new skb here
is passed to postprocessing.
This is a generic fix. We must have it regardless of host is
non scatter-gather or scatter gather capable.Suggested by: Vinayak Kamath
Signed-off-by: Dong Aisheng(cherry picked from commit 45c96b8881eaa2b073b9dfa2a44229accd7409b7)
(cherry picked from commit b72fea1818e92d18affe88a90f6f2460eab74360) -
Fixing a lot of compiling issues due to kernel upgrade and then
make it work on 4.1 kernel.Signed-off-by: Dong Aisheng
-
As part of starting up IBSS, CFG80211 driver needs BSS information to be
plumbed into it. Hence in DHD we call cfg80211_infrom_bss() and it needs whole
frame consist of IEs contained in beacon frame. But FW was passing frame buffer
with some extra bytes preceded and when same is plumbed into CFG80211 it was not
able to decode the frame and it ignores the frame as result we get such warnings.
Using latest FW delivered by Broadcom to fix the issue.As well as wl_cfg80211.c changes are essential. This change is actually fix certain
warnings seen when moving between IBSS and BSS network mode.
Changes must be done in wl_cfg80211_change_virtual_iface() which you can find at
wl_cfg80211.c and this file is not specific wl tool.Signed-off-by: Dong Aisheng
(cherry picked from commit a6a35af7350b26c1e30cc14aa2ad6e117ab260dc)