VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / drivers / usb / class / usb-midi.c
index 3546b9b..6a6dbac 100644 (file)
@@ -646,9 +646,6 @@ static ssize_t usb_midi_read(struct file *file, char __user *buffer, size_t coun
        ssize_t ret;
        DECLARE_WAITQUEUE(wait, current);
 
-       if ( ppos != &file->f_pos ) {
-               return -ESPIPE;
-       }
        if ( !access_ok(VERIFY_READ, buffer, count) ) {
                return -EFAULT;
        }
@@ -728,9 +725,6 @@ static ssize_t usb_midi_write(struct file *file, const char __user *buffer, size
        ssize_t ret;
        unsigned long int flags;
 
-       if ( ppos != &file->f_pos ) {
-               return -ESPIPE;
-       }
        if ( !access_ok(VERIFY_READ, buffer, count) ) {
                return -EFAULT;
        }
@@ -920,7 +914,7 @@ static int usb_midi_open(struct inode *inode, struct file *file)
        printk(KERN_INFO "usb-midi: Open Succeeded. minor= %d.\n", minor);
 #endif
 
-       return 0; /** Success. **/
+       return nonseekable_open(inode, file); /** Success. **/
 }
 
 
@@ -951,7 +945,7 @@ static int usb_midi_release(struct inode *inode, struct file *file)
        if ( m->open_mode & FMODE_READ ) {
                unsigned long int flagsep;
                spin_lock_irqsave( &m->min.ep->lock, flagsep );
-                m->min.ep->cables[m->min.cableId] = 0; // discard cable
+                m->min.ep->cables[m->min.cableId] = NULL; // discard cable
                 m->min.ep->readers -= 1;
                m->open_mode &= ~FMODE_READ;
                if ( m->min.ep->readers == 0 &&
@@ -967,7 +961,7 @@ static int usb_midi_release(struct inode *inode, struct file *file)
        up(&open_sem);
        wake_up(&open_wait);
 
-       file->private_data = 0;
+       file->private_data = NULL;
        return 0;
 }
 
@@ -1294,7 +1288,7 @@ static struct usb_midi_device *parse_descriptor( struct usb_device *d, unsigned
        unsigned char jack2string[256];
 #endif
 
-       u = 0;
+       u = NULL;
        /* find audiocontrol interface */
        p1 = find_csinterface_descriptor( buffer, bufSize, NULL,
                                          MS_HEADER, ifnum, altSetting);
@@ -1314,7 +1308,7 @@ static struct usb_midi_device *parse_descriptor( struct usb_device *d, unsigned
        if ( !u ) {
                return NULL;
        }
-       u->deviceName = 0;
+       u->deviceName = NULL;
        u->idVendor = d->descriptor.idVendor;
        u->idProduct = d->descriptor.idProduct;
        u->interface = ifnum;
@@ -1388,7 +1382,7 @@ static struct usb_midi_device *parse_descriptor( struct usb_device *d, unsigned
 
        if (quirks==0) {
                /* MIDISTREAM */
-               p2 = 0;
+               p2 = NULL;
                for (p1 = find_descriptor(buffer, bufSize, NULL, USB_DT_ENDPOINT,
                                          ifnum, altSetting ); p1; p1 = next ) {
                        next = find_descriptor(buffer, bufSize, p1, USB_DT_ENDPOINT,
@@ -1397,7 +1391,7 @@ static struct usb_midi_device *parse_descriptor( struct usb_device *d, unsigned
                                             ifnum, altSetting ); 
 
                        if ( p2 && next && ( p2 > next ) )
-                               p2 = 0;
+                               p2 = NULL;
 
                        if ( p1[0] < 9 || !p2 || p2[0] < 4 )
                                continue;
@@ -1940,8 +1934,8 @@ static int detect_by_hand(struct usb_device *d, unsigned int ifnum, struct usb_m
        if ( ucable < 0 || ucable > 15 )
                ucable = 0;
 
-       u.deviceName = 0; /* A flag for alloc_usb_midi_device to get device name
-                            from device. */
+       u.deviceName = NULL; /* A flag for alloc_usb_midi_device to get device
+                               name from device. */
        u.idVendor   = uvendor;
        u.idProduct  = uproduct;
        u.interface  = uinterface;