hw.c (5e88ba6228e66741811992a6c1d7cf37195ed4be) hw.c (1e516ca7c9ceeeec4ed87f549a14bc3b73427f83)
1/*
2 * Copyright (c) 2008-2011 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES

--- 1642 unchanged lines hidden (view full) ---

1651 return false;
1652 }
1653
1654 ath_dbg(ath9k_hw_common(ah), RESET, "MAC Hang signature 1 found\n");
1655
1656 return true;
1657}
1658
1/*
2 * Copyright (c) 2008-2011 Atheros Communications Inc.
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES

--- 1642 unchanged lines hidden (view full) ---

1651 return false;
1652 }
1653
1654 ath_dbg(ath9k_hw_common(ah), RESET, "MAC Hang signature 1 found\n");
1655
1656 return true;
1657}
1658
1659void ath9k_hw_check_nav(struct ath_hw *ah)
1660{
1661 struct ath_common *common = ath9k_hw_common(ah);
1662 u32 val;
1663
1664 val = REG_READ(ah, AR_NAV);
1665 if (val != 0xdeadbeef && val > 0x7fff) {
1666 ath_dbg(common, BSTUCK, "Abnormal NAV: 0x%x\n", val);
1667 REG_WRITE(ah, AR_NAV, 0);
1668 }
1669}
1670EXPORT_SYMBOL(ath9k_hw_check_nav);
1671
1659bool ath9k_hw_check_alive(struct ath_hw *ah)
1660{
1661 int count = 50;
1662 u32 reg;
1663
1664 if (AR_SREV_9300(ah))
1665 return !ath9k_hw_detect_mac_hang(ah);
1666

--- 1606 unchanged lines hidden ---
1672bool ath9k_hw_check_alive(struct ath_hw *ah)
1673{
1674 int count = 50;
1675 u32 reg;
1676
1677 if (AR_SREV_9300(ah))
1678 return !ath9k_hw_detect_mac_hang(ah);
1679

--- 1606 unchanged lines hidden ---