 c6c3f6bb0a
			
		
	
	c6c3f6bb0a
	
	
	
		
			
			The removed patches are all integrated in the upstream version now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 29f6589140a10ece8c1d73f58043ea5b3473ab3e Mon Sep 17 00:00:00 2001
 | |
| From: Wright Feng <wright.feng@cypress.com>
 | |
| Date: Wed, 21 Nov 2018 07:53:52 +0000
 | |
| Subject: [PATCH] brcmfmac: disable command decode in sdio_aos
 | |
| 
 | |
| AOS is a part of the SDIOD core that becomes active when the rest of
 | |
| SDIOD is sleeping to keep SDIO bus alive responding to reduced set of
 | |
| commands.
 | |
| 
 | |
| Transaction between AOS and SDIOD is not protected, and if cmd 52 is
 | |
| received in AOS and in the middle of response state changed from AOS to
 | |
| SDIOD, response is corrupted and it causes to SDIO Host controller to
 | |
| hang.
 | |
| 
 | |
| Command decode for below chips are disabled in this commit:
 | |
|  - 4339
 | |
|  - 4345
 | |
|  - 4354
 | |
|  - 4373
 | |
| 
 | |
| Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
 | |
| Signed-off-by: Wright Feng <wright.feng@cypress.com>
 | |
| Signed-off-by: Double Lo <double.lo@cypress.com>
 | |
| Signed-off-by: Madhan Mohan R <madhanmohan.r@cypress.com>
 | |
| Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com>
 | |
| Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
 | |
| ---
 | |
|  drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 6 +++++-
 | |
|  1 file changed, 5 insertions(+), 1 deletion(-)
 | |
| 
 | |
| --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
 | |
| +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
 | |
| @@ -3369,7 +3369,11 @@ err:
 | |
|  
 | |
|  static bool brcmf_sdio_aos_no_decode(struct brcmf_sdio *bus)
 | |
|  {
 | |
| -	if (bus->ci->chip == CY_CC_43012_CHIP_ID)
 | |
| +	if (bus->ci->chip == CY_CC_43012_CHIP_ID ||
 | |
| +	    bus->ci->chip == CY_CC_4373_CHIP_ID ||
 | |
| +	    bus->ci->chip == BRCM_CC_4339_CHIP_ID ||
 | |
| +	    bus->ci->chip == BRCM_CC_4345_CHIP_ID ||
 | |
| +	    bus->ci->chip == BRCM_CC_4354_CHIP_ID)
 | |
|  		return true;
 | |
|  	else
 | |
|  		return false;
 |