mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From: Sven Eckelmann <sven@open-mesh.com>
 | 
						|
Date: Tue, 18 Nov 2014 12:29:28 +0100
 | 
						|
Subject: [PATCH] ath10k: Don't initialize devices asynchronously
 | 
						|
 | 
						|
OpenWrt requires all PHYs to be initialized to create the configuration files
 | 
						|
during bootup. ath10k violates this because it delays the creation of the PHY
 | 
						|
to a not well defined point in the future.
 | 
						|
 | 
						|
Forcing the work to be done immediately works around this problem but may also
 | 
						|
delay the boot when firmware images cannot be found.
 | 
						|
 | 
						|
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>
 | 
						|
---
 | 
						|
 | 
						|
--- a/drivers/net/wireless/ath/ath10k/core.c
 | 
						|
+++ b/drivers/net/wireless/ath/ath10k/core.c
 | 
						|
@@ -2009,6 +2009,16 @@ int ath10k_core_register(struct ath10k *
 | 
						|
 	ar->chip_id = chip_id;
 | 
						|
 	queue_work(ar->workqueue, &ar->register_work);
 | 
						|
 
 | 
						|
+	/* OpenWrt requires all PHYs to be initialized to create the
 | 
						|
+	 * configuration files during bootup. ath10k violates this
 | 
						|
+	 * because it delays the creation of the PHY to a not well defined
 | 
						|
+	 * point in the future.
 | 
						|
+	 *
 | 
						|
+	 * Forcing the work to be done immediately works around this problem
 | 
						|
+	 * but may also delay the boot when firmware images cannot be found.
 | 
						|
+	 */
 | 
						|
+	flush_workqueue(ar->workqueue);
 | 
						|
+
 | 
						|
 	return 0;
 | 
						|
 }
 | 
						|
 EXPORT_SYMBOL(ath10k_core_register);
 |