X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fisdn%2Fi4l%2Fisdn_x25iface.c;h=da1d2fb9fc8dd5da22efa42136a13c1e2f210d50;hb=6f71f83334a552167ccbbd42fe5dd979428c89e4;hp=4ab7600cf9c1bb34194580dd05073a4bf9d09424;hpb=8d40237c730b8be87c1b80a5d96b9c603fefa829;p=linux-2.6.git diff --git a/drivers/isdn/i4l/isdn_x25iface.c b/drivers/isdn/i4l/isdn_x25iface.c index 4ab7600cf..da1d2fb9f 100644 --- a/drivers/isdn/i4l/isdn_x25iface.c +++ b/drivers/isdn/i4l/isdn_x25iface.c @@ -21,7 +21,6 @@ #include #include #include -#include #include "isdn_x25iface.h" /* for debugging messages not to cause an oops when device pointer is NULL*/ @@ -192,9 +191,12 @@ int isdn_x25iface_receive(struct concap_proto *cprot, struct sk_buff *skb) IX25DEBUG( "isdn_x25iface_receive %s \n", MY_DEVNAME(cprot->net_dev) ); if ( ( (ix25_pdata_t*) (cprot->proto_data) ) -> state == WAN_CONNECTED ){ + skb -> dev = cprot -> net_dev; + skb -> protocol = htons(ETH_P_X25); + skb -> pkt_type = PACKET_HOST; if( skb_push(skb, 1)){ skb -> data[0]=0x00; - skb->protocol = x25_type_trans(skb, cprot->net_dev); + skb -> mac.raw = skb -> data; netif_rx(skb); return 0; } @@ -222,7 +224,10 @@ int isdn_x25iface_connect_ind(struct concap_proto *cprot) *state_p = WAN_CONNECTED; if( skb ){ *( skb_put(skb, 1) ) = 0x01; - skb->protocol = x25_type_trans(skb, cprot->net_dev); + skb -> mac.raw = skb -> data; + skb -> dev = cprot -> net_dev; + skb -> protocol = htons(ETH_P_X25); + skb -> pkt_type = PACKET_HOST; netif_rx(skb); return 0; } else { @@ -251,7 +256,10 @@ int isdn_x25iface_disconn_ind(struct concap_proto *cprot) skb = dev_alloc_skb(1); if( skb ){ *( skb_put(skb, 1) ) = 0x02; - skb->protocol = x25_type_trans(skb, cprot->net_dev); + skb -> mac.raw = skb -> data; + skb -> dev = cprot -> net_dev; + skb -> protocol = htons(ETH_P_X25); + skb -> pkt_type = PACKET_HOST; netif_rx(skb); return 0; } else {