1. 10 8月, 2013 2 次提交
  2. 02 8月, 2013 2 次提交
  3. 01 8月, 2013 3 次提交
  4. 27 7月, 2013 3 次提交
  5. 24 7月, 2013 19 次提交
  6. 23 7月, 2013 2 次提交
    • S
      wireless: Convert mwifiex/pcie to dev_pm_ops from legacy pm_ops · 3266d732
      Shuah Khan 提交于
      Convert the mwifiex/pci driver to use dev_pm_ops for power management and
      remove Legacy PM handling. This change re-uses existing suspend and resume
      interfaces for dev_pm_ops, and changes CONFIG_PM ifdefs to CONFIG_PM_SLEEP
      as the driver does not support run-time PM.
      Signed-off-by: NShuah Khan <shuah.kh@samsung.com>
      Acked-by: NBing Zhao <bzhao@marvell.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3266d732
    • D
      mwifiex: fix IRQ enable/disable · 232fde06
      Daniel Drake 提交于
      During tear down (e.g. mwifiex_sdio_remove during system suspend),
      mwifiex left IRQs enabled for a significant period of time when it was
      unable to handle them correctly. This caused interrupt storms and
      interfered with the bluetooth interface on the same SDIO card.
      
      Solve this by disabling interrupts at the point when they can no longer
      be handled correctly, which is at the start of mwifiex_remove_card().
      
      For cleanliness, we now enable interrupts in the mwifiex_add_card() path,
      to be symmetrical with the disabling of interrupts. We also couple the
      registration of the sdio IRQ handler with the actual enable/disable of
      interrupts at the hardware level.
      
      I also removed a write to this register in mwifiex_init_sdio which seemed
      pointless and won't cause any ill effects now that we only register
      the SDIO IRQ handler when we are ready to accept interrupts.
      
      Includes some corrections from Amitkumar Karwar.
      Signed-off-by: NDaniel Drake <dsd@laptop.org>
      Acked-by: NBing Zhao <bzhao@marvell.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      232fde06
  7. 16 7月, 2013 1 次提交
  8. 20 6月, 2013 3 次提交
  9. 18 6月, 2013 2 次提交
  10. 13 6月, 2013 2 次提交
  11. 12 6月, 2013 1 次提交
    • M
      mwifiex: debugfs: Fix out of bounds array access · f873ded2
      Mark A. Greer 提交于
      When reading the contents of '/sys/kernel/debug/mwifiex/p2p0/info',
      the following panic occurs:
      
      $ cat /sys/kernel/debug/mwifiex/p2p0/info
      Unable to handle kernel paging request at virtual address 74706164
      pgd = de530000
      [74706164] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      Modules linked in: phy_twl4030_usb omap2430 musb_hdrc mwifiex_sdio mwifiex
      CPU: 0 PID: 1635 Comm: cat Not tainted 3.10.0-rc1-00010-g1268390 #1
      task: de16b6c0 ti: de048000 task.ti: de048000
      PC is at strnlen+0xc/0x4c
      LR is at string+0x3c/0xf8
      pc : [<c02c123c>]    lr : [<c02c2d1c>]    psr: a0000013
      sp : de049e10  ip : c06efba0  fp : de6d2092
      r10: bf01a260  r9 : ffffffff  r8 : 74706164
      r7 : 0000ffff  r6 : ffffffff  r5 : de6d209c  r4 : 00000000
      r3 : ff0a0004  r2 : 74706164  r1 : ffffffff  r0 : 74706164
      Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      Control: 10c5387d  Table: 9e530019  DAC: 00000015
      Process cat (pid: 1635, stack limit = 0xde048240)
      Stack: (0xde049e10 to 0xde04a000)
      9e00:                                     de6d2092 00000002 bf01a25e de6d209c
      9e20: de049e80 c02c438c 0000000a ff0a0004 ffffffff 00000000 00000000 de049e48
      9e40: 00000000 2192df6d ff0a0004 ffffffff 00000000 de6d2092 de049ef8 bef3cc00
      9e60: de6b0000 dc358000 de6d2000 00000000 00000003 c02c45a4 bf01790c bf01a254
      9e80: 74706164 bf018698 00000000 de59c3c0 de048000 de049f80 00001000 bef3cc00
      9ea0: 00000008 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      9ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      9ee0: 00000000 00000000 00000000 00000001 00000000 00000000 6669776d 20786569
      9f00: 20302e31 2e343128 392e3636 3231702e 00202933 00000000 00000003 c0294898
      9f20: 00000000 00000000 00000000 00000000 de59c3c0 c0107c04 de554000 de59c3c0
      9f40: 00001000 bef3cc00 de049f80 bef3cc00 de049f80 00000000 00000003 c0108a00
      9f60: de048000 de59c3c0 00000000 00000000 de59c3c0 00001000 bef3cc00 c0108b60
      9f80: 00000000 00000000 00001000 bef3cc00 00000003 00000003 c0014128 de048000
      9fa0: 00000000 c0013f80 00001000 bef3cc00 00000003 bef3cc00 00001000 00000000
      9fc0: 00001000 bef3cc00 00000003 00000003 00000001 00000001 00000001 00000003
      9fe0: 00000000 bef3cbdc 00011984 b6f1127c 60000010 00000003 18dbdd2c 7f7bfffd
      [<c02c123c>] (strnlen+0xc/0x4c) from [<c02c2d1c>] (string+0x3c/0xf8)
      [<c02c2d1c>] (string+0x3c/0xf8) from [<c02c438c>] (vsnprintf+0x1e8/0x3e8)
      [<c02c438c>] (vsnprintf+0x1e8/0x3e8) from [<c02c45a4>] (sprintf+0x18/0x24)
      [<c02c45a4>] (sprintf+0x18/0x24) from [<bf01790c>] (mwifiex_info_read+0xfc/0x3e8 [mwifiex])
      [<bf01790c>] (mwifiex_info_read+0xfc/0x3e8 [mwifiex]) from [<c0108a00>] (vfs_read+0xb0/0x144)
      [<c0108a00>] (vfs_read+0xb0/0x144) from [<c0108b60>] (SyS_read+0x44/0x70)
      [<c0108b60>] (SyS_read+0x44/0x70) from [<c0013f80>] (ret_fast_syscall+0x0/0x30)
      Code: e12fff1e e3510000 e1a02000 0a00000d (e5d03000)
      ---[ end trace ca98273dc605a04f ]---
      
      The panic is caused by the mwifiex_info_read() routine assuming that
      there can only be four modes (0-3) which is an invalid assumption.
      For example, when testing P2P, the mode is '8' (P2P_CLIENT) so the
      code accesses data beyond the bounds of the bss_modes[] array which
      causes the panic.  Fix this by updating bss_modes[] to support the
      current list of modes and adding a check to prevent the out-of-bounds
      access from occuring in the future when more modes are added.
      Signed-off-by: NMark A. Greer <mgreer@animalcreek.com>
      Acked-by: NBing Zhao <bzhao@marvell.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f873ded2