Index: uspace/drv/bus/usb/ehci/utils/malloc32.h
===================================================================
--- uspace/drv/bus/usb/ehci/utils/malloc32.h	(revision ac96b11ac716561f5e0a2267913334a8399459a9)
+++ uspace/drv/bus/usb/ehci/utils/malloc32.h	(revision f9599b9cf4d33db659b5bf4717952190a1ac192a)
@@ -65,19 +65,4 @@
 }
 
-/** Physical mallocator simulator
- *
- * @param[in] size Size of the required memory space
- * @return Address of the aligned and big enough memory place, NULL on failure.
- */
-static inline void * malloc32(size_t size)
-	{ return memalign(EHCI_ALIGN, size); }
-
-/** Physical mallocator simulator
- *
- * @param[in] addr Address of the place allocated by malloc32
- */
-static inline void free32(void *addr)
-	{ free(addr); }
-
 /** Create 4KB page mapping
  *
@@ -100,4 +85,25 @@
 	dmamem_unmap_anonymous(page);
 }
+
+/** Physical mallocator simulator
+ *
+ * @param[in] size Size of the required memory space
+ * @return Address of the aligned and big enough memory place, NULL on failure.
+ */
+static inline void * malloc32(size_t size)
+{
+	assert(size < PAGE_SIZE);
+	return get_page();
+}
+
+/** Physical mallocator simulator
+ *
+ * @param[in] addr Address of the place allocated by malloc32
+ */
+static inline void free32(void *addr)
+{
+	return_page(addr);
+}
+
 #endif
 /**
