Pete Zaitcev c36fc889b5 [PATCH] usb: Patch for USBDEVFS_IOCTL from 32-bit programs
Dell supplied me with the following test:

#include<stdio.h>
#include<errno.h>
#include<sys/ioctl.h>
#include<fcntl.h>
#include<linux/usbdevice_fs.h>

main(int argc,char*argv[])
{
   struct usbdevfs_hub_portinfo hubPortInfo = {0};
   struct usbdevfs_ioctl command = {0};
   command.ifno = 0;
   command.ioctl_code = USBDEVFS_HUB_PORTINFO;
   command.data = (void*)&hubPortInfo;
   int fd, ret;
   if(argc != 2) {
     fprintf(stderr,"Usage: %s /proc/bus/usb/<BusNo>/<HubID>\n",argv[0]);
     fprintf(stderr,"Example: %s /proc/bus/usb/001/001\n",argv[0]);
     exit(1);
   }
   errno = 0;
   fd = open(argv[1],O_RDWR);
   if(fd < 0) {
     perror("open failed:");
     exit(errno);
   }
   errno = 0;
   ret = ioctl(fd,USBDEVFS_IOCTL,&command);
   printf("IOCTL return status:%d\n",ret);
   if(ret<0) {
     perror("IOCTL failed:");
     close(fd);
     exit(3);
   } else {
       printf("IOCTL passed:Num of ports %d\n",hubPortInfo.nports);
       close(fd);
       exit(0);
   }
   return 0;
}

I have verified that it breaks if built in 32 bit mode on x86_64 and that
the patch below fixes it.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-10-28 16:47:46 -07:00
..
2005-10-28 08:16:47 -07:00
2005-10-04 13:22:01 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-21 10:12:18 -07:00
2005-09-30 12:41:18 -07:00
2005-10-28 08:16:47 -07:00
2005-10-28 08:16:47 -07:00
2005-08-06 09:42:06 -07:00
2005-10-28 08:16:47 -07:00
2005-09-23 12:38:47 -04:00
2005-04-16 15:20:36 -07:00
2005-05-05 16:36:47 -07:00
2005-04-16 15:20:36 -07:00
2005-10-28 10:13:16 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-28 08:16:47 -07:00
2005-07-12 20:38:38 -07:00
2005-05-05 16:36:47 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-28 08:16:47 -07:00
2005-10-28 08:16:47 -07:00
2005-07-12 16:01:02 -07:00
2005-09-14 21:40:00 -07:00
2005-10-28 08:16:47 -07:00
2005-06-24 00:05:19 -07:00
2005-04-16 15:20:36 -07:00
2005-10-28 08:16:47 -07:00
2005-09-09 13:57:55 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-28 08:16:47 -07:00
2005-10-23 16:38:39 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-10-18 14:20:21 -07:00
2005-10-28 08:16:47 -07:00
2005-10-08 15:00:57 -07:00
2005-04-16 15:20:36 -07:00
2005-09-10 10:06:22 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00
2005-09-09 13:57:55 -07:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00