All of lore.kernel.org
 help / color / mirror / Atom feed
* Proper way to do warm-reset from the driver?
@ 2014-03-14 22:04 Ben Greear
  2014-03-17  7:50 ` Kalle Valo
  0 siblings, 1 reply; 3+ messages in thread
From: Ben Greear @ 2014-03-14 22:04 UTC (permalink / raw)
  To: ath10k


On my firmware, I am often seeing 'tx not flushed' errors after bouncing
32 stations a few times.

It does not seem this error can ever be recovered because the
reference counting is messed up.

I am planning to attempt a warm reset in this case, in hopes it
will clear things up.

Is the preferred way to restart the nic just:

queue_work(ar->workqueue, &ar->restart_work);

?

Thanks,
Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Proper way to do warm-reset from the driver?
  2014-03-14 22:04 Proper way to do warm-reset from the driver? Ben Greear
@ 2014-03-17  7:50 ` Kalle Valo
  2014-03-17 16:05   ` Ben Greear
  0 siblings, 1 reply; 3+ messages in thread
From: Kalle Valo @ 2014-03-17  7:50 UTC (permalink / raw)
  To: Ben Greear; +Cc: ath10k

Ben Greear <greearb@candelatech.com> writes:

> On my firmware, I am often seeing 'tx not flushed' errors after bouncing
> 32 stations a few times.
>
> It does not seem this error can ever be recovered because the
> reference counting is messed up.
>
> I am planning to attempt a warm reset in this case, in hopes it
> will clear things up.
>
> Is the preferred way to restart the nic just:
>
> queue_work(ar->workqueue, &ar->restart_work);

BTW, that call really should not be in ath10k_pci_hif_dump_area(). It's
very misleading to have a function name which implies just printing
stuff but actually also restarts firmware.

-- 
Kalle Valo

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Proper way to do warm-reset from the driver?
  2014-03-17  7:50 ` Kalle Valo
@ 2014-03-17 16:05   ` Ben Greear
  0 siblings, 0 replies; 3+ messages in thread
From: Ben Greear @ 2014-03-17 16:05 UTC (permalink / raw)
  To: Kalle Valo; +Cc: ath10k

On 03/17/2014 12:50 AM, Kalle Valo wrote:
> Ben Greear <greearb@candelatech.com> writes:
> 
>> On my firmware, I am often seeing 'tx not flushed' errors after bouncing
>> 32 stations a few times.
>>
>> It does not seem this error can ever be recovered because the
>> reference counting is messed up.
>>
>> I am planning to attempt a warm reset in this case, in hopes it
>> will clear things up.
>>
>> Is the preferred way to restart the nic just:
>>
>> queue_work(ar->workqueue, &ar->restart_work);
> 
> BTW, that call really should not be in ath10k_pci_hif_dump_area(). It's
> very misleading to have a function name which implies just printing
> stuff but actually also restarts firmware.

Yes, and it is not always called from that method anyway...bails
out before resetting in some error cases.

My own tree has lots of patches to that method to dump more
firmware memory areas and such, so it will not be so easy
for me to produce a clean patch to fix this...

Thanks,
Ben
> 


-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-03-17 16:06 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-14 22:04 Proper way to do warm-reset from the driver? Ben Greear
2014-03-17  7:50 ` Kalle Valo
2014-03-17 16:05   ` Ben Greear

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.