Search Linux Wireless

Re: brcmfmac not working on ECS LIVA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11-11-14 23:32, Felipe Contreras wrote:
> On Sun, Nov 9, 2014 at 4:46 AM, Arend van Spriel <arend@xxxxxxxxxxxx> wrote:
> 
>> Could you share the nvram obtained from EFI? Also please create a kernel log
>> with debug=0xd416.
> 
> There you go:
> http://people.freedesktop.org/~felipec/dmesg-brcm.txt
> 

It is using the sdhci-acpi driver for the sdio host controller. If I am
not mistaken that one does runtime-pm. This has caused issues with our
device. This is what happens:

1. driver sends control message and waits for firmware response.
 2. runtime pm kicks in and suspends host controller.
  3. host controller suspend disable sdio clock.
   4. host controller does not detect firmware interrupt for response.
    5. control message times out.

You can disable it through sysfs, but the patch below may do it.

Regards,
Arend

diff --git a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
b/drivers/net/wire
index f754ffc..d231e65 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c
@@ -27,6 +27,7 @@
 #include <linux/mmc/sdio_func.h>
 #include <linux/mmc/card.h>
 #include <linux/mmc/host.h>
+#include <linux/pm_runtime.h>
 #include <linux/platform_device.h>
 #include <linux/platform_data/brcmfmac-sdio.h>
 #include <linux/suspend.h>
@@ -976,6 +977,12 @@ static int brcmf_sdiod_probe(struct brcmf_sdio_dev
*sdiodev
                                           SG_MAX_SINGLE_ALLOC);
        sdiodev->max_segment_size = host->max_seg_size;

+       /*
+        * Several issues with the driver seem to occur when the SDIO host
+        * is using runtime-pm. Prevent host from doing runtime-pm here.
+        */
+       __pm_runtime_use_autosuspend(&host->class_dev, false);
+
        /* allocate scatter-gather table. sg support
         * will be disabled upon allocation failure.
         */

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux