1. 14 7月, 2014 1 次提交
    • M
      ath10k: fix unregister deadlock when fw probe fails · a491a920
      Michal Kazior 提交于
      If firmware probing worker failed it called
      device_release_driver() which synchronously called
      remove() pci callback. The callback in turn waited
      for the worker that called it to finish resulting
      in a deadlock.
      
      Waiting for a completion instead of a worker, like
      some other drivers do, doesn't seem like the best
      idea either:
      
        Syscall                 Worker
      
                                probe_fw()
        rmmod
        dev_lock()
        pci->remove()
        wait_for_completion()
                                complete_all()
                                device_release_driver()
                                dev_lock()
                                [sleep]
        free(ar)
        dev_unlock()
                                [resume]
      
      There's no guarantee that Worker upon resuming can
      still access any data/code of the module.
      
      Leaving device bound to a driver is not as harmful
      as deadlocking so remove the call to
      device_release_driver() while a proper solution is
      figured out.
      Signed-off-by: NMichal Kazior <michal.kazior@tieto.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      a491a920
  2. 03 6月, 2014 2 次提交
  3. 27 5月, 2014 1 次提交
  4. 26 5月, 2014 2 次提交
  5. 23 5月, 2014 1 次提交
  6. 24 4月, 2014 1 次提交
  7. 28 3月, 2014 3 次提交
  8. 21 3月, 2014 2 次提交
  9. 13 2月, 2014 2 次提交
  10. 05 2月, 2014 1 次提交
  11. 20 11月, 2013 2 次提交
  12. 13 11月, 2013 1 次提交
  13. 08 11月, 2013 1 次提交
  14. 21 10月, 2013 1 次提交
  15. 16 10月, 2013 1 次提交
  16. 09 10月, 2013 2 次提交
  17. 08 10月, 2013 2 次提交
  18. 01 10月, 2013 3 次提交
  19. 27 9月, 2013 2 次提交
  20. 12 9月, 2013 2 次提交
  21. 06 9月, 2013 2 次提交
  22. 03 9月, 2013 1 次提交
    • K
      ath10k: check chip id from the soc register during probe · e01ae68c
      Kalle Valo 提交于
      ath10k doesn't support qca988x hw1.0 boards anymore. Unfortunately
      the PCI id is the same in hw1.0 and hw2.0 so ath10k tries to use
      hw1.0 boards anyway. But without hw1.0 workarounds in place
      ath10k just crashes horribly.
      
      To avoid using hw1.0 boards at all add a chip id detection
      and fail the probe if hw1.0 is detected:
      
      [ 5265.786408] ath10k: ERROR: qca988x hw1.0 is not supported
      [ 5265.786497] ath10k: Unsupported chip id 0x043200ff
      [ 5265.786574] ath10k: could not register driver core (-95)
      [ 5265.793191] ath10k_pci: probe of 0000:02:00.0 failed with error -95
      
      Also add a warning if there's an unknown chip id but continue
      the boot process normally anyway.
      Reported-by: NZaki Bakar <zaki.bm@gmail.com>
      Tested-by: NChristian Lamparter <chunkeey@googlemail.com>
      Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
      e01ae68c
  23. 12 8月, 2013 1 次提交
  24. 30 7月, 2013 3 次提交