#include <linux/scatterlist.h>
#include <asm/cacheflush.h>
-@@ -248,8 +249,15 @@ static inline dma_addr_t map_single(stru
+@@ -248,7 +249,13 @@ static inline dma_addr_t map_single(stru
needs_bounce = (dma_addr | (dma_addr + size - 1)) & ~mask;
}
+
+ if (device_info && (needs_bounce || dma_needs_bounce_2(dev, dma_addr, size))) {
struct safe_buffer *buf;
-+#endif
buf = alloc_safe_buffer(device_info, ptr, size, dir);
- if (buf == 0) {
+@@ -282,6 +289,7 @@ static inline dma_addr_t map_single(stru
+
+ return dma_addr;
+ }
++#endif
+
+ static inline void unmap_single(struct device *dev, dma_addr_t dma_addr,
+ size_t size, enum dma_data_direction dir)