Davide Pesavento wrote:
> I have no experience in debugging kernel panics, but running gdb on
> vmlinux seems to point to the test_bit() call in ath_isr, which
> dereferences the "struct ath_common *common" pointer.
> 
> I looked around a bit and noticed that in ath9k/pci.c:ath_pci_probe(),
> the interrupt handler is registered with request_irq() before invoking
> ath9k_init_device(), which takes care of allocating the ath_hw
> structure. Therefore it might happen that an interrupt fires and
> ath_isr() tries to use the structure before it's allocated.

Please try with a recent kernel that contains these fixes
IRQ handling:

  commit 56bdbe0d6ac59c3eb17c2b9d715fb2e41467e354
  Author: Felix Fietkau <n...@openwrt.org>
  Date:   Sun Nov 30 21:58:30 2014 +0100

  ath9k: prevent early IRQs from accessing hardware

  commit ef739ab6aac38b25e473f418ecfe1fb433346fa1
  Author: Felix Fietkau <n...@openwrt.org>
  Date:   Sun Nov 30 21:58:31 2014 +0100

  ath9k: set ATH_OP_INVALID before disabling hardware

Sujith
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to