diff options
Diffstat (limited to 'sys/dev/usb/usb_dev.c')
-rw-r--r-- | sys/dev/usb/usb_dev.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/dev/usb/usb_dev.c b/sys/dev/usb/usb_dev.c index 99b243464f6c..4811d280562c 100644 --- a/sys/dev/usb/usb_dev.c +++ b/sys/dev/usb/usb_dev.c @@ -32,6 +32,9 @@ #ifdef USB_GLOBAL_INCLUDE_FILE #include USB_GLOBAL_INCLUDE_FILE #else +#ifdef COMPAT_FREEBSD32 +#include <sys/abi_compat.h> +#endif #include <sys/stdint.h> #include <sys/stddef.h> #include <sys/param.h> @@ -1650,6 +1653,9 @@ usb_static_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, { union { struct usb_read_dir *urd; +#ifdef COMPAT_FREEBSD32 + struct usb_read_dir32 *urd32; +#endif void* data; } u; int err; @@ -1660,6 +1666,12 @@ usb_static_ioctl(struct cdev *dev, u_long cmd, caddr_t data, int fflag, err = usb_read_symlink(u.urd->urd_data, u.urd->urd_startentry, u.urd->urd_maxlen); break; +#ifdef COMPAT_FREEBSD32 + case USB_READ_DIR32: + err = usb_read_symlink(PTRIN(u.urd32->urd_data), + u.urd32->urd_startentry, u.urd32->urd_maxlen); + break; +#endif case USB_DEV_QUIRK_GET: case USB_QUIRK_NAME_GET: case USB_DEV_QUIRK_ADD: |