source: branches/backfire/package/mac80211/patches/601-rt2x00-fix-hang-on-ifdown.patch @ 22089

Last change on this file since 22089 was 22089, checked in by nbd, 6 years ago

[backfire] backport mac80211 fixes from trunk

File size: 1.1 KB
  • drivers/net/wireless/rt2x00/rt2800pci.c

    From 27ed5ec6924c17b76d65b697a162bafee7bd8e4e Mon Sep 17 00:00:00 2001
    From: Helmut Schaa <helmut.schaa@googlemail.com>
    Date: Mon, 21 Jun 2010 10:03:05 +0200
    Subject: [PATCH] rt2x00: fix rt2800pci hang on ifdown
    
    rt2800pci hangs the system on rt305x SoC devices on ifdown. Work around
    this issue by disabling TX DMA prior to restting the TX queue indices.
    
    This patch is not suitable for upstream inclusion but is just meant as
    a workaround until a proper solution is implemented.
    
    Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
    ---
     drivers/net/wireless/rt2x00/rt2800pci.c |    4 ++++
     1 files changed, 4 insertions(+), 0 deletions(-)
    
    a b static void rt2800pci_kill_tx_queue(stru 
    749749                rt2800_register_write(rt2x00dev, BCN_TIME_CFG, 0); 
    750750                return; 
    751751        } 
     752  
     753        rt2800_register_read(rt2x00dev, WPDMA_GLO_CFG, &reg); 
     754        rt2x00_set_field32(&reg, WPDMA_GLO_CFG_ENABLE_TX_DMA, 0); 
     755        rt2800_register_write(rt2x00dev, WPDMA_GLO_CFG, reg); 
    752756 
    753757        rt2800_register_read(rt2x00dev, WPDMA_RST_IDX, &reg); 
    754758        rt2x00_set_field32(&reg, WPDMA_RST_IDX_DTX_IDX0, (qid == QID_AC_BE)); 
Note: See TracBrowser for help on using the repository browser.