]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/usb/serial/kl5kusb105.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[karo-tx-linux.git] / drivers / usb / serial / kl5kusb105.c
index b3ac045ab4084cb2148301275a5f4f0f6627815d..f328948d74e3dfc9cf21439333ef48140eff1af9 100644 (file)
@@ -54,6 +54,7 @@
 #include <linux/tty_flip.h>
 #include <linux/module.h>
 #include <asm/uaccess.h>
+#include <asm/unaligned.h>
 #include <linux/usb.h>
 #include <linux/usb/serial.h>
 #include "kl5kusb105.h"
@@ -235,7 +236,7 @@ static int klsi_105_get_line_state(struct usb_serial_port *port,
        if (rc < 0)
                err("Reading line status failed (error = %d)", rc);
        else {
-               status = le16_to_cpu(*(u16 *)status_buf);
+               status = le16_to_cpu(get_unaligned((__le16 *)status_buf));
 
                info("%s - read status %x %x", __func__,
                     status_buf[0], status_buf[1]);
@@ -567,7 +568,7 @@ exit:
 
 static void klsi_105_write_bulk_callback ( struct urb *urb)
 {
-       struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
+       struct usb_serial_port *port = urb->context;
        int status = urb->status;
 
        dbg("%s - port %d", __func__, port->number);
@@ -628,7 +629,7 @@ static int klsi_105_write_room (struct usb_serial_port *port)
 
 static void klsi_105_read_bulk_callback (struct urb *urb)
 {
-       struct usb_serial_port *port = (struct usb_serial_port *)urb->context;
+       struct usb_serial_port *port = urb->context;
        struct klsi_105_private *priv = usb_get_serial_port_data(port);
        struct tty_struct *tty;
        unsigned char *data = urb->transfer_buffer;