sdhci: add warnings for bad buffers in ADMA path
The ADMA code path assumes that the 3 byte alignment fix doesn't cross a page boundary. I'm not convinced this is worth supporting, but at least print a warning in the off chance we'll actually see such a request. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
This commit is contained in:
		
							parent
							
								
									48b5352ea1
								
							
						
					
					
						commit
						6cefd05f35
					
				| @ -389,6 +389,7 @@ static int sdhci_adma_table_pre(struct sdhci_host *host, | ||||
| 		if (offset) { | ||||
| 			if (data->flags & MMC_DATA_WRITE) { | ||||
| 				buffer = sdhci_kmap_atomic(sg, &flags); | ||||
| 				WARN_ON(((long)buffer & PAGE_MASK) > (PAGE_SIZE - 3)); | ||||
| 				memcpy(align, buffer, offset); | ||||
| 				sdhci_kunmap_atomic(buffer, &flags); | ||||
| 			} | ||||
| @ -510,6 +511,7 @@ static void sdhci_adma_table_post(struct sdhci_host *host, | ||||
| 				size = 4 - (sg_dma_address(sg) & 0x3); | ||||
| 
 | ||||
| 				buffer = sdhci_kmap_atomic(sg, &flags); | ||||
| 				WARN_ON(((long)buffer & PAGE_MASK) > (PAGE_SIZE - 3)); | ||||
| 				memcpy(buffer, align, size); | ||||
| 				sdhci_kunmap_atomic(buffer, &flags); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user