Commit c5a73ee2 authored by Kurt Kanzenbach's avatar Kurt Kanzenbach Committed by Greg Kroah-Hartman

staging: usbip: reformat function stub_recv_cmd_unlink()

Reformat function stub_recv_cmd_unlink() to improve readability.
Signed-off-by: default avatarKurt Kanzenbach <ly80toro@cip.cs.fau.de>
Signed-off-by: default avatarStefan Reif <ke42caxa@cip.cs.fau.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 69f45263
...@@ -228,61 +228,61 @@ static void tweak_special_requests(struct urb *urb) ...@@ -228,61 +228,61 @@ static void tweak_special_requests(struct urb *urb)
static int stub_recv_cmd_unlink(struct stub_device *sdev, static int stub_recv_cmd_unlink(struct stub_device *sdev,
struct usbip_header *pdu) struct usbip_header *pdu)
{ {
int ret;
unsigned long flags; unsigned long flags;
struct stub_priv *priv; struct stub_priv *priv;
spin_lock_irqsave(&sdev->priv_lock, flags); spin_lock_irqsave(&sdev->priv_lock, flags);
list_for_each_entry(priv, &sdev->priv_init, list) { list_for_each_entry(priv, &sdev->priv_init, list) {
if (priv->seqnum == pdu->u.cmd_unlink.seqnum) { if (priv->seqnum != pdu->u.cmd_unlink.seqnum)
int ret; continue;
dev_info(&priv->urb->dev->dev, "unlink urb %p\n", dev_info(&priv->urb->dev->dev, "unlink urb %p\n",
priv->urb); priv->urb);
/* /*
* This matched urb is not completed yet (i.e., be in * This matched urb is not completed yet (i.e., be in
* flight in usb hcd hardware/driver). Now we are * flight in usb hcd hardware/driver). Now we are
* cancelling it. The unlinking flag means that we are * cancelling it. The unlinking flag means that we are
* now not going to return the normal result pdu of a * now not going to return the normal result pdu of a
* submission request, but going to return a result pdu * submission request, but going to return a result pdu
* of the unlink request. * of the unlink request.
*/ */
priv->unlinking = 1; priv->unlinking = 1;
/* /*
* In the case that unlinking flag is on, prev->seqnum * In the case that unlinking flag is on, prev->seqnum
* is changed from the seqnum of the cancelling urb to * is changed from the seqnum of the cancelling urb to
* the seqnum of the unlink request. This will be used * the seqnum of the unlink request. This will be used
* to make the result pdu of the unlink request. * to make the result pdu of the unlink request.
*/ */
priv->seqnum = pdu->base.seqnum; priv->seqnum = pdu->base.seqnum;
spin_unlock_irqrestore(&sdev->priv_lock, flags); spin_unlock_irqrestore(&sdev->priv_lock, flags);
/* /*
* usb_unlink_urb() is now out of spinlocking to avoid * usb_unlink_urb() is now out of spinlocking to avoid
* spinlock recursion since stub_complete() is * spinlock recursion since stub_complete() is
* sometimes called in this context but not in the * sometimes called in this context but not in the
* interrupt context. If stub_complete() is executed * interrupt context. If stub_complete() is executed
* before we call usb_unlink_urb(), usb_unlink_urb() * before we call usb_unlink_urb(), usb_unlink_urb()
* will return an error value. In this case, stub_tx * will return an error value. In this case, stub_tx
* will return the result pdu of this unlink request * will return the result pdu of this unlink request
* though submission is completed and actual unlinking * though submission is completed and actual unlinking
* is not executed. OK? * is not executed. OK?
*/ */
/* In the above case, urb->status is not -ECONNRESET, /* In the above case, urb->status is not -ECONNRESET,
* so a driver in a client host will know the failure * so a driver in a client host will know the failure
* of the unlink request ? * of the unlink request ?
*/ */
ret = usb_unlink_urb(priv->urb); ret = usb_unlink_urb(priv->urb);
if (ret != -EINPROGRESS) if (ret != -EINPROGRESS)
dev_err(&priv->urb->dev->dev, dev_err(&priv->urb->dev->dev,
"failed to unlink a urb %p, ret %d\n", "failed to unlink a urb %p, ret %d\n",
priv->urb, ret); priv->urb, ret);
return 0;
} return 0;
} }
usbip_dbg_stub_rx("seqnum %d is not pending\n", usbip_dbg_stub_rx("seqnum %d is not pending\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment