diff --git a/include/linux/io-mapping.h b/include/linux/io-mapping.h index cbc2f0cd631ba1f58b4c5f937dbcffecab48a36a..0adb0f91568c1cfd407b1e88c1dce5b39d0080d5 100644 --- a/include/linux/io-mapping.h +++ b/include/linux/io-mapping.h @@ -91,8 +91,11 @@ io_mapping_unmap_atomic(void *vaddr) static inline void * io_mapping_map_wc(struct io_mapping *mapping, unsigned long offset) { + resource_size_t phys_addr; + BUG_ON(offset >= mapping->size); - resource_size_t phys_addr = mapping->base + offset; + phys_addr = mapping->base + offset; + return ioremap_wc(phys_addr, PAGE_SIZE); }