void (*set_txdesc)(struct ath_hw *ah, void *ds,
--- a/drivers/net/wireless/ath/ath9k/link.c
+++ b/drivers/net/wireless/ath/ath9k/link.c
-@@ -371,9 +371,14 @@ void ath_ani_calibrate(unsigned long dat
+@@ -371,9 +371,15 @@ void ath_ani_calibrate(unsigned long dat
/* Perform calibration if necessary */
if (longcal || shortcal) {
+ int ret = ath9k_hw_calibrate(ah, ah->curchan, ah->rxchainmask,
+ longcal);
+ if (ret < 0) {
++ common->ani.caldone = 0;
+ ath9k_queue_reset(sc, RESET_TYPE_CALIBRATION);
+ return;
+ }