summaryrefslogtreecommitdiffstats
path: root/drivers/usb/devio.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-23 00:40:54 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-23 00:40:54 +0000
commit529c593ece216e4aaffd36bd940cb94f1fa63129 (patch)
tree78f1c0b805f5656aa7b0417a043c5346f700a2cf /drivers/usb/devio.c
parent0bd079751d25808d1972baee5c4eaa1db2227257 (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.c31
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 = {