From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eduardo Abinader Date: Thu, 8 Sep 2016 15:08:32 +0200 Subject: [ath9k-devel] TX99 unreliable start sequence In-Reply-To: References: Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: ath9k-devel@lists.ath9k.org The reason behind that, I think, is due to the fact that you have to echo 1 > tx99_power, before setting tx99. Eduardo On Wed, Sep 7, 2016 at 10:07 PM, Mathieu Slabbinck wrote: > Hi, > > I was looking into the TX99 module recently and found that it was not always > starting properly. > If for example echo 1 > tx99 is done, the wireless module would not start > transmitting in all attempts. Even though a cat of tx99 is responding with > 1. > Do the same command again (without modifying anything else) and the odds > increase of the module starting to transmit... > > Since this was something annoying, I was investigating the write_file_tx99 > function which seems to be the cause of the improper handling. > I've created the patch below and it responds much more reliable. Each > request is properly sending out RF waves. > > --- a/drivers/net/wireless/ath/ath9k/tx99.c > +++ b/drivers/net/wireless/ath/ath9k/tx99.c > @@ -191,23 +191,14 @@ static ssize_t write_file_tx99(struct file *file, > const char __user *user_buf, > if (strtobool(buf, &start)) > return -EINVAL; > > - if (start == sc->tx99_state) { > - if (!start) > - return count; > - ath_dbg(common, XMIT, "Resetting TX99\n"); > - ath9k_tx99_deinit(sc); > - } > - > - if (!start) { > - ath9k_tx99_deinit(sc); > - return count; > - } > - > - r = ath9k_tx99_init(sc); > - if (r) > - return r; > - > - return count; > + if (start) { > + ath9k_tx99_deinit(sc); > + r = ath9k_tx99_init(sc); > + } > + else { > + ath9k_tx99_deinit(sc); > + } > + return count; > } > > I'm now just wondering if anyone knows why this piece of code was made this > way the first place, as I'm sure it had a purpose... > > Kr > > Mathieu > > _______________________________________________ > ath9k-devel mailing list > ath9k-devel at lists.ath9k.org > https://lists.ath9k.org/mailman/listinfo/ath9k-devel >