Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81c38e81 authored by Woojung.Huh@microchip.com's avatar Woojung.Huh@microchip.com Committed by David S. Miller
Browse files

lan78xx: Fix Smatch Warnings



lan78xx.c:2282 tx_complete() warn: variable dereferenced before check 'skb' (see line 2249)
lan78xx.c:2885 lan78xx_bh() info: ignoring unreachable code.
lan78xx.c:3159 lan78xx_probe() info: ignoring unreachable code.

Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>

Signed-off-by: default avatarWoojung Huh <woojung.huh@microchip.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c3ffe0ca
Loading
Loading
Loading
Loading
+7 −11
Original line number Diff line number Diff line
@@ -2279,7 +2279,6 @@ static void tx_complete(struct urb *urb)

	usb_autopm_put_interface_async(dev->intf);

	if (skb)
	defer_bh(dev, skb, &dev->txq, tx_done);
}

@@ -2295,13 +2294,15 @@ static void lan78xx_queue_skb(struct sk_buff_head *list,
netdev_tx_t lan78xx_start_xmit(struct sk_buff *skb, struct net_device *net)
{
	struct lan78xx_net *dev = netdev_priv(net);
	struct sk_buff *skb2 = NULL;

	if (skb)
	if (skb) {
		skb_tx_timestamp(skb);
		skb2 = lan78xx_tx_prep(dev, skb, GFP_ATOMIC);
	}

	skb = lan78xx_tx_prep(dev, skb, GFP_ATOMIC);
	if (skb) {
		skb_queue_tail(&dev->txq_pend, skb);
	if (skb2) {
		skb_queue_tail(&dev->txq_pend, skb2);

		if (skb_queue_len(&dev->txq_pend) > 10)
			netif_stop_queue(net);
@@ -2882,10 +2883,6 @@ static void lan78xx_bh(unsigned long param)
			netdev_dbg(dev->net, "skb state %d\n", entry->state);
			return;
		}
		if (!dev->done.prev)
			BUG_ON(!dev->done.prev);
		if (!dev->done.next)
			BUG_ON(!dev->done.next);
	}

	if (netif_device_present(dev->net) && netif_running(dev->net)) {
@@ -3156,7 +3153,6 @@ static int lan78xx_probe(struct usb_interface *intf,

	return 0;

	usb_set_intfdata(intf, NULL);
out3:
	lan78xx_unbind(dev, intf);
out2: