> + len = kfifo_in_locked(dlci->fifo, skb->data, skb->len, > &dlci->lock); > + len = skb->len - len; > + dev_kfree_skb(skb); > + netif_start_queue(net); > + gsm_dlci_data_kick(dlci);
Ok this fails in some cases. You need to ensure the ip packet goes out as a single mux frame. Just stuffing it down the fifo and kicking it won't do the trick as you will lose boundaries under load. > + skb->protocol = __constant_htons(ETH_P_IP); > + skb->ip_summed = CHECKSUM_UNNECESSARY; No - there isn't any guarantee the modem checksummed the data for us, in fact it's unlikely it did. Otherwise all definitely heading the right way. _______________________________________________ MeeGo-kernel mailing list [email protected] http://lists.meego.com/listinfo/meego-kernel
