1. 26 6月, 2014 1 次提交
    • A
      mwifiex: add firmware dump feature for PCIe · 92c2538f
      Amitkumar Karwar 提交于
      Firmware dump feature is added for PCIe based chipsets which can
      be used with the help of ethtool commands.
      
      1) Trigger firmware dump operation:
      ethtool --set-dump mlan0 0xff
      
      When the operation is completed, udev event will be sent to
      trigger external application.
      
      2) Following udev rule can be used to get the data from ethtool:
      DRIVER=="mwifiex_pcie", ACTION=="change", RUN+="/sbin/mwifiex_pcie_fw_dump.sh"
      
      mwifiex_pcie_fw_dump.sh: #!/bin/bash
      ethtool --set-dump mlan0 0
      ethtool --get-dump mlan0
      ethtool --get-dump mlan0 data /tmp/ITCM.log
      
      ethtool --set-dump mlan0 1
      ethtool --get-dump mlan0
      ethtool --get-dump mlan0 data /tmp/DTCM.log
      
      ethtool --set-dump mlan0 2
      ethtool --get-dump mlan0
      ethtool --get-dump mlan0 data /tmp/SQRAM.log
      
      ethtool --set-dump mlan0 3
      ethtool --get-dump mlan0
      ethtool --get-dump mlan0 data /tmp/IRAM.log
      Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: NBing Zhao <bzhao@marvell.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      92c2538f
  2. 23 6月, 2014 1 次提交
  3. 21 6月, 2014 1 次提交
  4. 20 6月, 2014 3 次提交
  5. 30 5月, 2014 4 次提交
  6. 23 5月, 2014 6 次提交
  7. 19 5月, 2014 1 次提交
  8. 17 5月, 2014 2 次提交
  9. 08 5月, 2014 3 次提交
  10. 25 4月, 2014 1 次提交
  11. 23 4月, 2014 14 次提交
  12. 16 4月, 2014 2 次提交
  13. 01 4月, 2014 1 次提交
    • A
      mwifiex: fix spinlock bad magic bug · a7488c79
      Amitkumar Karwar 提交于
      [ 6630.450908] BUG: spinlock bad magic on CPU#1,
                     ksdioirqd/mmc1/355
      [ 6630.450914] Unable to handle kernel NULL pointer dereference
                     at virtual address 0000004f
      [ 6630.450919] pgd = ecbd8000
      [ 6630.450926] [0000004f] *pgd=00000000
      [ 6630.450936]  lock: 0xeea4ab08, .magic: 00000000,
                     .owner: <none>/-1, .owner_cpu: 0
      [ 6630.450939] Backtrace:
      [ 6630.450956] [<c010d354>] (unwind_backtrace+0x0/0x118) from
                     [<c060c238>] (dump_stack+0x28/0x30)
      [ 6630.450960] Internal error: Oops: 5 [#1] SMP ARM
      [ 6630.450964] Modules linked in: uvcvideo videobuf2_vmalloc
      [ 6630.450980] [<c060c238>] (dump_stack+0x28/0x30) from
                     [<c0315ab4>] (spin_dump+0x80/0x94)
      [ 6630.450988] [<c0315ab4>] (spin_dump+0x80/0x94) from
                     [<c0315af4>] (spin_bug+0x2c/0x30)
      [ 6630.450996] [<c0315af4>] (spin_bug+0x2c/0x30) from
                     [<c0315b80>] (do_raw_spin_lock+0x28/0x15c)
      [ 6630.451004] [<c0315b80>] (do_raw_spin_lock+0x28/0x15c) from
                     [<c0610c24>] (_raw_spin_lock_irqsave+0x20/0x28)
      [ 6630.451016] [<c0610c24>] (_raw_spin_lock_irqsave+0x20/0x28)
                     from [<bf07a7f4>] (mwifiex_exec_next_cmd
                                        +0x6c/0x45c [mwifiex])
      [ 6630.451030] [<bf07a7f4>] (mwifiex_exec_next_cmd+0x6c/0x45c
                     [mwifiex]) from [<bf07834c>]
                     (mwifiex_main_process+0x2c8/0x464 [mwifiex])
      [ 6630.451047] [<bf07834c>] (mwifiex_main_process+0x2c8/0x464
                     [mwifiex]) from [<bf0a093c>]
                     (mwifiex_sdio_interrupt+0xc8/0x1cc [mwifiex_sdio]
      [ 6630.451064] [<bf0a093c>] (mwifiex_sdio_interrupt+0xc8/0x1cc
                     [mwifiex_sdio]) from [<c04bbde0>]
                     (sdio_irq_thread+0x178/0x31c)
      [ 6630.451079] [<c04bbde0>] (sdio_irq_thread+0x178/0x31c) from
                     [<c0145514>] (kthread+0xc8/0xd8)
      [ 6630.451095] [<c0145514>] (kthread+0xc8/0xd8) from
                     [<c0106118>] (ret_from_fork+0x14/0x20)
      
      This bug has introduced/exposed due to recent patch in which we
      cancel pending commands before suspend (using hs_enabling flag).
      The NULL pointer is dereferenced when both
      mwifiex_cancel_all_pending_cmd() and mwifiex_exec_next_cmd()
      try to access cmd pending queue simultaneously.
      Signed-off-by: NAmitkumar Karwar <akarwar@marvell.com>
      Signed-off-by: NBing Zhao <bzhao@marvell.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a7488c79