linux/drivers/net/wireless/ath/ath10k
Michal Kazior 32270b61b3 ath10k: fix device teardown
This fixes interrupt-related issue when no
interfaces were running thus the device was
considered powered down.

The power_down() function isn't really powering
down the device. It simply assumed it won't
interrupt. This wasn't true in some cases and
could lead to paging failures upon FW indication
interrupt (i.e. FW crash) because some structures
aren't allocated in that device state.

One reason for that was that ar_pci->started
wasn't reset. The other is interrupts should've
been masked when teardown starts.

The patch reorganized interrupt setup and makes
sure ar_pci->started is reset accordingly.

Reported-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2013-08-05 19:22:16 +03:00
..
bmi.c ath10k: reset BMI state upon init 2013-07-30 18:01:19 +03:00
bmi.h ath10k: reset BMI state upon init 2013-07-30 18:01:19 +03:00
ce.c ath10k: prevent using invalid ringbuffer indexes 2013-08-02 09:37:28 +03:00
ce.h
core.c ath10k: implement device recovery 2013-07-30 18:01:20 +03:00
core.h ath10k: implement get_survey() 2013-08-02 09:35:21 +03:00
debug.c ath10k: create debugfs interface to trigger fw crash 2013-07-30 18:01:20 +03:00
debug.h
hif.h ath10k: decouple suspend code 2013-07-30 18:01:19 +03:00
htc.c ath10k: don't reset HTC endpoints unnecessarily 2013-07-30 18:01:21 +03:00
htc.h ath10k: prevent HTC from being used after stopping 2013-07-30 18:01:20 +03:00
htt_rx.c ath10k: implement rx checksum offloading 2013-08-02 09:28:39 +03:00
htt_tx.c ath10k: implement tx checksum offloading 2013-08-02 09:28:39 +03:00
htt.c ath10k: embed HTT struct inside ath10k 2013-07-30 18:01:18 +03:00
htt.h ath10k: embed HTT struct inside ath10k 2013-07-30 18:01:18 +03:00
hw.h
Kconfig
mac.c ath10k: zero arvif memory on add_interface() 2013-08-02 09:37:29 +03:00
mac.h ath10k: implement device recovery 2013-07-30 18:01:20 +03:00
Makefile
pci.c ath10k: fix device teardown 2013-08-05 19:22:16 +03:00
pci.h ath10k: fix typo in define name 2013-07-30 18:01:16 +03:00
rx_desc.h
targaddrs.h
trace.c
trace.h
txrx.c
txrx.h
wmi.c ath10k: implement get_survey() 2013-08-02 09:35:21 +03:00
wmi.h ath10k: implement get_survey() 2013-08-02 09:35:21 +03:00