On Sun, 2020-05-31 at 19:08 +0300, Ivan Safonov wrote: > Wrappers around skb_clone() do not simplify the driver code. [] > -inline struct sk_buff *_rtw_skb_clone(struct sk_buff *skb) > -{ > - return skb_clone(skb, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL); > -} > - [] > diff --git a/drivers/staging/rtl8723bs/os_dep/recv_linux.c b/drivers/staging/rtl8723bs/os_dep/recv_linux.c [] > @@ -110,7 +110,7 @@ void rtw_os_recv_indicate_pkt(struct adapter *padapter, _pkt *pkt, struct rx_pkt > if (memcmp(pattrib->dst, myid(&padapter->eeprompriv), ETH_ALEN)) { > if (bmcast) { > psta = rtw_get_bcmc_stainfo(padapter); > - pskb2 = rtw_skb_clone(pkt); > + pskb2 = skb_clone(pkt, GFP_ATOMIC); Why make every clone allocation GFP_ATOMIC ? _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel