1. 28 3月, 2014 16 次提交
  2. 20 3月, 2014 1 次提交
  3. 18 3月, 2014 4 次提交
  4. 15 3月, 2014 1 次提交
    • A
      rtl8180: prepare to handle more than two chip types · 6caefd12
      Andrea Merello 提交于
      Currently a "r8185" integer variable is used as a boolean flag to
      indicate whether the card is a rtl8185 or not.
      Since now the driver supports only rtl8185 and rtl8180 cards, if
      "r8185" variable is zero then the card is implicitly assumed to
      be a rtl8180.
      
      Now I'm preparing to add support for a third card type (rtl8187se).
      
      This patch changes the "r8185" flag with an enum variable to
      explicitly indicate which card type we have.
      
      I'm submitting this this patch now, even if I still have to submit
      other patches that not pertain with rtl8187se support, because
      IMHO it's not worth rebasing them on the current code, using r8185
      flag, and then changing them back again nearly immediately.
      BTW if someone feels I really should do this, please tell me..
      Signed-off-by: NAndrea Merello <andrea.merello@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6caefd12
  5. 05 3月, 2014 2 次提交
  6. 01 3月, 2014 5 次提交
  7. 14 2月, 2014 1 次提交
    • S
      rtl8187: fix regression on MIPS without coherent DMA · b6213e41
      Stanislaw Gruszka 提交于
      This patch fixes regression caused by commit a16dad77 "MIPS: Fix
      potencial corruption". That commit fixes one corruption scenario in
      cost of adding another one, which actually start to cause crashes
      on Yeeloong laptop when rtl8187 driver is used.
      
      For correct DMA read operation on machines without DMA coherence, kernel
      have to invalidate cache, such it will refill later with new data that
      device wrote to memory, when that data is needed to process. We can only
      invalidate full cache line. Hence when cache line includes both dma
      buffer and some other data (written in cache, but not yet in main
      memory), the other data can not hit memory due to invalidation. That
      happen on rtl8187 where struct rtl8187_priv fields are located just
      before and after small buffers that are passed to USB layer and DMA
      is performed on them.
      
      To fix the problem we align buffers and reserve space after them to make
      them match cache line.
      
      This patch does not resolve all possible MIPS problems entirely, for
      that we have to assure that we always map cache aligned buffers for DMA,
      what can be complex or even not possible. But patch fixes visible and
      reproducible regression and seems other possible corruptions do not
      happen in practice, since Yeeloong laptop works stable without rtl8187
      driver.
      
      Bug report:
      https://bugzilla.kernel.org/show_bug.cgi?id=54391Reported-by: NPetr Pisar <petr.pisar@atlas.cz>
      Bisected-by: NTom Li <biergaizi2009@gmail.com>
      Reported-and-tested-by: NTom Li <biergaizi2009@gmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NStanislaw Gruszka <stf_xl@wp.pl>
      Acked-by: NLarry Finger <Larry.Finger@lwfinger.next>
      Acked-by: NHin-Tak Leung <htl10@users.sourceforge.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b6213e41
  8. 13 2月, 2014 1 次提交
  9. 07 2月, 2014 2 次提交
    • A
      rtl8180: Add error check for pci_map_single return value in TX path · 348f7d4a
      andrea.merello 提交于
      Orignal code will not detect a DMA mapping failure, causing the HW
      to attempt a DMA from an invalid address.
      
      This patch add the error check and eventually simply drops the TX
      packet if we can't map it for DMA.
      Signed-off-by: Nandrea merello <andrea.merello@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      348f7d4a
    • A
      rtl8180: Add error check for pci_map_single return value in RX path · 2b4db05e
      andrea.merello 提交于
      In original code the old RX DMA buffer is unmapped and processed and at the end
      of the isr a new buffer is mapped with pci_map_single and attached to the RX
      descriptor.
      
      If pci_map_single fails then the RX descriptor remains with no valid DMA buffer
      attached.
      In this condition the DMA will target where it shouldn't with obvious evil
      consequences.
      
      Simply avoiding re-arming the descriptor will prevent buggy DMA but it will
      result soon in RX stuck.
      
      This patch move the DMA mapping of the new buffer at the beginning of the ISR
      (and it adds error check for pci_map_single success/fail).
      
      If the DMA mapping fails then we do not unmap the old buffer and we re-arm the
      descriptor without processing it, with the old DMA buffer still attached.
      
      In this way we lose the currently RX-ed packet, but whenever next calls to
      pci_map_single will succeed again,then the RX process will go on without stuck.
      Signed-off-by: Nandrea merello <andrea.merello@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2b4db05e
  10. 04 1月, 2014 1 次提交
  11. 06 12月, 2013 1 次提交
  12. 27 9月, 2013 1 次提交
  13. 10 9月, 2013 1 次提交
  14. 27 8月, 2013 1 次提交
  15. 26 3月, 2013 1 次提交
  16. 23 1月, 2013 1 次提交