On Sun, Oct 03, 2010 at 10:37:18PM +0530, Felix Fietkau wrote: > static void ath9k_regwrite_flush(void *hw_priv) > { > struct ath_hw *ah = (struct ath_hw *) hw_priv; > @@ -397,6 +388,9 @@ static void ath9k_regwrite_flush(void *hw_priv) > u32 rsp_status; > int r; > > + if (!atomic_dec_and_test(&priv->wmi->mwrite_cnt)) > + return; > + FMU, Assume that mwrite_cnt > 1 and a reg_read happens after a flush whose value depends on issued reg_write, the above check skips reg_write. The buffered commands only issued either mwrite_cnt reaches zero or buffer reaches MAX limit. > > -- > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html