summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlegacy/common.c
diff options
context:
space:
mode:
authorStanislaw Gruszka2012-02-13 11:23:08 +0100
committerJohn W. Linville2012-02-22 20:51:11 +0100
commitb6603036ad87244bd39ed7bc0612009df7694f5e (patch)
tree80a8f9a672a5ee41ea4f3ac5d1490fa2b7ac579d /drivers/net/wireless/iwlegacy/common.c
parentrtlwifi: rtl8192se firmware load can overflow target buffer (diff)
downloadkernel-qcow2-linux-b6603036ad87244bd39ed7bc0612009df7694f5e.tar.gz
kernel-qcow2-linux-b6603036ad87244bd39ed7bc0612009df7694f5e.tar.xz
kernel-qcow2-linux-b6603036ad87244bd39ed7bc0612009df7694f5e.zip
iwlegacy: dump stack when fail to gain access to the device
Print dump stack when the device is not responding. This should give some more clue about the reason of failure. Also change the message we print, since "MAC in deep sleep" is kinda confusing. On the way add unlikely(), as fail to gain NIC access is hmm ... unlikely. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlegacy/common.c')
-rw-r--r--drivers/net/wireless/iwlegacy/common.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlegacy/common.c b/drivers/net/wireless/iwlegacy/common.c
index 04ec38e5eaaf..3900967a79f6 100644
--- a/drivers/net/wireless/iwlegacy/common.c
+++ b/drivers/net/wireless/iwlegacy/common.c
@@ -111,9 +111,10 @@ _il_grab_nic_access(struct il_priv *il)
_il_poll_bit(il, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_VAL_MAC_ACCESS_EN,
(CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY |
CSR_GP_CNTRL_REG_FLAG_GOING_TO_SLEEP), 15000);
- if (ret < 0) {
+ if (unlikely(ret < 0)) {
val = _il_rd(il, CSR_GP_CNTRL);
- IL_ERR("MAC is in deep sleep!. CSR_GP_CNTRL = 0x%08X\n", val);
+ WARN_ONCE(1, "Timeout waiting for ucode processor access "
+ "(CSR_GP_CNTRL 0x%08x)\n", val);
_il_wr(il, CSR_RESET, CSR_RESET_REG_FLAG_FORCE_NMI);
return -EIO;
}