X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=blobdiff_plain;f=package%2Fkernel%2Fmac80211%2Fpatches%2F542-ath9k_debugfs_diag.patch;h=e1b6ff17e81369c070736da0f4b0a27dc321d24c;hp=0a43af125864d220a4a6c5043566eaa9b55f72a8;hb=48198491496a719dab3d0a0d6cb54153a7682898;hpb=685ead7c3093dc0f64155f0dbd494e25dfb27e3e diff --git a/package/kernel/mac80211/patches/542-ath9k_debugfs_diag.patch b/package/kernel/mac80211/patches/542-ath9k_debugfs_diag.patch index 0a43af1258..e1b6ff17e8 100644 --- a/package/kernel/mac80211/patches/542-ath9k_debugfs_diag.patch +++ b/package/kernel/mac80211/patches/542-ath9k_debugfs_diag.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ath/ath9k/debug.c +++ b/drivers/net/wireless/ath/ath9k/debug.c -@@ -1930,6 +1930,50 @@ static const struct file_operations fops +@@ -1629,6 +1629,50 @@ static const struct file_operations fops #endif @@ -51,7 +51,7 @@ int ath9k_init_debug(struct ath_hw *ah) { struct ath_common *common = ath9k_hw_common(ah); -@@ -1956,6 +2000,8 @@ int ath9k_init_debug(struct ath_hw *ah) +@@ -1656,6 +1700,8 @@ int ath9k_init_debug(struct ath_hw *ah) debugfs_create_file("gpio_led", S_IWUSR, sc->debug.debugfs_phy, sc, &fops_gpio_led); #endif @@ -75,7 +75,7 @@ struct ath9k_hw_version { u32 magic; u16 devid; -@@ -767,6 +773,8 @@ struct ath_hw { +@@ -762,6 +768,8 @@ struct ath_hw { u32 rfkill_polarity; u32 ah_flags; @@ -84,17 +84,17 @@ bool reset_power_on; bool htc_reset_init; -@@ -1019,6 +1027,7 @@ void ath9k_hw_check_nav(struct ath_hw *a +@@ -1013,6 +1021,7 @@ void ath9k_hw_check_nav(struct ath_hw *a bool ath9k_hw_check_alive(struct ath_hw *ah); bool ath9k_hw_setpower(struct ath_hw *ah, enum ath9k_power_mode mode); +void ath9k_hw_update_diag(struct ath_hw *ah); - #ifdef CPTCFG_ATH9K_DEBUGFS - void ath9k_debug_sync_cause(struct ath_common *common, u32 sync_cause); + /* Generic hw timer primitives */ + struct ath_gen_timer *ath_gen_timer_alloc(struct ath_hw *ah, --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c -@@ -1863,6 +1863,20 @@ fail: +@@ -1735,6 +1735,20 @@ fail: return -EINVAL; } @@ -115,8 +115,8 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, struct ath9k_hw_cal_data *caldata, bool fastcc) { -@@ -2065,6 +2079,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st - } +@@ -1940,6 +1954,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st + ar9003_hw_disable_phy_restart(ah); ath9k_hw_apply_gpio_override(ah); + ath9k_hw_update_diag(ah); @@ -125,8 +125,8 @@ REG_SET_BIT(ah, AR_BTCOEX_WL_LNADIV, AR_BTCOEX_WL_LNADIV_FORCE_ON); --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c -@@ -571,6 +571,11 @@ irqreturn_t ath_isr(int irq, void *dev) - ath9k_hw_getisr(ah, &status); /* NB: clears ISR too */ +@@ -602,6 +602,11 @@ irqreturn_t ath_isr(int irq, void *dev) + ath9k_debug_sync_cause(sc, sync_cause); status &= ah->imask; /* discard unasked-for bits */ + if (test_bit(ATH_DIAG_TRIGGER_ERROR, &ah->diag)) {