Commit f5283274 authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman

staging: vt6656: Include re_alloc_skb within lock.

Remove variable re_alloc_skb and merge code within urb->actual_length.
Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 04f2ff16
......@@ -276,7 +276,6 @@ static void s_nsBulkInUsbIoCompleteRead(struct urb *urb)
struct vnt_rcb *rcb = urb->context;
struct vnt_private *priv = rcb->pDevice;
unsigned long flags;
int re_alloc_skb = false;
switch (urb->status) {
case 0:
......@@ -294,24 +293,22 @@ static void s_nsBulkInUsbIoCompleteRead(struct urb *urb)
if (urb->actual_length) {
spin_lock_irqsave(&priv->lock, flags);
if (vnt_rx_data(priv, rcb, urb->actual_length))
re_alloc_skb = true;
spin_unlock_irqrestore(&priv->lock, flags);
}
if (re_alloc_skb) {
if (vnt_rx_data(priv, rcb, urb->actual_length)) {
rcb->skb = dev_alloc_skb(priv->rx_buf_sz);
if (!rcb->skb) {
dev_dbg(&priv->usb->dev, "Failed to re-alloc rx skb\n");
dev_dbg(&priv->usb->dev,
"Failed to re-alloc rx skb\n");
rcb->bBoolInUse = false;
spin_unlock_irqrestore(&priv->lock, flags);
return;
}
}
urb->transfer_buffer = skb_put(rcb->skb,
skb_tailroom(rcb->skb));
spin_unlock_irqrestore(&priv->lock, flags);
}
if (usb_submit_urb(urb, GFP_ATOMIC)) {
......
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