mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 13:34:27 -04:00 
			
		
		
		
	This updates the mac80211 backport. The removed patches are already integrated in the upstream version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From: Christian Lamparter <chunkeey@gmail.com>
 | |
| Date: Sat, 16 Nov 2019 19:25:24 +0100
 | |
| Subject: [PATCH] owl_loader: compatibility patch
 | |
| 
 | |
| This patch includes OpenWrt specific changes that are
 | |
| not included in the upstream owl-loader.
 | |
| 
 | |
| This includes a platform data handling changes for ar71xx.
 | |
| 
 | |
| Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
 | |
| 
 | |
| --- a/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c
 | |
| +++ b/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c
 | |
| @@ -103,6 +103,7 @@ static void owl_fw_cb(const struct firmw
 | |
|  {
 | |
|  	struct pci_dev *pdev = (struct pci_dev *)context;
 | |
|  	struct owl_ctx *ctx = (struct owl_ctx *)pci_get_drvdata(pdev);
 | |
| +	struct ath9k_platform_data *pdata = dev_get_platdata(&pdev->dev);
 | |
|  	struct pci_bus *bus;
 | |
|  
 | |
|  	complete(&ctx->eeprom_load);
 | |
| @@ -118,6 +119,16 @@ static void owl_fw_cb(const struct firmw
 | |
|  		goto release;
 | |
|  	}
 | |
|  
 | |
| +	if (pdata) {
 | |
| +		memcpy(pdata->eeprom_data, fw->data, fw->size);
 | |
| +
 | |
| +		/*
 | |
| +		 * eeprom has been successfully loaded - pass the data to ath9k
 | |
| +		 * but remove the eeprom_name, so it doesn't try to load it too.
 | |
| +		 */
 | |
| +		pdata->eeprom_name = NULL;
 | |
| +	}
 | |
| +
 | |
|  	if (ath9k_pci_fixup(pdev, (const u16 *)fw->data, fw->size))
 | |
|  		goto release;
 | |
|  
 | |
| @@ -137,8 +148,14 @@ release:
 | |
|  static const char *owl_get_eeprom_name(struct pci_dev *pdev)
 | |
|  {
 | |
|  	struct device *dev = &pdev->dev;
 | |
| +	struct ath9k_platform_data *pdata;
 | |
|  	char *eeprom_name;
 | |
|  
 | |
| +	/* try the existing platform data first */
 | |
| +	pdata = dev_get_platdata(dev);
 | |
| +	if (pdata && pdata->eeprom_name)
 | |
| +		return pdata->eeprom_name;
 | |
| +
 | |
|  	dev_dbg(dev, "using auto-generated eeprom filename\n");
 | |
|  
 | |
|  	eeprom_name = devm_kzalloc(dev, EEPROM_FILENAME_LEN, GFP_KERNEL);
 |