]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/staging/usbip/stub_tx.c
staging: fix usbip printk format warning
[mv-sheeva.git] / drivers / staging / usbip / stub_tx.c
index 64a52b26dcf6d7fe9d185372393a11f8af0e0149..023fda305be292a89be270b146da9321d43eeba8 100644 (file)
  * USA.
  */
 
-#include <linux/slab.h>
 #include <linux/kthread.h>
+#include <linux/socket.h>
 
 #include "usbip_common.h"
 #include "stub.h"
 
-
 static void stub_free_priv_and_urb(struct stub_priv *priv)
 {
        struct urb *urb = priv->urb;
@@ -71,58 +70,53 @@ void stub_complete(struct urb *urb)
 
        usbip_dbg_stub_tx("complete! status %d\n", urb->status);
 
-
        switch (urb->status) {
        case 0:
                /* OK */
                break;
        case -ENOENT:
-               usbip_uinfo("stopped by a call of usb_kill_urb() because of"
-                                       "cleaning up a virtual connection\n");
+               dev_info(&urb->dev->dev, "stopped by a call to usb_kill_urb() "
+                        "because of cleaning up a virtual connection\n");
                return;
        case -ECONNRESET:
-               usbip_uinfo("unlinked by a call of usb_unlink_urb()\n");
+               dev_info(&urb->dev->dev, "unlinked by a call to "
+                        "usb_unlink_urb()\n");
                break;
        case -EPIPE:
-               usbip_uinfo("endpoint %d is stalled\n",
-                                               usb_pipeendpoint(urb->pipe));
+               dev_info(&urb->dev->dev, "endpoint %d is stalled\n",
+                        usb_pipeendpoint(urb->pipe));
                break;
        case -ESHUTDOWN:
-               usbip_uinfo("device removed?\n");
+               dev_info(&urb->dev->dev, "device removed?\n");
                break;
        default:
-               usbip_uinfo("urb completion with non-zero status %d\n",
-                                                       urb->status);
+               dev_info(&urb->dev->dev, "urb completion with non-zero status "
+                        "%d\n", urb->status);
+               break;
        }
 
        /* link a urb to the queue of tx. */
        spin_lock_irqsave(&sdev->priv_lock, flags);
-
        if (priv->unlinking) {
                stub_enqueue_ret_unlink(sdev, priv->seqnum, urb->status);
                stub_free_priv_and_urb(priv);
-       } else
+       } else {
                list_move_tail(&priv->list, &sdev->priv_tx);
-
-
+       }
        spin_unlock_irqrestore(&sdev->priv_lock, flags);
 
        /* wake up tx_thread */
        wake_up(&sdev->tx_waitq);
 }
 
-
-/*-------------------------------------------------------------------------*/
-/* fill PDU */
-
 static inline void setup_base_pdu(struct usbip_header_basic *base,
-               __u32 command, __u32 seqnum)
+                                 __u32 command, __u32 seqnum)
 {
-       base->command = command;
-       base->seqnum  = seqnum;
-       base->devid   = 0;
-       base->ep      = 0;
-       base->direction   = 0;
+       base->command   = command;
+       base->seqnum    = seqnum;
+       base->devid     = 0;
+       base->ep        = 0;
+       base->direction = 0;
 }
 
 static void setup_ret_submit_pdu(struct usbip_header *rpdu, struct urb *urb)
@@ -130,22 +124,16 @@ static void setup_ret_submit_pdu(struct usbip_header *rpdu, struct urb *urb)
        struct stub_priv *priv = (struct stub_priv *) urb->context;
 
        setup_base_pdu(&rpdu->base, USBIP_RET_SUBMIT, priv->seqnum);
-
        usbip_pack_pdu(rpdu, urb, USBIP_RET_SUBMIT, 1);
 }
 
 static void setup_ret_unlink_pdu(struct usbip_header *rpdu,
-               struct stub_unlink *unlink)
+                                struct stub_unlink *unlink)
 {
        setup_base_pdu(&rpdu->base, USBIP_RET_UNLINK, unlink->seqnum);
-
        rpdu->u.ret_unlink.status = unlink->status;
 }
 
-
-/*-------------------------------------------------------------------------*/
-/* send RET_SUBMIT */
-
 static struct stub_priv *dequeue_from_priv_tx(struct stub_device *sdev)
 {
        unsigned long flags;
@@ -203,7 +191,7 @@ static int stub_send_ret_submit(struct stub_device *sdev)
                /* 1. setup usbip_header */
                setup_ret_submit_pdu(&pdu_header, urb);
                usbip_dbg_stub_tx("setup txdata seqnum: %d urb: %p\n",
-                                               pdu_header.base.seqnum, urb);
+                                 pdu_header.base.seqnum, urb);
                /*usbip_dump_header(pdu_header);*/
                usbip_header_correct_endian(&pdu_header, 1);
 
@@ -214,14 +202,14 @@ static int stub_send_ret_submit(struct stub_device *sdev)
 
                /* 2. setup transfer buffer */
                if (usb_pipein(urb->pipe) &&
-                               usb_pipetype(urb->pipe) != PIPE_ISOCHRONOUS &&
-                                       urb->actual_length > 0) {
+                   usb_pipetype(urb->pipe) != PIPE_ISOCHRONOUS &&
+                   urb->actual_length > 0) {
                        iov[iovnum].iov_base = urb->transfer_buffer;
                        iov[iovnum].iov_len  = urb->actual_length;
                        iovnum++;
                        txsize += urb->actual_length;
                } else if (usb_pipein(urb->pipe) &&
-                               usb_pipetype(urb->pipe) == PIPE_ISOCHRONOUS) {
+                          usb_pipetype(urb->pipe) == PIPE_ISOCHRONOUS) {
                        /*
                         * For isochronous packets: actual length is the sum of
                         * the actual length of the individual, packets, but as
@@ -232,18 +220,23 @@ static int stub_send_ret_submit(struct stub_device *sdev)
 
                        int i;
                        for (i = 0; i < urb->number_of_packets; i++) {
-                               iov[iovnum].iov_base = urb->transfer_buffer + urb->iso_frame_desc[i].offset;
-                               iov[iovnum].iov_len = urb->iso_frame_desc[i].actual_length;
+                               iov[iovnum].iov_base = urb->transfer_buffer +
+                                       urb->iso_frame_desc[i].offset;
+                               iov[iovnum].iov_len =
+                                       urb->iso_frame_desc[i].actual_length;
                                iovnum++;
                                txsize += urb->iso_frame_desc[i].actual_length;
                        }
 
                        if (txsize != sizeof(pdu_header) + urb->actual_length) {
                                dev_err(&sdev->interface->dev,
-                                       "actual length of urb (%d) does not match iso packet sizes (%d)\n",
-                                       urb->actual_length, txsize-sizeof(pdu_header));
+                                       "actual length of urb %d does not "
+                                       "match iso packet sizes %zu\n",
+                                       urb->actual_length,
+                                       txsize-sizeof(pdu_header));
                                kfree(iov);
-                               usbip_event_add(&sdev->ud, SDEV_EVENT_ERROR_TCP);
+                               usbip_event_add(&sdev->ud,
+                                               SDEV_EVENT_ERROR_TCP);
                           return -1;
                        }
                }
@@ -285,20 +278,14 @@ static int stub_send_ret_submit(struct stub_device *sdev)
        }
 
        spin_lock_irqsave(&sdev->priv_lock, flags);
-
        list_for_each_entry_safe(priv, tmp, &sdev->priv_free, list) {
                stub_free_priv_and_urb(priv);
        }
-
        spin_unlock_irqrestore(&sdev->priv_lock, flags);
 
        return total_size;
 }
 
-
-/*-------------------------------------------------------------------------*/
-/* send RET_UNLINK */
-
 static struct stub_unlink *dequeue_from_unlink_tx(struct stub_device *sdev)
 {
        unsigned long flags;
@@ -317,7 +304,6 @@ static struct stub_unlink *dequeue_from_unlink_tx(struct stub_device *sdev)
        return NULL;
 }
 
-
 static int stub_send_ret_unlink(struct stub_device *sdev)
 {
        unsigned long flags;
@@ -358,13 +344,10 @@ static int stub_send_ret_unlink(struct stub_device *sdev)
                        return -1;
                }
 
-
                usbip_dbg_stub_tx("send txdata\n");
-
                total_size += txsize;
        }
 
-
        spin_lock_irqsave(&sdev->priv_lock, flags);
 
        list_for_each_entry_safe(unlink, tmp, &sdev->unlink_free, list) {
@@ -377,9 +360,6 @@ static int stub_send_ret_unlink(struct stub_device *sdev)
        return total_size;
 }
 
-
-/*-------------------------------------------------------------------------*/
-
 int stub_tx_loop(void *data)
 {
        struct usbip_device *ud = data;
@@ -410,9 +390,9 @@ int stub_tx_loop(void *data)
                        break;
 
                wait_event_interruptible(sdev->tx_waitq,
-                               (!list_empty(&sdev->priv_tx) ||
-                                !list_empty(&sdev->unlink_tx) ||
-                                kthread_should_stop()));
+                                        (!list_empty(&sdev->priv_tx) ||
+                                         !list_empty(&sdev->unlink_tx) ||
+                                         kthread_should_stop()));
        }
 
        return 0;