Hi Jukka, On Fri, Oct 17, 2014 at 04:10:45PM +0300, Jukka Rissanen wrote: > Hi, > > On to, 2014-10-16 at 10:21 +0800, roy.qing.li@xxxxxxxxx wrote: > > From: Li RongQing <roy.qing.li@xxxxxxxxx> > > > > netif_rx() only returns NET_RX_DROP and NET_RX_SUCCESS, not returns > > negative value > > > > Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> > > --- > > net/bluetooth/6lowpan.c | 9 +-------- > > 1 file changed, 1 insertion(+), 8 deletions(-) > > > > diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c > > index c2e0d14..9b5c89b 100644 > > --- a/net/bluetooth/6lowpan.c > > +++ b/net/bluetooth/6lowpan.c > > @@ -249,19 +249,12 @@ static struct lowpan_dev *lookup_dev(struct l2cap_conn *conn) > > static int give_skb_to_upper(struct sk_buff *skb, struct net_device *dev) > > { > > struct sk_buff *skb_cp; > > - int ret; > > > > skb_cp = skb_copy(skb, GFP_ATOMIC); > > if (!skb_cp) > > return -ENOMEM; > > > > - ret = netif_rx(skb_cp); > > - if (ret < 0) { > > - BT_DBG("receive skb %d", ret); > > - return NET_RX_DROP; > > - } > > - > > - return ret; > > + return netif_rx(skb_cp); > > } > > > > static int process_data(struct sk_buff *skb, struct net_device *netdev, > > Ack to this. > Just for notice: this doesn't fix anything, because it's currently broken. This is part of issue that lowpan_process_data returns sometimes errno and (NET_RX_DROP or NET_RX_SUCCESS). Martin tries to fix this issue, but it seems that this isn't easy. The lowpan_process_data function still returns sometimes a errno or NET_RX_DROP. So a check on (ret < 0) or (ret == NET_RX_DROP) doesn't work. I mean this patch is okay for me, but there still are some problems around. :-) Simple we can't return errno or NET_RX_FOO in lowpan_process_data, but I am sure Martin still working on a fix for this issue. We need to change everything to returning errno's only. - Alex -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html