diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c index f357a7ac70ac4756967730fa61c07258b4b3ac00..dcc492551e05feba52f0248ae9a2f7856e7a5604 100644 --- a/drivers/net/wan/lapbether.c +++ b/drivers/net/wan/lapbether.c @@ -255,9 +255,13 @@ static void lapbeth_data_transmit(struct net_device *ndev, struct sk_buff *skb) skb_reset_network_header(skb); - dev_hard_header(skb, dev, ETH_P_DEC, bcast_addr, NULL, 0); + if (unlikely(dev->type != ARPHRD_ETHER)) { + kfree_skb(skb); + } else { + dev_hard_header(skb, dev, ETH_P_DEC, bcast_addr, NULL, 0); - dev_queue_xmit(skb); + dev_queue_xmit(skb); + } } static void lapbeth_connected(struct net_device *dev, int reason)