1. 13 Mar, 2012 1 commit
  2. 12 Mar, 2012 1 commit
  3. 07 Mar, 2012 16 commits
  4. 06 Mar, 2012 1 commit
    • Vasanthakumar Thiagarajan's avatar
      ath6kl: Fix kernel panic while receiving fwlog during boot · 068a4633
      Vasanthakumar Thiagarajan authored
      
      
      "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: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      Signed-off-by: default avatarVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      068a4633
  5. 05 Mar, 2012 2 commits
  6. 01 Mar, 2012 1 commit
    • Raja Mani's avatar
      ath6kl: Fix random system lockup · d1f41597
      Raja Mani authored
      
      
      The commit "ath6kl: Use a mutex_lock to avoid
      race in diabling and handling irq" introduces a
      state where ath6kl_sdio_irq_handler() would be waiting
      to claim the sdio function for receive indefinitely
      when things happen in the following order.
      
      ath6kl_sdio_irq_handler()
      	- aquires mtx_irq
      	- sdio_release_host()
      					ath6kl_sdio_irq_disable()
      						- sdio_claim_host()
      						- sleep on mtx_irq
      	ath6kl_hif_intr_bh_handler()
      		- (indefinitely) wait for the sdio
      		  function to be released to exclusively claim
      		  it again for receive operation.
      
      Fix this by replacing the mtx_irq with an atomic
      variable and a wait_queue.
      
      kvalo: add ath6kl_sdio_is_on_irq() due to open parenthesis alignment
      Signed-off-by: default avatarRaja Mani <rmani@qca.qualcomm.com>
      Signed-off-by: default avatarVasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
      d1f41597
  7. 29 Feb, 2012 18 commits