diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-23 00:40:54 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-23 00:40:54 +0000 |
commit | 529c593ece216e4aaffd36bd940cb94f1fa63129 (patch) | |
tree | 78f1c0b805f5656aa7b0417a043c5346f700a2cf /drivers/usb/devio.c | |
parent | 0bd079751d25808d1972baee5c4eaa1db2227257 (diff) |
Merge with 2.3.43. I did ignore all modifications to the qlogicisp.c
driver due to the Origin A64 hacks.
Diffstat (limited to 'drivers/usb/devio.c')
-rw-r--r-- | drivers/usb/devio.c | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/drivers/usb/devio.c b/drivers/usb/devio.c index 5fb51d93c..82a55ec8e 100644 --- a/drivers/usb/devio.c +++ b/drivers/usb/devio.c @@ -19,7 +19,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Id: devio.c,v 1.6 2000/01/11 23:26:33 tom Exp $ + * $Id: devio.c,v 1.7 2000/02/01 17:28:48 fliegl Exp $ * * This file implements the usbdevfs/x/y files, where * x is the bus number and y the device number. @@ -132,8 +132,8 @@ static int my_usb_control_msg(struct usb_device *dev, unsigned int pipe, __u8 re urb->transfer_buffer = data; urb->transfer_buffer_length = size; ret = do_sync(urb, timeout); - if (ret >= 0) - ret = urb->status; + //if (ret >= 0) + // ret = urb->status; if (ret >= 0) ret = urb->actual_length; kfree(urb->setup_packet); @@ -154,8 +154,8 @@ static int my_usb_bulk_msg(struct usb_device *dev, unsigned int pipe, urb->transfer_buffer = data; urb->transfer_buffer_length = len; ret = do_sync(urb, timeout); - if (ret >= 0) - ret = urb->status; + //if (ret >= 0) + // ret = urb->status; if (ret >= 0 && actual_length != NULL) *actual_length = urb->actual_length; usb_free_urb(urb); @@ -321,7 +321,7 @@ static void async_completed(purb_t urb) struct dev_state *ps = as->ps; struct siginfo sinfo; -#if 0 +#if 1 printk(KERN_DEBUG "usbdevfs: async_completed: status %d errcount %d actlen %d pipe 0x%x\n", urb->status, urb->error_count, urb->actual_length, urb->pipe); #endif @@ -345,7 +345,7 @@ static void destroy_all_async(struct dev_state *ps) unsigned long flags; spin_lock_irqsave(&ps->lock, flags); - if (!list_empty(&ps->async_pending)) { + while (!list_empty(&ps->async_pending)) { as = list_entry(ps->async_pending.next, struct async, asynclist); list_del(&as->asynclist); INIT_LIST_HEAD(&as->asynclist); @@ -1003,17 +1003,12 @@ static unsigned int usbdev_poll(struct file *file, struct poll_table_struct *wai } static struct file_operations usbdevfs_device_file_operations = { - usbdev_lseek, /* lseek */ - usbdev_read, /* read */ - NULL, /* write */ - NULL, /* readdir */ - usbdev_poll, /* poll */ - usbdev_ioctl, /* ioctl */ - NULL, /* mmap */ - usbdev_open, /* open */ - NULL, /* flush */ - usbdev_release, /* release */ - NULL /* fsync */ + llseek: usbdev_lseek, + read: usbdev_read, + poll: usbdev_poll, + ioctl: usbdev_ioctl, + open: usbdev_open, + release: usbdev_release, }; struct inode_operations usbdevfs_device_inode_operations = { |