ieee802154: 6lowpan: change if lowpan dev is running
We don't need to check if the wpan interface is running because the lowpan_rcv is the packet layer receive handler for the wpan interface. Instead doing a check if wpan interface is running we should check if the lowpan interface is running before starting 6lowpan adaptation layer. Reviewed-by: Stefan Schmidt <stefan@osg.samsung.com> Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
348a882ea7
commit
989d433dca
|
@ -65,19 +65,20 @@ static int lowpan_rcv(struct sk_buff *skb, struct net_device *wdev,
|
|||
struct packet_type *pt, struct net_device *orig_wdev)
|
||||
{
|
||||
struct ieee802154_hdr hdr;
|
||||
struct net_device *ldev;
|
||||
int ret;
|
||||
|
||||
if (wdev->type != ARPHRD_IEEE802154 ||
|
||||
!wdev->ieee802154_ptr->lowpan_dev)
|
||||
if (wdev->type != ARPHRD_IEEE802154)
|
||||
goto drop;
|
||||
|
||||
ldev = wdev->ieee802154_ptr->lowpan_dev;
|
||||
if (!ldev || !netif_running(ldev))
|
||||
goto drop;
|
||||
|
||||
skb = skb_share_check(skb, GFP_ATOMIC);
|
||||
if (!skb)
|
||||
goto drop;
|
||||
|
||||
if (!netif_running(wdev))
|
||||
goto drop_skb;
|
||||
|
||||
if (skb->pkt_type == PACKET_OTHERHOST)
|
||||
goto drop_skb;
|
||||
|
||||
|
|
Loading…
Reference in a new issue