This backports a patch from kernel 4.14 to the ath10k-ct version based on kernel 4.13. Some devices are using a user space script to load the calibration data from the flash and this was not trigged any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From c0cc00f250e19c717fc9cdbdb7f55aaa569c7498 Mon Sep 17 00:00:00 2001
 | 
						|
From: Hauke Mehrtens <hauke@hauke-m.de>
 | 
						|
Date: Thu, 24 Aug 2017 23:06:41 +0200
 | 
						|
Subject: [PATCH] ath10k: activate user space firmware loading again
 | 
						|
 | 
						|
In commit 9f5bcfe93315 ("ath10k: silence firmware file probing
 | 
						|
warnings") the firmware loading was changed from request_firmware() to
 | 
						|
request_firmware_direct() to silence some warnings in case it fails.
 | 
						|
request_firmware_direct() directly searches in the file system only and
 | 
						|
does not send a hotplug event to user space in case it could not find
 | 
						|
the firmware directly.
 | 
						|
In LEDE we use a user space script to extract the calibration data from
 | 
						|
the flash memory which gets triggered by the hotplug event. This way the
 | 
						|
firmware gets extracted from some vendor specific partition when the
 | 
						|
driver requests this firmware. This mechanism does not work any more
 | 
						|
after this change.
 | 
						|
 | 
						|
Fixes: 9f5bcfe93315 ("ath10k: silence firmware file probing warnings")
 | 
						|
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
 | 
						|
Cc: Michal Kazior <michal.kazior@tieto.com>
 | 
						|
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
 | 
						|
---
 | 
						|
 ath10k-4.13/core.c | 2 +-
 | 
						|
 1 file changed, 1 insertion(+), 1 deletion(-)
 | 
						|
 | 
						|
--- a/ath10k-4.13/core.c
 | 
						|
+++ b/ath10k-4.13/core.c
 | 
						|
@@ -556,7 +556,7 @@ static const struct firmware *ath10k_fet
 | 
						|
 		dir = ".";
 | 
						|
 
 | 
						|
 	snprintf(filename, sizeof(filename), "%s/%s", dir, file);
 | 
						|
-	ret = request_firmware_direct(&fw, filename, ar->dev);
 | 
						|
+	ret = request_firmware(&fw, filename, ar->dev);
 | 
						|
 	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot fw request '%s': %d\n",
 | 
						|
 		   filename, ret);
 | 
						|
 
 |