Forgotten changes that should have been part of the r45368 64-bit fix.
[AROS.git] / rom / usb / pciusb / buffer.c
blob8726bcd7f7d65d2734fb45f6442b948912151ee6
1 #include <devices/usbhardware.h>
2 #include <exec/memory.h>
3 #include <proto/exec.h>
5 #if __WORDSIZE == 64
7 APTR usbGetBuffer(APTR data, ULONG len, UWORD dir)
9 APTR ret = data;
11 if (((IPTR)data + len - 1) >> 32)
13 ret = AllocVec(len, MEMF_31BIT|MEMF_PUBLIC);
15 if (ret && (dir == UHDIR_OUT))
16 CopyMem(data, ret, len);
19 return ret;
22 void usbReleaseBuffer(APTR buffer, APTR data, ULONG len, UWORD dir)
24 if (buffer && (buffer != data))
26 if (len && (dir == UHDIR_IN))
27 CopyMem(buffer, data, len);
29 FreeVec(buffer);
33 #endif