This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

runtime power management issue on wl1271 porting to imx6

Other Parts Discussed in Thread: WL1271

Hello,


U-Boot 2013.10 (Apr 16 2014 - 10:46:22)

CPU:   Freescale i.MX6Q rev1.2 at 792 MHz
Reset cause: POR
Board: MX6-SabreSD
DRAM:  1 GiB
MMC:   FSL_SDHC: 0
No panel detected: default to HDMI
Display: HDMI (1024x768)
In:    serial
Out:   serial
Err:   serial
i2c: I2C1 SDA is low, start i2c recovery...
I2C1 Recovery success
force_idle_bus: sda=0 scl=0 sda.gp=0x0 scl.gp=0x0
force_idle_bus: failed to clear bus, sda=0 scl=0
POT value := 64Net:   Phy not found
PHY reset timed out
FEC [PRIME]
Warning: failed to set MAC address

Hit any key to stop autoboot:  1  0 
mmc0(part 0) is current device

MMC read: dev # 0, block # 2048, count 8192 ... 8192 blocks read: OK
## Booting kernel from Legacy Image at 12000000 ...
   Image Name:   Linux-3.0.35-4.1.0+yocto+gbdde70
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3997616 Bytes = 3.8 MiB
   Load Address: 10008000
   Entry Point:  10008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 3.0.35-4.1.0+yocto+gbdde708 (flex@ubuntu) (gcc version 4.8.1 (GCC) ) #6 SMP PREEMPT Tue Aug 12 23:46:05 PDT 2014
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad/DualLite/Solo Sabre-SD Board
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.2
PERCPU: Embedded 7 pages/cpu @8c008000 s5792 r8192 d14688 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 194560
Kernel command line: console=ttymxc0,115200 ip= root=/dev/mmcblk0p1 rootwait
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 512MB 256MB = 768MB total
Memory: 768688k/768688k available, 279888k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)
    vmalloc : 0xc0800000 - 0xf2000000   ( 792 MB)
    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
    modules : 0x7f000000 - 0x7fe00000   (  14 MB)
      .init : 0x80008000 - 0x8003f000   ( 220 kB)
      .text : 0x8003f000 - 0x80786198   (7453 kB)
      .data : 0x80788000 - 0x807f2570   ( 426 kB)
       .bss : 0x807f2594 - 0x80866930   ( 465 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:624
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
arm_max_freq=1GHz
MXC_Early serial console at MMIO 0x2020000 (options '115200')
bootconsole [ttymxc0] enabled
Console: colour dummy device 80x30
Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
devtmpfs: initialized
print_constraints: dummy: 
NET: Registered protocol family 16
print_constraints: vddpu: 725 <--> 1300 mV at 1150 mV fast normal 
print_constraints: vddcore: 725 <--> 1300 mV at 1150 mV fast normal 
print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal 
print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal 
print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal 
print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal 
Going to call fs_wl12xx_init()
in fs_wl12xx_init start
in fs_wl12xx_init end
hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
hw-breakpoint: maximum watchpoint size is 4 bytes.
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x02070000, Cache size: 1048576 B
bio: create slab <bio-0> at 0
mxs-dma mxs-dma-apbh: initialized
print_constraints: vmmc: 3300 mV 
SCSI subsystem initialized
spi_imx imx6q-ecspi.1: probed
spi_imx imx6q-ecspi.2: probed
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Freescale USB OTG Driver loaded, $Revision: 1.55 $
mc_pfuze 2-0008: ID: 0,Full lay: 1 ,Metal lay: 2
mc_pfuze 2-0008: FAB: 0 ,FIN: 0
print_constraints: PFUZE100_SW1A: 300 <--> 1875 mV at 1300 mV 
print_constraints: PFUZE100_SW1B: 300 <--> 1875 mV at 300 mV 
print_constraints: PFUZE100_SW1C: 300 <--> 1875 mV at 1300 mV 
print_constraints: PFUZE100_SW2: 800 <--> 3950 mV at 3000 mV 
print_constraints: PFUZE100_SW3A: 400 <--> 1975 mV at 1500 mV 
print_constraints: PFUZE100_SW3B: 400 <--> 1975 mV at 1500 mV 
print_constraints: PFUZE100_SW4: 800 <--> 3950 mV at 3300 mV 
print_constraints: PFUZE100_SWBST: 5000 <--> 5150 mV at 5000 mV 
print_constraints: PFUZE100_VSNVS: 1200 <--> 3000 mV at 1800 mV 
print_constraints: PFUZE100_VREFDDR: at 750 mV 
print_constraints: PFUZE100_VGEN1: 800 <--> 1550 mV at 800 mV 
print_constraints: PFUZE100_VGEN2: 800 <--> 1550 mV at 1500 mV 
print_constraints: PFUZE100_VGEN3: 1800 <--> 3300 mV at 1800 mV 
print_constraints: PFUZE100_VGEN4: 1800 <--> 3300 mV at 1800 mV 
print_constraints: PFUZE100_VGEN5: 1800 <--> 3300 mV at 2500 mV 
print_constraints: PFUZE100_VGEN6: 1800 <--> 3300 mV at 3000 mV 
imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
imx-ipuv3 imx-ipuv3.1: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 driver probed
mxc_mipi_csi2 mxc_mipi_csi2: i.MX MIPI CSI2 dphy version is 0x3130302a
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Version 1.0.24.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
i2c-core: driver [max17135] using legacy suspend method
i2c-core: driver [max17135] using legacy resume method
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
PMU: registered new PMU device of type 0
Static Power Management for Freescale i.MX6
wait mode is enabled for i.MX6
cpaddr = c0880000 suspend_iram_base=c0914000
PM driver module loaded
IMX usb wakeup probe
add wake up source irq 75
IMX usb wakeup probe
cpu regulator mode:ldo_bypass
_regulator_get: get() with no identifier
mx6_cpu_regulator_init: failed to get pu regulator
i.MXC CPU frequency driver
JFFS2 version 2.2. (NAND) � 2001-2006 Red Hat, Inc.
msgmni has been set to 1501
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-sdma imx-sdma: loaded firmware 1.1
imx-sdma imx-sdma: initialized
Serial: IMX driver
imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
old_ufcr=a81 new_ufcr=b01, old_ucr2=4027 new_ucr2=4027, old_ubir=f num=1f7, old_ubmr=15b denom=c34
clk=80000000 div=7 num=504 denom=3125 baud=115200
console [ttymxc0] enabled, bootconsole disabled
console [ttymxc0] enabled, bootconsole disabled
imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX
imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
loop: module loaded
Can't recover from RESET HBA!
No sata disk.
m25p80 spi1.0: unrecognized JEDEC id 20ba20
GPMI NAND driver registered. (IMX)
CAN device driver interface
FEC Ethernet Driver
fec_enet_mii_bus: probed
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
add wake up source irq 72
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ARC USBOTG Device Controller driver (1 August 2005)
mousedev: PS/2 mouse device common for all mice
i2c-core: driver [isl29023] using legacy suspend method
i2c-core: driver [isl29023] using legacy resume method
snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
i2c-core: driver [mag3110] using legacy suspend method
i2c-core: driver [mag3110] using legacy resume method
imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCILL protocol initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
shabeer in dri/host/mmc/sdhci--imx.c
shabeer in dri/host/mmc/sdhci--imx.c
mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA
in wl12xx_set_power delay added on=0
shabeer in dri/host/mmc/sdhci--imx.c
mmc1: SDHCI controller on platform [sdhci-esdhc-imx.1] using DMA
mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
shabeer in dri/host/mmc/sdhci--imx.c
VPU initialized
mxc_asrc registered
Galcore version 4.6.9.6622
Thermal calibration data is 0x5574ad7d
Thermal sensor with ratio = 175
shabeer in dri/host/mmc/sdhci--imx.c
shabeer in dri/host/mmc/sdhci--imx.c
Anatop Thermal registered as thermal_zone0
anatop_thermal_probe: default cooling device is cpufreq!
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usbcore: registered new interface driver snd-usb-audio
Cirrus Logic CS42888 ALSA SoC Codec Driver
i2c-core: driver [cs42888] using legacy suspend method
i2c-core: driver [cs42888] using legacy resume method
imx_3stack asoc driver
shabeer in dri/host/mmc/sdhci--imx.c
shabeer in dri/host/mmc/sdhci--imx.c
ALSA device list:
  No soundcards found.
NET: Registered protocol family 26
TCP cubic registered
NET: Registered protocol family 17
shabeer in dri/host/mmc/sdhci--imx.c
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
can: broadcast manager protocol (rev 20090105 t)
can: SAE J1939
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
shabeer in dri/host/mmc/sdhci--imx.c
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
lib80211: common routines for IEEE802.11 drivers
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
Bus freq driver module loaded
Bus freq driver Enabled
shabeer in dri/host/mmc/sdhci--imx.c
shabeer in dri/host/mmc/sdhci--imx.c
mxc_dvfs_core_probe
DVFS driver module loaded
shabeer in dri/host/mmc/sdhci--imx.c
regulator_init_complete: PFUZE100_VGEN6: incomplete constraints, leaving on
shabeer in dri/host/mmc/sdhci--imx.c
shabeer in dri/host/mmc/sdhci--imx.c
mmc0: new high speed DDR MMC card at address 0001
regulator_init_complete: PFUZE100_VGEN2: incomplete constraints, leaving on
mmcblk0: mmc0:0001 MMC04G 3.52 GiB 
snvs_rtc snvs_rtc.0: setting system clock to 2014-07-15 11:01:22 UTC (1405422082)
mmcblk0boot0: mmc0:0001 MMC04G partition 1 16.0 MiB
mmcblk0boot1: mmc0:0001 MMC04G partition 2 16.0 MiB
 mmcblk0: p1
 mmcblk0boot1: unknown partition table
 mmcblk0boot0: unknown partition table
EXT3-fs: barriers not enabled
in wl12xx_set_power delay added on=1
kjournald starting.  Commit interval 5 seconds
shabeer in dri/host/mmc/sdhci--imx.c
EXT3-fs (mmcblk0p1): warning: checktime reached, running e2fsck is recommended
EXT3-fs (mmcblk0p1): using internal journal
EXT3-fs (mmcblk0p1): recovery complete
EXT3-fs (mmcblk0p1): mounted filesystem with writeback data mode
in wl12xx_set_power delay added on=1
shabeer in dri/host/mmc/sdhci--imx.c
VFS: Mounted root (ext3 filesystem) on device 179:1.
devtmpfs: mounted
Freeing init memory: 220K
in wl12xx_set_power delay added on=1
shabeer in dri/host/mmc/sdhci--imx.c
in wl12xx_set_power delay added on=1
shabeer in dri/host/mmc/sdhci--imx.c
mmc1: card claims to support voltages below the defined range. These will be ignored.
in wl12xx_set_power delay added on=1
shabeer in dri/host/mmc/sdhci--imx.c
in wl12xx_set_power delay added on=1
shabeer in dri/host/mmc/sdhci--imx.c
in wl12xx_set_power delay added on=1
shabeer in dri/host/mmc/sdhci--imx.c
in wl12xx_set_power delay added on=1
shabeer in dri/host/mmc/sdhci--imx.c
mmc1: queuing unknown CIS tuple 0x91 (3 bytes)
mmc1: new SDIO card at address 0001
init: upstart-dbus-bridge main process (70) terminated with status 1
running mountall.confinit: upstart-dbus-bridge main process ended, respawning

init: Unable to connect to the system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
starting dbus
in rc-sysinit.conf
Starting udev
Starting udev
init: upstart-event-bridge main process (115) terminated with status 1
init: upstart-event-bridge main process ended, respawning
init: upstart-event-bridge main process (121) terminated with status 1
init: upstart-event-bridge main process ended, respawning
init: upstart-event-bridge main process (124) terminated with status 1
init: upstart-event-bridge main process ended, respawning
init: upstart-event-bridge main process (125) terminated with status 1
init: upstart-event-bridge main process ended, respawning
init: upstart-event-bridge main process (127) terminated with status 1
init: upstart-event-bridge main process ended, respawning
init: upstart-event-bridge main process (128) terminated with status 1
init: upstart-event-bridge main process ended, respawning
init: upstart-event-bridge main process (131) terminated with status 1
init: upstart-event-bridge main process ended, respawning
init: upstart-event-bridge main process (133) terminated with status 1
init: upstart-event-bridge main process ended, respawning
udevd[135]: starting version 182
init: upstart-event-bridge main process (134) terminated with status 1
init: upstart-event-bridge main process ended, respawning
init: upstart-event-bridge main process (138) terminated with status 1
init: upstart-event-bridge main process ended, respawning
udevd[140]: starting version 182
init: upstart-event-bridge main process (142) terminated with status 1
init: upstart-event-bridge respawning too fast, stopped
Starting Bootlog daemon: bootlogd.
ALSA: Restoring mixer settings...
Configuring network interfaces... /usr/sbin/alsactl: load_state:1729: No soundcards found...
eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:01, irq=-1)
udhcpc (v1.21.1) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing
Starting rpcbind daemon...rpcbind: cannot create socket for udp6
rpcbind: cannot create socket for tcp6
done.
system message bus already started; not starting.
Starting system message bus: dbus.
Starting OpenBSD Secure Shell server: sshd
done.
Starting advanced power management daemon: apmd.
apmd[499]: apmd 3.2.1 interfacing with apm driver 1.13 and APM BIOS 1.2
Starting ntpd: done
starting rsyslogd ... rsyslogd: error: option -c is no longer supported - ignored
rsyslogd: run failed with error -2207 (see rsyslog.h or try http://www.rsyslog.com/e/2207 to learn what that number means)
failed
Starting syslogd/klogd: done
 * Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
   ...done.
Running local boot scripts (/etc/rc.local)running rc.local
flexcan netdevice driver
flexcan imx6q-flexcan.0: device registered (reg_base=c0af8000, irq=142)
flexcan imx6q-flexcan.1: device registered (reg_base=c0b00000, irq=143)
FLEX Inova SPI:RX register read value not matching configured value
FLEX Inova SPI:RX configuration failed
inova_spi_config: probe of spi2.0 failed with error -14
inova_spi_apix: probe of spi2.1 failed with error -14
client probe called
Inova down. Aborting SPI Mux initialization.
insmod: ERROR: could not insert module /lib/modules/3.0.35-4.1.0+yocto+gbdde708/extra/spi-mux/spi_mux.ko: No such device
error
Stopping Bootlog daemon: bootlogd.

Poky (Yocto Project Reference Distro) 1.5.1 imx6qsabresd /dev/ttymxc0

imx6qsabresd login: root
root@imx6qsabresd:~# ifc   ls
wl12xx.ko       wl12xx_sdio.ko
root@imx6qsabresd:~# insmod wl12xx.ko 
root@imx6qsabresd:~# insmod wl12xx_sdio.ko 
add wake up source irq 103
wl1271: loaded
wl1271: initialized
root@imx6qsabresd:~# ifconfig -a
can0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:16  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:142 

can1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          NOARP  MTU:16  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:143 

eth0      Link encap:Ethernet  HWaddr 1E:ED:19:27:1A:B3  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1904 (1.8 KiB)  TX bytes:1904 (1.8 KiB)

wlan0     Link encap:Ethernet  HWaddr DE:AD:BE:EF:00:00  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@imx6qsabresd:~# ifconfig wlaq n0 up
------------[ cut here ]------------
WARNING: at drivers/mmc/core/core.c:348 mmc_wait_for_cmd+0x9c/0xa0()
Modules linked in: wl12xx_sdio wl12xx inova_spi spi_slave_imx flex_common adc_spi power_mgr flexcan
[<8004b304>] (unwind_backtrace+0x0/0xf4) from [<8007b478>] (warn_slowpath_common+0x54/0x64)
[<8007b478>] (warn_slowpath_common+0x54/0x64) from [<8007b524>] (warn_slowpath_null+0x1c/0x24)
[<8007b524>] (warn_slowpath_null+0x1c/0x24) from [<803b9798>] (mmc_wait_for_cmd+0x9c/0xa0)
[<803b9798>] (mmc_wait_for_cmd+0x9c/0xa0) from [<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150)
[<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150) from [<803c2aac>] (sdio_disable_func+0x3c/0xb0)
[<803c2aac>] (sdio_disable_func+0x3c/0xb0) from [<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio])
[<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio]) from [<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx])
[<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx]) from [<80558af4>] (ieee80211_do_open+0x4bc/0x624)
[<80558af4>] (ieee80211_do_open+0x4bc/0x624) from [<8046a18c>] (__dev_open+0x98/0xec)
[<8046a18c>] (__dev_open+0x98/0xec) from [<8046a3b8>] (__dev_change_flags+0x84/0x134)
[<8046a3b8>] (__dev_change_flags+0x84/0x134) from [<8046a4d4>] (dev_change_flags+0x10/0x48)
[<8046a4d4>] (dev_change_flags+0x10/0x48) from [<804c0278>] (devinet_ioctl+0x688/0x7a4)
[<804c0278>] (devinet_ioctl+0x688/0x7a4) from [<80456a14>] (sock_ioctl+0x118/0x260)
[<80456a14>] (sock_ioctl+0x118/0x260) from [<80130a2c>] (do_vfs_ioctl+0x3b4/0x530)
[<80130a2c>] (do_vfs_ioctl+0x3b4/0x530) from [<80130bdc>] (sys_ioctl+0x34/0x60)
[<80130bdc>] (sys_ioctl+0x34/0x60) from [<80044840>] (ret_fast_syscall+0x0/0x30)
---[ end trace f2579cdd6137192e ]---
------------[ cut here ]------------
WARNING: at drivers/mmc/core/core.c:168 __mmc_start_req+0xfc/0x130()
Modules linked in: wl12xx_sdio wl12xx inova_spi spi_slave_imx flex_common adc_spi power_mgr flexcan
[<8004b304>] (unwind_backtrace+0x0/0xf4) from [<8007b478>] (warn_slowpath_common+0x54/0x64)
[<8007b478>] (warn_slowpath_common+0x54/0x64) from [<8007b524>] (warn_slowpath_null+0x1c/0x24)
[<8007b524>] (warn_slowpath_null+0x1c/0x24) from [<803b9588>] (__mmc_start_req+0xfc/0x130)
[<803b9588>] (__mmc_start_req+0xfc/0x130) from [<803b9770>] (mmc_wait_for_cmd+0x74/0xa0)
[<803b9770>] (mmc_wait_for_cmd+0x74/0xa0) from [<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150)
[<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150) from [<803c2aac>] (sdio_disable_func+0x3c/0xb0)
[<803c2aac>] (sdio_disable_func+0x3c/0xb0) from [<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio])
[<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio]) from [<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx])
[<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx]) from [<80558af4>] (ieee80211_do_open+0x4bc/0x624)
[<80558af4>] (ieee80211_do_open+0x4bc/0x624) from [<8046a18c>] (__dev_open+0x98/0xec)
[<8046a18c>] (__dev_open+0x98/0xec) from [<8046a3b8>] (__dev_change_flags+0x84/0x134)
[<8046a3b8>] (__dev_change_flags+0x84/0x134) from [<8046a4d4>] (dev_change_flags+0x10/0x48)
[<8046a4d4>] (dev_change_flags+0x10/0x48) from [<804c0278>] (devinet_ioctl+0x688/0x7a4)
[<804c0278>] (devinet_ioctl+0x688/0x7a4) from [<80456a14>] (sock_ioctl+0x118/0x260)
[<80456a14>] (sock_ioctl+0x118/0x260) from [<80130a2c>] (do_vfs_ioctl+0x3b4/0x530)
[<80130a2c>] (do_vfs_ioctl+0x3b4/0x530) from [<80130bdc>] (sys_ioctl+0x34/0x60)
[<80130bdc>] (sys_ioctl+0x34/0x60) from [<80044840>] (ret_fast_syscall+0x0/0x30)
---[ end trace f2579cdd6137192f ]---
------------[ cut here ]------------
WARNING: at drivers/mmc/core/core.c:348 mmc_wait_for_cmd+0x9c/0xa0()
Modules linked in: wl12xx_sdio wl12xx inova_spi spi_slave_imx flex_common adc_spi power_mgr flexcan
[<8004b304>] (unwind_backtrace+0x0/0xf4) from [<8007b478>] (warn_slowpath_common+0x54/0x64)
[<8007b478>] (warn_slowpath_common+0x54/0x64) from [<8007b524>] (warn_slowpath_null+0x1c/0x24)
[<8007b524>] (warn_slowpath_null+0x1c/0x24) from [<803b9798>] (mmc_wait_for_cmd+0x9c/0xa0)
[<803b9798>] (mmc_wait_for_cmd+0x9c/0xa0) from [<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150)
[<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150) from [<803c2ae4>] (sdio_disable_func+0x74/0xb0)
[<803c2ae4>] (sdio_disable_func+0x74/0xb0) from [<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio])
[<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio]) from [<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx])
[<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx]) from [<80558af4>] (ieee80211_do_open+0x4bc/0x624)
[<80558af4>] (ieee80211_do_open+0x4bc/0x624) from [<8046a18c>] (__dev_open+0x98/0xec)
[<8046a18c>] (__dev_open+0x98/0xec) from [<8046a3b8>] (__dev_change_flags+0x84/0x134)
[<8046a3b8>] (__dev_change_flags+0x84/0x134) from [<8046a4d4>] (dev_change_flags+0x10/0x48)
[<8046a4d4>] (dev_change_flags+0x10/0x48) from [<804c0278>] (devinet_ioctl+0x688/0x7a4)
[<804c0278>] (devinet_ioctl+0x688/0x7a4) from [<80456a14>] (sock_ioctl+0x118/0x260)
[<80456a14>] (sock_ioctl+0x118/0x260) from [<80130a2c>] (do_vfs_ioctl+0x3b4/0x530)
[<80130a2c>] (do_vfs_ioctl+0x3b4/0x530) from [<80130bdc>] (sys_ioctl+0x34/0x60)
[<80130bdc>] (sys_ioctl+0x34/0x60) from [<80044840>] (ret_fast_syscall+0x0/0x30)
---[ end trace f2579cdd61371930 ]---
------------[ cut here ]------------
WARNING: at drivers/mmc/core/core.c:168 __mmc_start_req+0xfc/0x130()
Modules linked in: wl12xx_sdio wl12xx inova_spi spi_slave_imx flex_common adc_spi power_mgr flexcan
[<8004b304>] (unwind_backtrace+0x0/0xf4) from [<8007b478>] (warn_slowpath_common+0x54/0x64)
[<8007b478>] (warn_slowpath_common+0x54/0x64) from [<8007b524>] (warn_slowpath_null+0x1c/0x24)
[<8007b524>] (warn_slowpath_null+0x1c/0x24) from [<803b9588>] (__mmc_start_req+0xfc/0x130)
[<803b9588>] (__mmc_start_req+0xfc/0x130) from [<803b9770>] (mmc_wait_for_cmd+0x74/0xa0)
[<803b9770>] (mmc_wait_for_cmd+0x74/0xa0) from [<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150)
[<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150) from [<803c2ae4>] (sdio_disable_func+0x74/0xb0)
[<803c2ae4>] (sdio_disable_func+0x74/0xb0) from [<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio])
[<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio]) from [<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx])
[<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx]) from [<80558af4>] (ieee80211_do_open+0x4bc/0x624)
[<80558af4>] (ieee80211_do_open+0x4bc/0x624) from [<8046a18c>] (__dev_open+0x98/0xec)
[<8046a18c>] (__dev_open+0x98/0xec) from [<8046a3b8>] (__dev_change_flags+0x84/0x134)
[<8046a3b8>] (__dev_change_flags+0x84/0x134) from [<8046a4d4>] (dev_change_flags+0x10/0x48)
[<8046a4d4>] (dev_change_flags+0x10/0x48) from [<804c0278>] (devinet_ioctl+0x688/0x7a4)
[<804c0278>] (devinet_ioctl+0x688/0x7a4) from [<80456a14>] (sock_ioctl+0x118/0x260)
[<80456a14>] (sock_ioctl+0x118/0x260) from [<80130a2c>] (do_vfs_ioctl+0x3b4/0x530)
[<80130a2c>] (do_vfs_ioctl+0x3b4/0x530) from [<80130bdc>] (sys_ioctl+0x34/0x60)
[<80130bdc>] (sys_ioctl+0x34/0x60) from [<80044840>] (ret_fast_syscall+0x0/0x30)
---[ end trace f2579cdd61371931 ]---
------------[ cut here ]------------
WARNING: at drivers/mmc/core/core.c:711 mmc_release_host+0x38/0x3c()
Modules linked in: wl12xx_sdio wl12xx inova_spi spi_slave_imx flex_common adc_spi power_mgr flexcan
[<8004b304>] (unwind_backtrace+0x0/0xf4) from [<8007b478>] (warn_slowpath_common+0x54/0x64)
[<8007b478>] (warn_slowpath_common+0x54/0x64) from [<8007b524>] (warn_slowpath_null+0x1c/0x24)
[<8007b524>] (warn_slowpath_null+0x1c/0x24) from [<803b9fe0>] (mmc_release_host+0x38/0x3c)
[<803b9fe0>] (mmc_release_host+0x38/0x3c) from [<7f04b1b0>] (wl1271_sdio_set_power+0x24/0xc0 [wl12xx_sdio])
[<7f04b1b0>] (wl1271_sdio_set_power+0x24/0xc0 [wl12xx_sdio]) from [<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx])
[<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx]) from [<80558af4>] (ieee80211_do_open+0x4bc/0x624)
[<80558af4>] (ieee80211_do_open+0x4bc/0x624) from [<8046a18c>] (__dev_open+0x98/0xec)
[<8046a18c>] (__dev_open+0x98/0xec) from [<8046a3b8>] (__dev_change_flags+0x84/0x134)
[<8046a3b8>] (__dev_change_flags+0x84/0x134) from [<8046a4d4>] (dev_change_flags+0x10/0x48)
[<8046a4d4>] (dev_change_flags+0x10/0x48) from [<804c0278>] (devinet_ioctl+0x688/0x7a4)
[<804c0278>] (devinet_ioctl+0x688/0x7a4) from [<80456a14>] (sock_ioctl+0x118/0x260)
[<80456a14>] (sock_ioctl+0x118/0x260) from [<80130a2c>] (do_vfs_ioctl+0x3b4/0x530)
[<80130a2c>] (do_vfs_ioctl+0x3b4/0x530) from [<80130bdc>] (sys_ioctl+0x34/0x60)
[<80130bdc>] (sys_ioctl+0x34/0x60) from [<80044840>] (ret_fast_syscall+0x0/0x30)
---[ end trace f2579cdd61371932 ]---
in wl12xx_set_power delay added on=0
shabeer in dri/host/mmc/sdhci--imx.c
------------[ cut here ]------------
WARNING: at drivers/mmc/core/core.c:348 mmc_wait_for_cmd+0x9c/0xa0()
Modules linked in: wl12xx_sdio wl12xx inova_spi spi_slave_imx flex_common adc_spi power_mgr flexcan
[<8004b304>] (unwind_backtrace+0x0/0xf4) from [<8007b478>] (warn_slowpath_common+0x54/0x64)
[<8007b478>] (warn_slowpath_common+0x54/0x64) from [<8007b524>] (warn_slowpath_null+0x1c/0x24)
[<8007b524>] (warn_slowpath_null+0x1c/0x24) from [<803b9798>] (mmc_wait_for_cmd+0x9c/0xa0)
[<803b9798>] (mmc_wait_for_cmd+0x9c/0xa0) from [<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150)
[<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150) from [<803c2aac>] (sdio_disable_func+0x3c/0xb0)
[<803c2aac>] (sdio_disable_func+0x3c/0xb0) from [<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio])
[<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio]) from [<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx])
[<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx]) from [<80558af4>] (ieee80211_do_open+0x4bc/0x624)
[<80558af4>] (ieee80211_do_open+0x4bc/0x624) from [<8046a18c>] (__dev_open+0x98/0xec)
[<8046a18c>] (__dev_open+0x98/0xec) from [<8046a3b8>] (__dev_change_flags+0x84/0x134)
[<8046a3b8>] (__dev_change_flags+0x84/0x134) from [<8046a4d4>] (dev_change_flags+0x10/0x48)
[<8046a4d4>] (dev_change_flags+0x10/0x48) from [<804c0278>] (devinet_ioctl+0x688/0x7a4)
[<804c0278>] (devinet_ioctl+0x688/0x7a4) from [<80456a14>] (sock_ioctl+0x118/0x260)
[<80456a14>] (sock_ioctl+0x118/0x260) from [<80130a2c>] (do_vfs_ioctl+0x3b4/0x530)
[<80130a2c>] (do_vfs_ioctl+0x3b4/0x530) from [<80130bdc>] (sys_ioctl+0x34/0x60)
[<80130bdc>] (sys_ioctl+0x34/0x60) from [<80044840>] (ret_fast_syscall+0x0/0x30)
---[ end trace f2579cdd61371933 ]---
------------[ cut here ]------------
WARNING: at drivers/mmc/core/core.c:168 __mmc_start_req+0xfc/0x130()
Modules linked in: wl12xx_sdio wl12xx inova_spi spi_slave_imx flex_common adc_spi power_mgr flexcan
[<8004b304>] (unwind_backtrace+0x0/0xf4) from [<8007b478>] (warn_slowpath_common+0x54/0x64)
[<8007b478>] (warn_slowpath_common+0x54/0x64) from [<8007b524>] (warn_slowpath_null+0x1c/0x24)
[<8007b524>] (warn_slowpath_null+0x1c/0x24) from [<803b9588>] (__mmc_start_req+0xfc/0x130)
[<803b9588>] (__mmc_start_req+0xfc/0x130) from [<803b9770>] (mmc_wait_for_cmd+0x74/0xa0)
[<803b9770>] (mmc_wait_for_cmd+0x74/0xa0) from [<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150)
[<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150) from [<803c2aac>] (sdio_disable_func+0x3c/0xb0)
[<803c2aac>] (sdio_disable_func+0x3c/0xb0) from [<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio])
[<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio]) from [<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx])
[<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx]) from [<80558af4>] (ieee80211_do_open+0x4bc/0x624)
[<80558af4>] (ieee80211_do_open+0x4bc/0x624) from [<8046a18c>] (__dev_open+0x98/0xec)
[<8046a18c>] (__dev_open+0x98/0xec) from [<8046a3b8>] (__dev_change_flags+0x84/0x134)
[<8046a3b8>] (__dev_change_flags+0x84/0x134) from [<8046a4d4>] (dev_change_flags+0x10/0x48)
[<8046a4d4>] (dev_change_flags+0x10/0x48) from [<804c0278>] (devinet_ioctl+0x688/0x7a4)
[<804c0278>] (devinet_ioctl+0x688/0x7a4) from [<80456a14>] (sock_ioctl+0x118/0x260)
[<80456a14>] (sock_ioctl+0x118/0x260) from [<80130a2c>] (do_vfs_ioctl+0x3b4/0x530)
[<80130a2c>] (do_vfs_ioctl+0x3b4/0x530) from [<80130bdc>] (sys_ioctl+0x34/0x60)
[<80130bdc>] (sys_ioctl+0x34/0x60) from [<80044840>] (ret_fast_syscall+0x0/0x30)
---[ end trace f2579cdd61371934 ]---
------------[ cut here ]------------
WARNING: at drivers/mmc/core/core.c:711 mmc_release_host+0x38/0x3c()
Modules linked in: wl12xx_sdio wl12xx inova_spi spi_slave_imx flex_common adc_spi power_mgr flexcan
[<8004b304>] (unwind_backtrace+0x0/0xf4) from [<8007b478>] (warn_slowpath_common+0x54/0x64)
[<8007b478>] (warn_slowpath_common+0x54/0x64) from [<8007b524>] (warn_slowpath_null+0x1c/0x24)
[<8007b524>] (warn_slowpath_null+0x1c/0x24) from [<803b9fe0>] (mmc_release_host+0x38/0x3c)
[<803b9fe0>] (mmc_release_host+0x38/0x3c) from [<7f04b1b0>] (wl1271_sdio_set_power+0x24/0xc0 [wl12xx_sdio])
[<7f04b1b0>] (wl1271_sdio_set_power+0x24/0xc0 [wl12xx_sdio]) from [<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx])
[<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx]) from [<80558af4>] (ieee80211_do_open+0x4bc/0x624)
[<80558af4>] (ieee80211_do_open+0x4bc/0x624) from [<8046a18c>] (__dev_open+0x98/0xec)
[<8046a18c>] (__dev_open+0x98/0xec) from [<8046a3b8>] (__dev_change_flags+0x84/0x134)
[<8046a3b8>] (__dev_change_flags+0x84/0x134) from [<8046a4d4>] (dev_change_flags+0x10/0x48)
[<8046a4d4>] (dev_change_flags+0x10/0x48) from [<804c0278>] (devinet_ioctl+0x688/0x7a4)
[<804c0278>] (devinet_ioctl+0x688/0x7a4) from [<80456a14>] (sock_ioctl+0x118/0x260)
[<80456a14>] (sock_ioctl+0x118/0x260) from [<80130a2c>] (do_vfs_ioctl+0x3b4/0x530)
[<80130a2c>] (do_vfs_ioctl+0x3b4/0x530) from [<80130bdc>] (sys_ioctl+0x34/0x60)
[<80130bdc>] (sys_ioctl+0x34/0x60) from [<80044840>] (ret_fast_syscall+0x0/0x30)
---[ end trace f2579cdd61371935 ]---
in wl12xx_set_power delay added on=0
shabeer in dri/host/mmc/sdhci--imx.c
------------[ cut here ]------------
WARNING: at drivers/mmc/core/core.c:348 mmc_wait_for_cmd+0x9c/0xa0()
Modules linked in: wl12xx_sdio wl12xx inova_spi spi_slave_imx flex_common adc_spi power_mgr flexcan
[<8004b304>] (unwind_backtrace+0x0/0xf4) from [<8007b478>] (warn_slowpath_common+0x54/0x64)
[<8007b478>] (warn_slowpath_common+0x54/0x64) from [<8007b524>] (warn_slowpath_null+0x1c/0x24)
[<8007b524>] (warn_slowpath_null+0x1c/0x24) from [<803b9798>] (mmc_wait_for_cmd+0x9c/0xa0)
[<803b9798>] (mmc_wait_for_cmd+0x9c/0xa0) from [<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150)
[<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150) from [<803c2aac>] (sdio_disable_func+0x3c/0xb0)
[<803c2aac>] (sdio_disable_func+0x3c/0xb0) from [<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio])
[<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio]) from [<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx])
[<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx]) from [<80558af4>] (ieee80211_do_open+0x4bc/0x624)
[<80558af4>] (ieee80211_do_open+0x4bc/0x624) from [<8046a18c>] (__dev_open+0x98/0xec)
[<8046a18c>] (__dev_open+0x98/0xec) from [<8046a3b8>] (__dev_change_flags+0x84/0x134)
[<8046a3b8>] (__dev_change_flags+0x84/0x134) from [<8046a4d4>] (dev_change_flags+0x10/0x48)
[<8046a4d4>] (dev_change_flags+0x10/0x48) from [<804c0278>] (devinet_ioctl+0x688/0x7a4)
[<804c0278>] (devinet_ioctl+0x688/0x7a4) from [<80456a14>] (sock_ioctl+0x118/0x260)
[<80456a14>] (sock_ioctl+0x118/0x260) from [<80130a2c>] (do_vfs_ioctl+0x3b4/0x530)
[<80130a2c>] (do_vfs_ioctl+0x3b4/0x530) from [<80130bdc>] (sys_ioctl+0x34/0x60)
[<80130bdc>] (sys_ioctl+0x34/0x60) from [<80044840>] (ret_fast_syscall+0x0/0x30)
---[ end trace f2579cdd61371936 ]---
------------[ cut here ]------------
WARNING: at drivers/mmc/core/core.c:168 __mmc_start_req+0xfc/0x130()
Modules linked in: wl12xx_sdio wl12xx inova_spi spi_slave_imx flex_common adc_spi power_mgr flexcan
[<8004b304>] (unwind_backtrace+0x0/0xf4) from [<8007b478>] (warn_slowpath_common+0x54/0x64)
[<8007b478>] (warn_slowpath_common+0x54/0x64) from [<8007b524>] (warn_slowpath_null+0x1c/0x24)
[<8007b524>] (warn_slowpath_null+0x1c/0x24) from [<803b9588>] (__mmc_start_req+0xfc/0x130)
[<803b9588>] (__mmc_start_req+0xfc/0x130) from [<803b9770>] (mmc_wait_for_cmd+0x74/0xa0)
[<803b9770>] (mmc_wait_for_cmd+0x74/0xa0) from [<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150)
[<803c1990>] (mmc_io_rw_direct_host+0xa0/0x150) from [<803c2aac>] (sdio_disable_func+0x3c/0xb0)
[<803c2aac>] (sdio_disable_func+0x3c/0xb0) from [<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio])
[<7f04b1a8>] (wl1271_sdio_set_power+0x1c/0xc0 [wl12xx_sdio]) from [<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx])
[<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx]) from [<80558af4>] (ieee80211_do_open+0x4bc/0x624)
[<80558af4>] (ieee80211_do_open+0x4bc/0x624) from [<8046a18c>] (__dev_open+0x98/0xec)
[<8046a18c>] (__dev_open+0x98/0xec) from [<8046a3b8>] (__dev_change_flags+0x84/0x134)
[<8046a3b8>] (__dev_change_flags+0x84/0x134) from [<8046a4d4>] (dev_change_flags+0x10/0x48)
[<8046a4d4>] (dev_change_flags+0x10/0x48) from [<804c0278>] (devinet_ioctl+0x688/0x7a4)
[<804c0278>] (devinet_ioctl+0x688/0x7a4) from [<80456a14>] (sock_ioctl+0x118/0x260)
[<80456a14>] (sock_ioctl+0x118/0x260) from [<80130a2c>] (do_vfs_ioctl+0x3b4/0x530)
[<80130a2c>] (do_vfs_ioctl+0x3b4/0x530) from [<80130bdc>] (sys_ioctl+0x34/0x60)
[<80130bdc>] (sys_ioctl+0x34/0x60) from [<80044840>] (ret_fast_syscall+0x0/0x30)
---[ end trace f2579cdd61371937 ]---
------------[ cut here ]------------
WARNING: at drivers/mmc/core/core.c:711 mmc_release_host+0x38/0x3c()
Modules linked in: wl12xx_sdio wl12xx inova_spi spi_slave_imx flex_common adc_spi power_mgr flexcan
[<8004b304>] (unwind_backtrace+0x0/0xf4) from [<8007b478>] (warn_slowpath_common+0x54/0x64)
[<8007b478>] (warn_slowpath_common+0x54/0x64) from [<8007b524>] (warn_slowpath_null+0x1c/0x24)
[<8007b524>] (warn_slowpath_null+0x1c/0x24) from [<803b9fe0>] (mmc_release_host+0x38/0x3c)
[<803b9fe0>] (mmc_release_host+0x38/0x3c) from [<7f04b1b0>] (wl1271_sdio_set_power+0x24/0xc0 [wl12xx_sdio])
[<7f04b1b0>] (wl1271_sdio_set_power+0x24/0xc0 [wl12xx_sdio]) from [<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx])
[<7f028dd4>] (wl1271_op_add_interface+0x11c/0x280 [wl12xx]) from [<80558af4>] (ieee80211_do_open+0x4bc/0x624)
[<80558af4>] (ieee80211_do_open+0x4bc/0x624) from [<8046a18c>] (__dev_open+0x98/0xec)
[<8046a18c>] (__dev_open+0x98/0xec) from [<8046a3b8>] (__dev_change_flags+0x84/0x134)
[<8046a3b8>] (__dev_change_flags+0x84/0x134) from [<8046a4d4>] (dev_change_flags+0x10/0x48)
[<8046a4d4>] (dev_change_flags+0x10/0x48) from [<804c0278>] (devinet_ioctl+0x688/0x7a4)
[<804c0278>] (devinet_ioctl+0x688/0x7a4) from [<80456a14>] (sock_ioctl+0x118/0x260)
[<80456a14>] (sock_ioctl+0x118/0x260) from [<80130a2c>] (do_vfs_ioctl+0x3b4/0x530)
[<80130a2c>] (do_vfs_ioctl+0x3b4/0x530) from [<80130bdc>] (sys_ioctl+0x34/0x60)
[<80130bdc>] (sys_ioctl+0x34/0x60) from [<80044840>] (ret_fast_syscall+0x0/0x30)
---[ end trace f2579cdd61371938 ]---
in wl12xx_set_power delay added on=0
shabeer in dri/host/mmc/sdhci--imx.c
wl1271: ERROR firmware boot failed despite 3 retries
ifconfig: SIOCSIFFLAGS: Resource temporarily unavailable
root@imx6qsabresd:~# 
We are trying to port TiWi-BLE (WL1271) module in to imx6 processor. The BSP used is downloaded from freescale and the kernel version is 3.0.35.

Initially we face lot of issues. After refer the TI forum and look in to the wl12xx driver code we found some mismatches with our hardware. The WLAN_IRQ line used is negative logic. So we modify the function  wl1271_probe () in the file drivers/net/wireless/wl12xx/sdio.c. We just added                                                                    "irqflags = IRQF_TRIGGER_FALLING" before the function request_threaded_irq(). After this change the module is up and we are able to configure as both client and Access Point. ping command is also tested in the client mode.
    
 But the problem is that the module is up only if we comment the three lines in the function wl1271_sdio_power_on() on the file sdio.c,which  is shown below
        
    /* Make sure the card will not be powered off by runtime PM */
    ret = pm_runtime_get_sync(&func->dev);
    if (ret < 0)
          goto out;

    If we uncomment this code snippet we got some error messages, the log file is also attached.
    
    Could somebody help me?
    
    Best regards
    Shabeer

  • Hi Shabeer,

    It looks to me that you are not using the latest wl12xx release. Please confirm your release.
    The latest release is: ol_R5.SP7.01.

    The build instructions can be found at: https://github.com/TI-ECS/build-utilites/blob/master/wl12xx_build.sh

    Regards,
    Gigi Joseph.

  • Hi Gigi Joseph,

    How we know the release version of wl12xx driver? We got the driver from Free scale BSP(kernel version 3.0.35).

    if we give the "ifconfig wlan0 up" command we got the message -- wl1271: firmware booted (Rev 6.1.5.50.74)

    Also if we setup the module in  Access point mode the message is  -- wl1271: firmware booted (Rev 6.2.1.0.54)

    Is the driver islatest ?

    Regards

    Shabeer

  • Hi Shabeer,

    No, it is a very old release that you are using.

    To know the driver/firmware version, you can follow the below page:
    http://processors.wiki.ti.com/index.php/WL12xx_NLCP_Driver_Debug

    As I said earlier, you need to use the build script to build the correct version.

    Regards,
    Gigi Joseph.

  • Hi Gigi Joseph,

    Thanks for your support. We done based on the build script, it is working now...

    Regards

    Shabeer

  • Hi Gigi Joseph,

    Now we are facing some issues in Calibration procedure.

    Calibration is really required? without calibration,  we are able to configure the wifi module as both host and client. communication is also possible...

    I am attaching the error messages also? How can i clear this error?

    Regards

    Shabeer

    shabeer wl1271_init 1.0 sdio.c
    in wl12xx_set_power delay added on=1
    wl12xx: shabeer wl12xx_probe ****** SET irqflags=IRQF_TRIGGER_FALLING******** main.c
    
    add wake up source irq 103
    shabeer wl12xx_sdio_power_on sdio.c
    in wl12xx_set_power delay added on=1
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    shabeer wl12xx_sdio_power_off sdio.c
    in wl12xx_set_power delay added on=0
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=0
    wl12xx: loaded
    shabeer wl1271_init ret=ba452000 in sdio_register_driver sdio.c
    wl12xx: power up
    shabeer wl12xx_sdio_power_on sdio.c
    in wl12xx_set_power delay added on=1
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=1
    shabeer in dri/host/mmc/sdhci--imx.c
    wl12xx: firmware booted in PLT mode (Rev 6.3.10.0.136)
    wl12xx: ERROR command execute failure 2
    ------------[ cut here ]------------
    WARNING: at /home/flex/shabeer/wifi_git/compat-wireless/drivers/net/wireless/wl12xx/main.c:1432 wl12xx_queue_recovery_work+0x40/0x98 [wl12xx]()
    Modules linked in: wl12xx_sdio wl12xx mac80211 compat cfg80211
    [<8006597c>] (unwind_backtrace+0x0/0x140) from [<805d8398>] (dump_stack+0x20/0x24)
    [<805d8398>] (dump_stack+0x20/0x24) from [<8009e458>] (warn_slowpath_common+0x64/0x74)
    [<8009e458>] (warn_slowpath_common+0x64/0x74) from [<8009e524>] (warn_slowpath_null+0x2c/0x34)
    [<8009e524>] (warn_slowpath_null+0x2c/0x34) from [<7f0cde84>] (wl12xx_queue_recovery_work+0x40/0x98 [wl12xx])
    [<7f0cde84>] (wl12xx_queue_recovery_work+0x40/0x98 [wl12xx]) from [<7f0d15b4>] (wl1271_cmd_send+0x98/0x560 [wl12xx])
    [<7f0d15b4>] (wl1271_cmd_send+0x98/0x560 [wl12xx]) from [<7f0d2904>] (wl1271_cmd_test+0x5c/0xb0 [wl12xx])
    [<7f0d2904>] (wl1271_cmd_test+0x5c/0xb0 [wl12xx]) from [<7f0e6a00>] (wl1271_tm_cmd+0x1a8/0x584 [wl12xx])
    [<7f0e6a00>] (wl1271_tm_cmd+0x1a8/0x584 [wl12xx]) from [<7f05baac>] (ieee80211_testmode_cmd+0x34/0x50 [mac80211])
    [<7f05baac>] (ieee80211_testmode_cmd+0x34/0x50 [mac80211]) from [<7f009578>] (nl80211_testmode_do+0x5c/0x78 [cfg80211])
    [<7f009578>] (nl80211_testmode_do+0x5c/0x78 [cfg80211]) from [<805106b8>] (genl_rcv_msg+0x224/0x268)
    [<805106b8>] (genl_rcv_msg+0x224/0x268) from [<8050fc40>] (netlink_rcv_skb+0xbc/0xd0)
    [<8050fc40>] (netlink_rcv_skb+0xbc/0xd0) from [<80510488>] (genl_rcv+0x38/0x44)
    [<80510488>] (genl_rcv+0x38/0x44) from [<8050f570>] (netlink_unicast+0x2b0/0x308)
    [<8050f570>] (netlink_unicast+0x2b0/0x308) from [<8050f934>] (netlink_sendmsg+0x2bc/0x34c)
    [<8050f934>] (netlink_sendmsg+0x2bc/0x34c) from [<804d5d34>] (sock_sendmsg+0xac/0xd0)
    [<804d5d34>] (sock_sendmsg+0xac/0xd0) from [<804d7938>] (__sys_sendmsg+0x2ec/0x304)
    [<804d7938>] (__sys_sendmsg+0x2ec/0x304) from [<804d8530>] (sys_sendmsg+0x4c/0x7c)
    [<804d8530>] (sys_sendmsg+0x4c/0x7c) from [<8005da80>] (ret_fast_syscall+0x0/0x30)
    ---[ end trace af24d1645ec36b6b ]---
    wl12xx: WARNING TEST command failed
    wl12xx: WARNING testmode cmd test failed: -5
    Fail to tune channelwl12xx: power down
    
    shabeer wl12xx_sdio_power_off sdio.c
    in wl12xx_set_power delay added on=0
    shabeer in dri/host/mmc/sdhci--imx.c
    in wl12xx_set_power delay added on=0
    shabeer wl1271_exit 1.0 sdio.c
    in wl12xx_set_power delay added on=1
    remove wake up source irq 103
    in wl12xx_set_power delay added on=0
    Calibration not complete. Removing half-baked nvs
    root@imx6qsabresd:~#

     

  • Hi Shabeer,

    wl12xx: ERROR command execute failure 2

    suggests a mismatch between driver/firmware(plt) versions.

    If you are using the ol_R5.SP7.01 release, the PLT fw version for the driver should be 6.3.10.0.137
    Please ensure that you are copying all the binaries generated by the build script to the target.

    Regards,
    Gigi Joseph.

  • Hi Gigi Joseph,

    From the script " https://github.com/TI-ECS/build-utilites/blob/master/wl12xx_build.sh" we just done wl12xx_build.sh wl12xx_modules install  and  wl12xx_build.sh firmware install only.

    The Driver and firmware version are shown below. Is it Latest one (PLT fw is 6.3.10.0.136)?

    root@imx6qsabresd:~# strings wl12xx.ko | grep ol_R
    ol_R5.SP4.01-2-g1aa2c8e
    ol_R5.SP4.01-2-g1aa2c8e
    root@imx6qsabresd:~# strings compat.ko | grep ol_R
    <6>Compat-wireless backport release: ol_R5.SP7.01
    <6>Backport based on wl12xx.git ol_R5.SP4.01-2-g1aa2c8e
    ol_R5.SP7.01
    ol_R5.SP4.01-2-g1aa2c8e
    root@imx6qsabresd:~# strings wl127x-fw-4-mr.bin | grep Rev
    Rev 6.5.7.0.46
    173369,69,release.c,ReadRevision,4|Firmware version: %0.4s%0.4s%0.4s%0.4s
    root@imx6qsabresd:~# strings wl127x-fw-4-plt.bin | grep Rev
    FRev 6.3.10.0.136
    root@imx6qsabresd:~# strings wl127x-fw-4-sr.bin | grep Rev
    FRev 6.3.10.0.136
    root@imx6qsabresd:~#strings wl1271-fw-multirole-plt.bin | grep Rev

    --
    root@imx6qsabresd:~#strings wl1271-fw-multirole-roc.bin | grep Rev
    FRev 6.3.3.0.79

    Regards,

    Shabeer

  • Hi Shabeer,

    No, its not the latest. Please try "./wl12xx_build.sh all build"
    Also, please modify gen_tag in script to "ol_R5.SP7.01" and try.

    Regards,
    Gigi Joseph.

  • Thanks Gigi .. Calibration is Success now....

    Also we are decide to upgrade the Linux kernel.  The current kernel version  used is 3.0.35  and we are upgraded to 3.10.17. The source code structure of  wl12xx chip was changed in 3.10. Do we need the wl12xx_build.sh script for compiling in 3.10 or the default 3.10 chip driver is the latest one?

    Regards

    Shabeer

  • Hi Shabeer,

    You must use the wl12xx_build.sh to compile the wl12xx drivers... But we have never tried building the wl12xx driver on the 3.10 kernel. So you might want to modify the source a bit to work with 3.10.

    Regards,
    Gigi Joseph.

  • Hi Gigi Joseph,

    I am out of office for the last three days. I have some doubts..

    1. wl12xx_build.sh is used for back porting a latest driver(3.2 series) in to the older kernel.is it write?. How can we use this  script for compiling the driver in 3.10 series. If we replace/modify the drivers/net/wireless/wl12xx, net/wireless/cfg80211,  net/mac80211 folders and also use the corresponding firmwares will it work in 3.10?

    2. I am not an expert in Linux kernel, i compare the vanilla kernel and free scale kernel(3.10 series) both are almost same,  my understanding is that the vanilla kernel contains the tested drivers only.Then why we need to use the wl12xx_build.sh script?. Is it because of driver-firmware combination?

    Regards

    Shabeer

  • Hi Shabeer,

    The latest wl12xx driver is not ported into the Linux mainline.
    This is why we use compat-wireless for build. The driver code downloaded by the wl12xx_build.sh script will be much newer than what you have in the vanilla kernel.

    So, like I told before, the build process remains the same - that is, using wl12xx_build.sh irrespective of which kernel you build it on. Of course, you will have to modify the "setup-env" parameters to reflect the new kernel.

    Regards,
    Gigi Joseph.

  • Hi Gigi joseph,

    We compiled the wl12xx driver using 3.10 kernel (after doing some changes on the source ). We just run the script after modifying the KLIB_BUILD variable on  "setup-env" file. Now we are trying to modify the board file changes. In 3.0 kernel the board file modifications are done based on " http://processors.wiki.ti.com/index.php/WL18xx_Platform_Integration_Guide". Since the 3.10 kernel using 'device tree concepts'  we don't no how to do the changes. Can you share any useful links / steps for modifying  the board files.

    Regards

    Shabeer

  • Hi Shabeer,

    I have the DT patches for WL8 - https://gforge.ti.com/gf/download/frsrelease/1161/6994/dt_pathces.zip
    Hopefully, it will help you.

    Regards,
    Gigi Joseph.

  • Thanks Gigi... It is very helpful for us..

    Also for the  power control mechanism we are using set_power function ( set and clear  WLAN_EN pin of wifi chip ) not the voltage regulator method. So do we need to implement the set_power  function or the above patches will take care about the power control operation?

    Regards

    Shabeer

  • Hi Gigi,

    We ported wifi chip driver in 3.10.17 freescale BSP. 

    But we not used the build script " https://github.com/TI-ECS/build-utilites/blob/master/wl12xx_build.sh" because nitrogen6x(i.mx6 based development board ) had already ported using the freescale BSP. we follow the same procedure.

    But doing calibration we are facing some issues.

    we try calibration based on the link " http://www.armadeus.com/wiki/index.php?title=Wl12xx_driver" . While run the command " calibrator plt calibrate dual" we got some error message as shown below.

    Unknown arch. Not setting nvs ver 2.1Calibrate ./new-nvs.bin
    Writing calibration data to ./new-nvs.bin��v
    File 8�v not exists
    Fail to prepare calibrated NVS file

    dmesg out:

    [ 8717.946030] wlcore: power up
    [ 8718.341512] wlcore: firmware booted in PLT mode PLT_ON (PLT 6.3.10.0.133)
    [ 8718.410034] wlcore: testmode cmd: radio status=0
    [ 8718.417257] wlcore: power down

    may i know what is the issue?

    Regards

    Shabeer

  • Hi Shabeer,

    I am not familiar with the link that you mentioned.
    Please follow this link: http://processors.wiki.ti.com/index.php/WL12xx_NLCP_Calibration_Process

    Command: calibrator plt autocalibrate <dev> <kernel mod> <ini> <nvs> <mac>

    Anyway, the error from your current run seems to be that the "new-nvs.bin" does not exist in the said location... But please try the above command.

    Regards,
    Gigi Joseph.

  • Hi Gigi Joseph,

    Is Calibration is really required? Without also the wifi chip is working...

    In 3.10 kernel,wifi diver source structure and driver names are different one. Then how can we follow the link? (http://processors.wiki.ti.com/index.php/WL12xx_NLCP_Calibration_Process )

    Regards

    Shabeer

  • Hi Shabeer,

    Yes, calibration is required. It is a one time process.
    The calibration tool is a user space utility. I don't think that the link will be irrelevant for kernel 3.10.

    Regards,
    Gigi Joseph.