1. 01 6月, 2013 1 次提交
  2. 18 3月, 2013 4 次提交
    • M
      ath6kl: Fix a debugfs crash for USB devices · 243c0280
      Mohammed Shafi Shajakhan 提交于
      Credit distribution stats is currently implemented
      only for SDIO. This fixes a crash in debugfs for
      USB interface.
      
      BUG: unable to handle kernel NULL pointer dereference at   (null)
      IP: [<f91c2048>] read_file_credit_dist_stats+0x38/0x330 [ath6kl_core]
      *pde = b62bd067
      Oops: 0000 [#1] SMP
      
      EIP: 0060:[<f91c2048>] EFLAGS: 00210246 CPU: 0
      EIP is at read_file_credit_dist_stats+0x38/0x330 [ath6kl_core]
      EAX: 00000000 EBX: e6f7a9c0 ECX: e7b148b8 EDX: 00000000
      ESI: 000000c8 EDI: e7b14000 EBP: e6e09f64 ESP: e6e09f30
      DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
      Process cat (pid: 4058, ti=e6e08000 task=e50cf230 task.ti=e6e08000)
      Stack:
      00008000 00000000 e6e09f64 c1132d3c 00004e71 e50cf230 00008000 089e4000
      e7b148b8 00000000 e6f7a9c0 00008000 089e4000 e6e09f8c c11331fc e6e09f98
      00000001 e6e09f7c f91c2010 e6e09fac e6f7a9c0 089e4877 089e4000 e6e09fac
      
      	Call Trace:
      	[<c1132d3c>] ? rw_verify_area+0x6c/0x120
      	[<c11331fc>] vfs_read+0x8c/0x160
      	[<f91c2010>] ? read_file_war_stats+0x130/0x130 [ath6kl_core]
      	[<c113330d>] sys_read+0x3d/0x70
      	[<c15755b4>] syscall_call+0x7/0xb
      	[<c1570000>] ? fill_powernow_table_pstate+0x127/0x127
      
      Cc: Ryan Hsu <ryanhsu@qca.qualcomm.com>
      Signed-off-by: NMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      243c0280
    • K
      ath6kl: add tracing support to debug message macros · aa8705fc
      Kalle Valo 提交于
      Now all log messages are sent through the tracing infrastruture as well.
      Tracing point doesn't follow debug_mask module parameter, instead it sends
      all debug messages, so once you enable ath6kl_log_dbg tracing point you will
      get a lot of messages. Needs to be discussed if this is sensible or not.
      The overhead should be small enough and we anyway include debug level as
      well so it's easy to filter in user space.
      
      I wasn't really sure what to do with ath6kl_dbg_dump() and for now decided
      that it also sends the buffer to user space. But most likely in the future
      ath6kl_dbg_dump() should go away in favor of using proper tracing points, but
      we will see.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      aa8705fc
    • K
      ath6kl: add tracing support to log functions · da01d53c
      Kalle Valo 提交于
      All log messages are now sent through tracing interface as well if
      ATH6KL_TRACING is enabled.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      da01d53c
    • K
      ath6kl: convert ath6kl_info/err/warn macros to real functions · d470b4bc
      Kalle Valo 提交于
      After this it's cleaner to add trace calls.
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      d470b4bc
  3. 23 4月, 2012 1 次提交
  4. 18 4月, 2012 1 次提交
  5. 13 4月, 2012 1 次提交
  6. 06 4月, 2012 1 次提交
    • S
      simple_open: automatically convert to simple_open() · 234e3405
      Stephen Boyd 提交于
      Many users of debugfs copy the implementation of default_open() when
      they want to support a custom read/write function op.  This leads to a
      proliferation of the default_open() implementation across the entire
      tree.
      
      Now that the common implementation has been consolidated into libfs we
      can replace all the users of this function with simple_open().
      
      This replacement was done with the following semantic patch:
      
      <smpl>
      @ open @
      identifier open_f != simple_open;
      identifier i, f;
      @@
      -int open_f(struct inode *i, struct file *f)
      -{
      (
      -if (i->i_private)
      -f->private_data = i->i_private;
      |
      -f->private_data = i->i_private;
      )
      -return 0;
      -}
      
      @ has_open depends on open @
      identifier fops;
      identifier open.open_f;
      @@
      struct file_operations fops = {
      ...
      -.open = open_f,
      +.open = simple_open,
      ...
      };
      </smpl>
      
      [akpm@linux-foundation.org: checkpatch fixes]
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Julia Lawall <Julia.Lawall@lip6.fr>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      234e3405
  7. 20 3月, 2012 1 次提交
  8. 13 3月, 2012 2 次提交
  9. 08 3月, 2012 2 次提交
  10. 07 3月, 2012 1 次提交
    • R
      ath6kl: Maintain the listen interval per VIF specific · 8f46fccd
      Raja Mani 提交于
      Firmware has the option to support the listen interval
      per vif specific. Fix this.
      
      Listen interval can be set by the TUs or by the number
      of beacons. Current code enables the user to configure
      the listen interval in the unit of 'number of beacons'
      using debugfs entry "listen_interval". Going forward,
      we need to alter the listen interval in the unit of TUs
      to get good power numbers while going to WOW suspend/resume.
      
      Allowing the user to change the listen interval in
      the unit of "number of beacons"  in debugfs and changing
      listen interval in wow suspend/resume in the unit of
      time (TUs) would lead us to confuse.
      
      This patch make sures the listen interval is changed only
      in the unit of time (TUs).
      Signed-off-by: NRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      8f46fccd
  11. 06 3月, 2012 1 次提交
    • V
      ath6kl: Fix kernel panic while receiving fwlog during boot · 068a4633
      Vasanthakumar Thiagarajan 提交于
      "ath6kl: Defer wiphy and netdev registration till the end of ath6kl_core_init()"
      causes kernel panic by accessing the unallocated debug resources during
      boot time. To fix this, split the debug initialization funtion into two,
      one initializes the debug resource and the other takes care of debugfs
      initialization. When this issue shows up the kernel crash dump would
      look like
      
       ath6kl_debug_fwlog_event+0x9c/0x10a
       [<c10666c9>] register_lock_class+0x57/0x288
       [<c1065cd3>] ? trace_hardirqs_on+0xb/0xd
       [<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
       [<c1066a8a>] __lock_acquire+0x96/0xbe5
       [<c106007b>] ? alarmtimer_suspend+0x80/0x127
       [<c10258da>] ? vprintk+0x394/0x3b1
       [<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
       [<c10676b3>] lock_acquire+0xda/0xf9
       [<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
       [<c1532ce3>] _raw_spin_lock+0x28/0x58
       [<f801f4c9>] ? ath6kl_debug_fwlog_event+0x9c/0x10a
       [<f801f4c9>] ath6kl_debug_fwlog_event+0x9c/0x10a
       [<f80310a4>] ath6kl_wmi_control_rx+0x69d/0xb50 [ath6kl_core]
       [<f802d2e1>] ? ath6kl_rx+0x3c/0x839 [ath6kl_core]
       [<f802d35d>] ath6kl_rx+0xb8/0x839 [ath6kl_core]
       [<c104b81e>] ? local_clock+0x2d/0x4e
       [<c102a0af>] ? _local_bh_enable_ip+0x94/0x98
       [<f802bfc0>] ? ath6kl_alloc_amsdu_rxbuf+0xb7/0xb7
       [<f8023b28>] ath6kl_htc_rxmsg_pending_handler+0x891/0x988 [ath6kl_core]
       [<f802bf00>] ? ath6kl_refill_amsdu_rxbufs+0x89/0x92
       [<f802d2a5>] ? aggr_timeout+0xed/0xed [ath6kl_core]
       [<f802bfc0>] ? ath6kl_alloc_amsdu_rxbuf+0xb7/0xb7
       [<f802c420>] ? ath6kl_tx_complete+0x376/0x376 [ath6kl_core]
       [<f8020e92>] ath6kl_hif_intr_bh_handler+0xf7/0x33e
       [<c138ab00>] ? mmc_host_disable+0x15/0x3a
       [<f8123b5c>] ath6kl_sdio_irq_handler+0x3c/0x90 [ath6kl_sdio]
       [<c1392f56>] sdio_irq_thread+0xb6/0x29c
       [<c1392ea0>] ? sdio_claim_irq+0x1cb/0x1cb
       [<c103d4c0>] kthread+0x67/0x6c
       [<c103d459>] ? __init_kthread_worker+0x42/0x42
       [<c153903a>] kernel_thread_helper+0x6/0xd
       BUG: unable to handle kernel NULL pointer dereference at
      EIP: [<f801f4d4>] ath6kl_debug_fwlog_event+0xa7/0x10a
      
      kvalo: rename new function to ath6kl_debug_init_fs() and add a comment
      why it's needed
      Reported-by: NKalle Valo <kvalo@qca.qualcomm.com>
      Signed-off-by: NVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      068a4633
  12. 01 3月, 2012 1 次提交
  13. 08 2月, 2012 3 次提交
  14. 02 2月, 2012 1 次提交
  15. 18 1月, 2012 3 次提交
  16. 12 1月, 2012 1 次提交
    • S
      ath6kl: Fix listen interval handling · 8232736d
      Sujith Manoharan 提交于
      This patch addresses a few problems with the commit:
      
      "ath6kl: Implement support for listen interval from userspace"
      
      * The debugfs file required for reading/writing the listen interval
        wasn't created. Fix this.
      
      * The interface index was being hardcoded to zero. Fix this.
      
      * Two separate parameters, "listen_interval_time and listen_interval_beacons"
        were being used. This fails to work as expected because the FW assigns
        higher precedence to "listen_interval_beacons" and "listen_interval_time"
        ends up being never used at all.
      
        To handle this, fix the host driver to exclusively use listen interval
        based on units of beacon intervals.
      
      To set the listen interval, a user would now do something like this:
      
      echo "10" > /sys/kernel/debug/ieee80211/*/ath6kl/listen_interval
      
      kvalo: fix two checkpatch warnings
      Signed-off-by: NSujith Manoharan <c_manoha@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      8232736d
  17. 24 11月, 2011 1 次提交
  18. 11 11月, 2011 14 次提交