mtd: spi-nor: Respect flash's hwcaps in spi_nor_adjust_hwcaps()
The smart spi_nor_adjust_hwcaps() does not respect the SPI flash's
hwcaps, and only looks to the controller on what can be supported.
The flash's hwcaps needs to be AND'ed before checking.
Fixes: 71025f013c ("mtd: spi-nor-core: Rework hwcaps selection")
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
			
			
This commit is contained in:
		
							parent
							
								
									cb42425aa1
								
							
						
					
					
						commit
						87e7219f9c
					
				|  | @ -2858,10 +2858,11 @@ spi_nor_adjust_hwcaps(struct spi_nor *nor, | |||
| 	unsigned int cap; | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Enable all caps by default. We will mask them after checking what's | ||||
| 	 * really supported using spi_mem_supports_op(). | ||||
| 	 * Start by assuming the controller supports every capability. | ||||
| 	 * We will mask them after checking what's really supported | ||||
| 	 * using spi_mem_supports_op(). | ||||
| 	 */ | ||||
| 	*hwcaps = SNOR_HWCAPS_ALL; | ||||
| 	*hwcaps = SNOR_HWCAPS_ALL & params->hwcaps.mask; | ||||
| 
 | ||||
| 	/* X-X-X modes are not supported yet, mask them all. */ | ||||
| 	*hwcaps &= ~SNOR_HWCAPS_X_X_X; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue