921-ath10k_init_devices_synchronously.patch 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. From: Sven Eckelmann <sven@open-mesh.com>
  2. Date: Tue, 18 Nov 2014 12:29:28 +0100
  3. Subject: [PATCH] ath10k: Don't initialize devices asynchronously
  4. libreCMC requires all PHYs to be initialized to create the configuration files
  5. during bootup. ath10k violates this because it delays the creation of the PHY
  6. to a not well defined point in the future.
  7. Forcing the work to be done immediately works around this problem but may also
  8. delay the boot when firmware images cannot be found.
  9. Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
  10. ---
  11. --- a/drivers/net/wireless/ath/ath10k/core.c
  12. +++ b/drivers/net/wireless/ath/ath10k/core.c
  13. @@ -1119,6 +1119,16 @@ int ath10k_core_register(struct ath10k *
  14. queue_work(ar->workqueue, &ar->register_work);
  15. + /* libreCMC requires all PHYs to be initialized to create the
  16. + * configuration files during bootup. ath10k violates this
  17. + * because it delays the creation of the PHY to a not well defined
  18. + * point in the future.
  19. + *
  20. + * Forcing the work to be done immediately works around this problem
  21. + * but may also delay the boot when firmware images cannot be found.
  22. + */
  23. + flush_workqueue(ar->workqueue);
  24. +
  25. return 0;
  26. }
  27. EXPORT_SYMBOL(ath10k_core_register);