Skip to content

Commit 9d2da72

Browse files
jefstathdavem330
authored andcommitted
lan78xx: Re-order rx_submit() to remove forward declaration
Move position of rx_submit() to remove forward declaration of rx_complete() which is now no longer required. Signed-off-by: John Efstathiades <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent c450a8e commit 9d2da72

File tree

1 file changed

+52
-54
lines changed

1 file changed

+52
-54
lines changed

drivers/net/usb/lan78xx.c

Lines changed: 52 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -3680,60 +3680,6 @@ static inline void rx_process(struct lan78xx_net *dev, struct sk_buff *skb)
36803680
dev->net->stats.rx_errors++;
36813681
}
36823682

3683-
static void rx_complete(struct urb *urb);
3684-
3685-
static int rx_submit(struct lan78xx_net *dev, struct sk_buff *skb, gfp_t flags)
3686-
{
3687-
struct skb_data *entry = (struct skb_data *)skb->cb;
3688-
size_t size = dev->rx_urb_size;
3689-
struct urb *urb = entry->urb;
3690-
unsigned long lockflags;
3691-
int ret = 0;
3692-
3693-
usb_fill_bulk_urb(urb, dev->udev, dev->pipe_in,
3694-
skb->data, size, rx_complete, skb);
3695-
3696-
spin_lock_irqsave(&dev->rxq.lock, lockflags);
3697-
3698-
if (netif_device_present(dev->net) &&
3699-
netif_running(dev->net) &&
3700-
!test_bit(EVENT_RX_HALT, &dev->flags) &&
3701-
!test_bit(EVENT_DEV_ASLEEP, &dev->flags)) {
3702-
ret = usb_submit_urb(urb, flags);
3703-
switch (ret) {
3704-
case 0:
3705-
lan78xx_queue_skb(&dev->rxq, skb, rx_start);
3706-
break;
3707-
case -EPIPE:
3708-
lan78xx_defer_kevent(dev, EVENT_RX_HALT);
3709-
break;
3710-
case -ENODEV:
3711-
case -ENOENT:
3712-
netif_dbg(dev, ifdown, dev->net, "device gone\n");
3713-
netif_device_detach(dev->net);
3714-
break;
3715-
case -EHOSTUNREACH:
3716-
ret = -ENOLINK;
3717-
tasklet_schedule(&dev->bh);
3718-
break;
3719-
default:
3720-
netif_dbg(dev, rx_err, dev->net,
3721-
"rx submit, %d\n", ret);
3722-
tasklet_schedule(&dev->bh);
3723-
break;
3724-
}
3725-
} else {
3726-
netif_dbg(dev, ifdown, dev->net, "rx: stopped\n");
3727-
ret = -ENOLINK;
3728-
}
3729-
spin_unlock_irqrestore(&dev->rxq.lock, lockflags);
3730-
3731-
if (ret)
3732-
lan78xx_release_rx_buf(dev, skb);
3733-
3734-
return ret;
3735-
}
3736-
37373683
static void rx_complete(struct urb *urb)
37383684
{
37393685
struct sk_buff *skb = (struct sk_buff *)urb->context;
@@ -3794,6 +3740,58 @@ static void rx_complete(struct urb *urb)
37943740
state = defer_bh(dev, skb, &dev->rxq, state);
37953741
}
37963742

3743+
static int rx_submit(struct lan78xx_net *dev, struct sk_buff *skb, gfp_t flags)
3744+
{
3745+
struct skb_data *entry = (struct skb_data *)skb->cb;
3746+
size_t size = dev->rx_urb_size;
3747+
struct urb *urb = entry->urb;
3748+
unsigned long lockflags;
3749+
int ret = 0;
3750+
3751+
usb_fill_bulk_urb(urb, dev->udev, dev->pipe_in,
3752+
skb->data, size, rx_complete, skb);
3753+
3754+
spin_lock_irqsave(&dev->rxq.lock, lockflags);
3755+
3756+
if (netif_device_present(dev->net) &&
3757+
netif_running(dev->net) &&
3758+
!test_bit(EVENT_RX_HALT, &dev->flags) &&
3759+
!test_bit(EVENT_DEV_ASLEEP, &dev->flags)) {
3760+
ret = usb_submit_urb(urb, flags);
3761+
switch (ret) {
3762+
case 0:
3763+
lan78xx_queue_skb(&dev->rxq, skb, rx_start);
3764+
break;
3765+
case -EPIPE:
3766+
lan78xx_defer_kevent(dev, EVENT_RX_HALT);
3767+
break;
3768+
case -ENODEV:
3769+
case -ENOENT:
3770+
netif_dbg(dev, ifdown, dev->net, "device gone\n");
3771+
netif_device_detach(dev->net);
3772+
break;
3773+
case -EHOSTUNREACH:
3774+
ret = -ENOLINK;
3775+
tasklet_schedule(&dev->bh);
3776+
break;
3777+
default:
3778+
netif_dbg(dev, rx_err, dev->net,
3779+
"rx submit, %d\n", ret);
3780+
tasklet_schedule(&dev->bh);
3781+
break;
3782+
}
3783+
} else {
3784+
netif_dbg(dev, ifdown, dev->net, "rx: stopped\n");
3785+
ret = -ENOLINK;
3786+
}
3787+
spin_unlock_irqrestore(&dev->rxq.lock, lockflags);
3788+
3789+
if (ret)
3790+
lan78xx_release_rx_buf(dev, skb);
3791+
3792+
return ret;
3793+
}
3794+
37973795
static void lan78xx_rx_urb_submit_all(struct lan78xx_net *dev)
37983796
{
37993797
struct sk_buff *rx_buf;

0 commit comments

Comments
 (0)