Message ID | 1459545132-11295-1-git-send-email-greearb@candelatech.com (mailing list archive) |
---|---|
State | Accepted |
Commit | de0170beaa88bc5d7210a72db7cd5738a59bc23d |
Delegated to: | Kalle Valo |
Headers | show |
Hi Ben, On Fri, Apr 01, 2016 at 02:12:08PM -0700, greearb@candelatech.com wrote: > From: Ben Greear <greearb@candelatech.com> > > Otherwise, the txrx-compl-task may access some bad memory? good to mention when this happens, will be helpful ifsome one recreates the issue and matches your call trace > > Signed-off-by: Ben Greear <greearb@candelatech.com> > --- > drivers/net/wireless/ath/ath10k/htt_tx.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c > index 07b960e..58e88d3 100644 > --- a/drivers/net/wireless/ath/ath10k/htt_tx.c > +++ b/drivers/net/wireless/ath/ath10k/htt_tx.c > @@ -376,6 +376,8 @@ void ath10k_htt_tx_free(struct ath10k_htt *htt) > { > int size; > > + tasklet_kill(&htt->txrx_compl_task); > + > idr_for_each(&htt->pending_tx, ath10k_htt_tx_clean_up_pending, htt->ar); > idr_destroy(&htt->pending_tx); > > -- > 2.4.3 regards, shafi > > > _______________________________________________ > ath10k mailing list > ath10k@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/ath10k
On 05/09/2016 11:48 PM, Mohammed Shafi Shajakhan wrote: > Hi Ben, > > On Fri, Apr 01, 2016 at 02:12:08PM -0700, greearb@candelatech.com wrote: >> From: Ben Greear <greearb@candelatech.com> >> >> Otherwise, the txrx-compl-task may access some bad memory? > > good to mention when this happens, will be helpful ifsome one recreates > the issue and matches your call trace The backtraces were all over the place because the driver was writing to memory after it was freed, so I am not sure they are worth while. I'm sure I posted some to the mailing lists around the time where I was working on this, but since I was fighting several different problems, hard to know exactly what was what. Thanks, Ben >> Signed-off-by: Ben Greear <greearb@candelatech.com> >> --- >> drivers/net/wireless/ath/ath10k/htt_tx.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c >> index 07b960e..58e88d3 100644 >> --- a/drivers/net/wireless/ath/ath10k/htt_tx.c >> +++ b/drivers/net/wireless/ath/ath10k/htt_tx.c >> @@ -376,6 +376,8 @@ void ath10k_htt_tx_free(struct ath10k_htt *htt) >> { >> int size; >> >> + tasklet_kill(&htt->txrx_compl_task); >> + >> idr_for_each(&htt->pending_tx, ath10k_htt_tx_clean_up_pending, htt->ar); >> idr_destroy(&htt->pending_tx); >> >> -- >> 2.4.3 > > regards, > shafi > >> >> >> _______________________________________________ >> ath10k mailing list >> ath10k@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/ath10k > > _______________________________________________ > ath10k mailing list > ath10k@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/ath10k >
> > > >On Fri, Apr 01, 2016 at 02:12:08PM -0700, greearb@candelatech.com wrote: > >>From: Ben Greear <greearb@candelatech.com> > >> > >>Otherwise, the txrx-compl-task may access some bad memory? > > > >good to mention when this happens, will be helpful ifsome one recreates > >the issue and matches your call trace > > The backtraces were all over the place because the driver was writing to > memory after it was freed, so I am not sure they are worth while. I'm sure I posted > some to the mailing lists around the time where I was working on this, but since > I was fighting several different problems, hard to know exactly what was what. [shafi] sure Ben, lets wait for the comments from ath10k reviewers. > > Thanks, > Ben > > >>Signed-off-by: Ben Greear <greearb@candelatech.com> > >>--- > >> drivers/net/wireless/ath/ath10k/htt_tx.c | 2 ++ > >> 1 file changed, 2 insertions(+) > >> > >>diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c > >>index 07b960e..58e88d3 100644 > >>--- a/drivers/net/wireless/ath/ath10k/htt_tx.c > >>+++ b/drivers/net/wireless/ath/ath10k/htt_tx.c > >>@@ -376,6 +376,8 @@ void ath10k_htt_tx_free(struct ath10k_htt *htt) > >> { > >> int size; > >> > >>+ tasklet_kill(&htt->txrx_compl_task); > >>+ > >> idr_for_each(&htt->pending_tx, ath10k_htt_tx_clean_up_pending, htt->ar); > >> idr_destroy(&htt->pending_tx); > >> > >>-- > >>2.4.3 > > > >regards, > >shafi > > > >> > >> > >>_______________________________________________ > >>ath10k mailing list > >>ath10k@lists.infradead.org > >>http://lists.infradead.org/mailman/listinfo/ath10k > > > >_______________________________________________ > >ath10k mailing list > >ath10k@lists.infradead.org > >http://lists.infradead.org/mailman/listinfo/ath10k > > > > -- > Ben Greear <greearb@candelatech.com> > Candela Technologies Inc http://www.candelatech.com
Ben Greear <greearb@candelatech.com> wrote: > From: Ben Greear <greearb@candelatech.com> > > Otherwise, the txrx-compl-task may access some bad memory? > > Signed-off-by: Ben Greear <greearb@candelatech.com> Thanks, 2 patches applied to ath-next branch of ath.git: de0170beaa88 ath10k: ensure txrx-compl-task is stopped when cleaning htt-tx 6d68f7900d25 ath10k: ensure peer_map references are cleaned up
diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c index 07b960e..58e88d3 100644 --- a/drivers/net/wireless/ath/ath10k/htt_tx.c +++ b/drivers/net/wireless/ath/ath10k/htt_tx.c @@ -376,6 +376,8 @@ void ath10k_htt_tx_free(struct ath10k_htt *htt) { int size; + tasklet_kill(&htt->txrx_compl_task); + idr_for_each(&htt->pending_tx, ath10k_htt_tx_clean_up_pending, htt->ar); idr_destroy(&htt->pending_tx);