diff -Naur RT2870_LinuxSTA_V2.3.0.0/include/os/rt_linux.h RT2870_LinuxSTA_V2.3.0.0.patched//include/os/rt_linux.h
--- RT2870_LinuxSTA_V2.3.0.0/include/os/rt_linux.h	2009-12-03 20:03:00.000000000 -0700
+++ RT2870_LinuxSTA_V2.3.0.0.patched//include/os/rt_linux.h	2011-06-21 18:54:04.000000000 -0600
@@ -1002,8 +1002,8 @@
 #define RT28XX_PUT_DEVICE													usb_put_dev
 #define RTUSB_ALLOC_URB(iso)												usb_alloc_urb(iso, GFP_ATOMIC)
 #define RTUSB_SUBMIT_URB(pUrb)												usb_submit_urb(pUrb, GFP_ATOMIC)
-#define RTUSB_URB_ALLOC_BUFFER(pUsb_Dev, BufSize, pDma_addr)				usb_buffer_alloc(pUsb_Dev, BufSize, GFP_ATOMIC, pDma_addr)
-#define RTUSB_URB_FREE_BUFFER(pUsb_Dev, BufSize, pTransferBuf, Dma_addr)	usb_buffer_free(pUsb_Dev, BufSize, pTransferBuf, Dma_addr)
+#define RTUSB_URB_ALLOC_BUFFER(pUsb_Dev, BufSize, pDma_addr)				usb_alloc_coherent(pUsb_Dev, BufSize, GFP_ATOMIC, pDma_addr)
+#define RTUSB_URB_FREE_BUFFER(pUsb_Dev, BufSize, pTransferBuf, Dma_addr)	usb_free_coherent(pUsb_Dev, BufSize, pTransferBuf, Dma_addr)
 #else
 
 #define RT28XX_PUT_DEVICE													rausb_put_dev
diff -Naur RT2870_LinuxSTA_V2.3.0.0/os/linux/rt_usb_util.c RT2870_LinuxSTA_V2.3.0.0.patched//os/linux/rt_usb_util.c
--- RT2870_LinuxSTA_V2.3.0.0/os/linux/rt_usb_util.c	2009-11-26 18:54:00.000000000 -0700
+++ RT2870_LinuxSTA_V2.3.0.0.patched//os/linux/rt_usb_util.c	2011-06-21 18:53:04.000000000 -0600
@@ -132,7 +132,7 @@
 							INT32 mem_flags,
 							dma_addr_t *dma)
 {
-	return usb_buffer_alloc(dev, size, mem_flags, dma);
+	return usb_alloc_coherent(dev, size, mem_flags, dma);
 }
 EXPORT_SYMBOL(rausb_buffer_alloc);
 
@@ -142,7 +142,7 @@
 							void *addr,
 							dma_addr_t dma)
 {
-	usb_buffer_free(dev, size, addr, dma);
+	usb_free_coherent(dev, size, addr, dma);
 }
 EXPORT_SYMBOL(rausb_buffer_free);
 #endif // LINUX_VERSION_CODE //
