mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-05 18:13:26 -04:00
staging: vt6656: Include re_alloc_skb within lock.
Remove variable re_alloc_skb and merge code within urb->actual_length. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
04f2ff16e0
commit
f5283274cc
@@ -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;
|
||||
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");
|
||||
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
}
|
||||
|
||||
if (re_alloc_skb) {
|
||||
rcb->skb = dev_alloc_skb(priv->rx_buf_sz);
|
||||
if (!rcb->skb) {
|
||||
dev_dbg(&priv->usb->dev, "Failed to re-alloc rx skb\n");
|
||||
|
||||
rcb->bBoolInUse = false;
|
||||
|
||||
return;
|
||||
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)) {
|
||||
|
||||
Reference in New Issue
Block a user