Hi, I really dont want to be a killjoy, but... > + int ret; > + > + skb = __netdev_alloc_skb_ip_align(adpt->netdev, > + adpt->rxbuf_size, GFP_KERNEL); This is also called in softirq context by the napi handler in which GFP_KERNEL is not allowed. You can either extend the refill function by one gfp_t parameter and then call it with GFP_KERNEL for the initial rx buffer allocation when the hw is brought up and then with GFP_ATOMIC for refilling in the NAPI handler. Or simply always use GFP_ATOMIC. In the latter case the additional parameter is not needed of course and you can use netdev_alloc_skb_ip_align() instead of __netdev_alloc_skb_ip_align(). Regards, Lino -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html