summary refs log tree commit diff
path: root/drivers/usb/class
diff options
context:
space:
mode:
authorPete Zaitcev <zaitcev@redhat.com>2005-12-21 17:03:24 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2006-01-04 13:51:44 -0800
commit318e479eb7ad9a948c6da381976d258464413816 (patch)
treed73ef1b9d684ec47d9d963190b85e62df26c2fcc /drivers/usb/class
parenta083dec0ed537a75fbe8f2f83d198e9e672240d8 (diff)
downloadlinux-318e479eb7ad9a948c6da381976d258464413816.tar.gz
[PATCH] USB: ioctl compat for usblp.c
From: David Woodhouse <dwmw2>

David has a G5 with a printer. I am quite surprised that nobody else noticed
this before. Linus has a G5. Hackers hate printing in general, maybe.

We do not use BKL anymore, because one of code paths had a sleeping call,
so we had to use a semaphore. I am sure it's safe to use unlocked_ioctl.

The new ioctls return long and retval is int. It looks completely fine to me.
We never want these extra bits, and the sign extension ought to work right.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

--
Diffstat (limited to 'drivers/usb/class')
-rw-r--r--drivers/usb/class/usblp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c
index 6918037e209c..708a292e5a0d 100644
--- a/drivers/usb/class/usblp.c
+++ b/drivers/usb/class/usblp.c
@@ -438,7 +438,7 @@ static unsigned int usblp_poll(struct file *file, struct poll_table_struct *wait
  			       | (!usblp->wcomplete ? 0 : POLLOUT | POLLWRNORM);
 }
 
-static int usblp_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
+static long usblp_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 {
 	struct usblp *usblp = file->private_data;
 	int length, err, i;
@@ -838,7 +838,8 @@ static struct file_operations usblp_fops = {
 	.read =		usblp_read,
 	.write =	usblp_write,
 	.poll =		usblp_poll,
-	.ioctl =	usblp_ioctl,
+	.unlocked_ioctl =	usblp_ioctl,
+	.compat_ioctl =		usblp_ioctl,
 	.open =		usblp_open,
 	.release =	usblp_release,
 };