1. 23 12月, 2019 1 次提交
    • J
      iwlwifi: pcie: work around DMA hardware bug · c4a786b3
      Johannes Berg 提交于
      There's a hardware bug in the flow handler (DMA engine), if the
      address + len of some TB wraps around a 2^32 boundary, the carry
      bit is then carried over into the next TB.
      
      Work around this by copying the data to a new page when we find
      this situation, and then copy it in a way that we cannot hit the
      very end of the page.
      
      To be able to free the new page again later we need to chain it
      to the TSO page, use the last pointer there to make sure we can
      never use the page fully for DMA, and thus cannot cause the same
      overflow situation on this page.
      
      This leaves a few potential places (where we didn't observe the
      problem) unaddressed:
       * The second TB could reach or cross the end of a page (and thus
         2^32) due to the way we allocate the dev_cmd for the header
       * For host commands, a similar thing could happen since they're
         just kmalloc().
      We'll address these in further commits.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      c4a786b3
  2. 20 12月, 2019 1 次提交
  3. 20 11月, 2019 2 次提交
  4. 15 11月, 2019 2 次提交
  5. 09 11月, 2019 1 次提交
  6. 06 9月, 2019 5 次提交
  7. 20 8月, 2019 1 次提交
  8. 22 3月, 2019 1 次提交
  9. 04 2月, 2019 1 次提交
  10. 29 1月, 2019 2 次提交
  11. 26 1月, 2019 2 次提交
  12. 20 12月, 2018 1 次提交
  13. 14 12月, 2018 1 次提交
  14. 11 11月, 2018 1 次提交
  15. 08 10月, 2018 2 次提交
  16. 06 10月, 2018 1 次提交
  17. 28 9月, 2018 2 次提交
  18. 31 8月, 2018 3 次提交
  19. 02 8月, 2018 2 次提交
  20. 26 7月, 2018 3 次提交
  21. 20 4月, 2018 5 次提交