On 2019-08-21 13:22, Stanislaw Gruszka wrote: > On Wed, Aug 21, 2019 at 12:40:14PM +0200, Felix Fietkau wrote: >> On 2019-08-21 11:03, Felix Fietkau wrote: >> > On 2019-08-21 10:47, Stanislaw Gruszka wrote: >> >> On Tue, Aug 20, 2019 at 01:24:39PM +0200, Stanislaw Gruszka wrote: >> >>> > Can you test if disabling hw encryption only for shared or only for >> >>> > pairwise keys makes any difference? >> >>> >> >>> Disabling only pairwise keys helps. Disabling only shared keys does >> >>> not help. >> >>> >> >>> Not sure if this will be helpful information or make things more >> >>> confusing, but seems the difference between mt76_txq_schedule() >> >>> and tasklet_schedule() in mt76_wake_tx_queue() is that on >> >>> mt76_txq_schedule() some tx packets are serialized by dev->rx_lock >> >>> (because some ARP and TCP packets are sent via network stack as response >> >>> of incoming packet within ieee80211_rx_napi() call). Removing >> >>> spin_lock(&dev->rx_lock) in mt76_rx_complete() make the problem >> >>> reproducible again with mt76_txq_schedule() & HW encryption. >> >> >> >> So, I think this is FW/HW issue related with encryption and ordering >> >> and we should apply patch originally posted in this thread that >> >> disable HW encryption for MT7630E. >> >> >> >> I do not think we should disable HW encryption only for pairwise keys, >> >> because FW/HW can have the same bug for shared keys, but is not >> >> triggered in my test, as we do not sent lot of group frames. >> > I'm still not convinced that this is just the hardware implementation of >> > hw crypto being faulty. I think it's more likely that there's a bug in >> > the tx path somewhere, which causes hangs on MT7630E but remains hidden >> > (or at least recoverable) on other devices. >> > I'm currently reviewing key handling in the mac80211 fast-xmit codepath >> > and get the feeling that something might be racy there. >> > I will let you know when I make some progress with that review. >> > If we can't find the bug soon, then I'm fine with merging this patch. >> > Right now, I would like to see first if we can fix it properly. >> Another question: Does a watchdog restart happen before tx fails? > > No, we do not run wdt_work for mt76x0e. I didn't find anything conclusive yet, so I agree with merging this patch for now until we have a better fix. - Felix