1. 15 9月, 2011 8 次提交
  2. 14 9月, 2011 1 次提交
  3. 10 8月, 2011 1 次提交
    • H
      rt2x00: Fix PCI interrupt processing race on SMP systems · abc11994
      Helmut Schaa 提交于
      When toggle_irq is called for PCI devices to disable device interrupts
      it used tasklet_disable to wait for a possibly running tasklet to finish.
      However, on SMP systems the tasklet might still be scheduled on another CPU.
      Instead, use tasklet_kill to ensure that all scheduled tasklets are finished
      before returning from toggle_irq.
      
      Furthermore, it was possible that a tasklet reenabled its interrupt even
      though interrupts have been disabled already. Fix this by checking the
      DEVICE_STATE_ENABLED_RADIO flag before reenabling single interrupts
      during tasklet processing.
      
      While at it also enable/kill the TBTT and PRETBTT tasklets in the
      toggle_irq callback and only use tasklet_kill in stop_queue to wait
      for a currently scheduled beacon update before returning.
      Signed-off-by: NHelmut Schaa <helmut.schaa@googlemail.com>
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      abc11994
  4. 03 8月, 2011 2 次提交
  5. 02 8月, 2011 1 次提交
  6. 12 7月, 2011 1 次提交
  7. 08 7月, 2011 6 次提交
  8. 28 6月, 2011 1 次提交
  9. 23 6月, 2011 2 次提交
    • S
      rt2x00: reset usb devices at probe · bf4c02d5
      Stanislaw Gruszka 提交于
      When module is reloaded, device may fail to work, with messages:
      
      [  342.211926] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x0059, type=2.
      [  342.314254] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x004a, type=2.
      [  342.416458] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 3183 max 2432.
      [  342.518605] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x00c9, type=2.
      [  342.620836] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x00ae, type=1.
      [  342.723201] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 0 max 2432.
      [  342.825399] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 0 max 2432.
      [  342.927624] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 0 max 2432.
      [  343.029804] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 2491 max 2432.
      [  343.132008] phy40 -> rt2x00lib_rxdone: Warning - Wrong frame size 2576 max 2432.
      [  343.234326] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x004c, type=1.
      [  343.438723] phy40 -> rt2x00lib_rxdone_read_signal: Warning - Frame received with unrecognized signal, mode=0x0000, signal=0x00e6, type=1.
      
      Whereas replugging device make it functional. To solve that problem
      force reset device during probe.
      
      With patch messages are gone. Unfortunately device may sometimes
      still does not operate correctly after module reload (fail to receive
      data after associate), but such cases are rarer than without the patch.
      Signed-off-by: NStanislaw Gruszka <stf_xl@wp.pl>
      Acked-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      bf4c02d5
    • S
      rt2x00: fix possible memory corruption in case of invalid rxdesc.size · 7f503fc4
      Stanislaw Gruszka 提交于
      Sometimes rxdesc descriptor provided by hardware contains invalid
      (random) data. For example rxdesc.size can be bigger than actual
      size of the buffer. When this happen rt2x00crypto_rx_insert_iv()
      corrupt memory doing memmove outside of buffer boundaries.
      Signed-off-by: NStanislaw Gruszka <stf_xl@wp.pl>
      Acked-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7f503fc4
  10. 07 6月, 2011 2 次提交
  11. 06 6月, 2011 1 次提交
  12. 02 6月, 2011 6 次提交
  13. 28 5月, 2011 1 次提交
  14. 11 5月, 2011 1 次提交
  15. 06 5月, 2011 2 次提交
  16. 03 5月, 2011 4 次提交