]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/usb/serial/ark3116.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-omap-h63xx.git] / drivers / usb / serial / ark3116.c
index edd685791a6b1cc030a6c7cdd5464db146dad585..fe437125f14bc9f86cdb2b4352c04c2c2528aca6 100644 (file)
@@ -63,7 +63,8 @@ static inline void ARK3116_RCV(struct usb_serial *serial, int seq,
                                 request, requesttype, value, index,
                                 buf, 0x0000001, 1000);
        if (result)
-               dbg("%03d < %d bytes [0x%02X]", seq, result, buf[0]);
+               dbg("%03d < %d bytes [0x%02X]", seq, result,
+                   ((unsigned char *)buf)[0]);
        else
                dbg("%03d < 0 bytes", seq);
 }
@@ -341,7 +342,7 @@ static int ark3116_open(struct usb_serial_port *port, struct file *filp)
 
        result = usb_serial_generic_open(port, filp);
        if (result)
-               return result;
+               goto err_out;
 
        /* open */
        ARK3116_RCV(serial, 111, 0xFE, 0xC0, 0x0000, 0x0003, 0x02, buf);
@@ -372,6 +373,7 @@ static int ark3116_open(struct usb_serial_port *port, struct file *filp)
        if (port->tty)
                ark3116_set_termios(port, &tmp_termios);
 
+err_out:
        kfree(buf);
 
        return result;