Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

staging:r8723bs: remove wrappers around skb_clone() and remove unnecessary in_interrupt() call

Wrappers around skb_clone() do not simplify the driver code.

The skb_clone() is always called from an interrupt handler,
so use GFP_ATOMIC allocation only.

Signed-off-by: Ivan Safonov <insafonov@gmail.com>
Link: https://lore.kernel.org/r/20200531181751.41830-1-insafonov@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Ivan Safonov and committed by
Greg Kroah-Hartman
21b1f2b3 aeb4ac79

+1 -9
-3
drivers/staging/rtl8723bs/include/osdep_service.h
··· 94 94 95 95 struct sk_buff *_rtw_skb_alloc(u32 sz); 96 96 struct sk_buff *_rtw_skb_copy(const struct sk_buff *skb); 97 - struct sk_buff *_rtw_skb_clone(struct sk_buff *skb); 98 97 int _rtw_netif_rx(_nic_hdl ndev, struct sk_buff *skb); 99 98 100 99 #define rtw_malloc(sz) _rtw_malloc((sz)) ··· 102 103 #define rtw_skb_alloc(size) _rtw_skb_alloc((size)) 103 104 #define rtw_skb_alloc_f(size, mstat_f) _rtw_skb_alloc((size)) 104 105 #define rtw_skb_copy(skb) _rtw_skb_copy((skb)) 105 - #define rtw_skb_clone(skb) _rtw_skb_clone((skb)) 106 106 #define rtw_skb_copy_f(skb, mstat_f) _rtw_skb_copy((skb)) 107 - #define rtw_skb_clone_f(skb, mstat_f) _rtw_skb_clone((skb)) 108 107 #define rtw_netif_rx(ndev, skb) _rtw_netif_rx(ndev, skb) 109 108 110 109 extern void _rtw_init_queue(struct __queue *pqueue);
-5
drivers/staging/rtl8723bs/os_dep/osdep_service.c
··· 47 47 return skb_copy(skb, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL); 48 48 } 49 49 50 - inline struct sk_buff *_rtw_skb_clone(struct sk_buff *skb) 51 - { 52 - return skb_clone(skb, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL); 53 - } 54 - 55 50 inline int _rtw_netif_rx(_nic_hdl ndev, struct sk_buff *skb) 56 51 { 57 52 skb->dev = ndev;
+1 -1
drivers/staging/rtl8723bs/os_dep/recv_linux.c
··· 110 110 if (memcmp(pattrib->dst, myid(&padapter->eeprompriv), ETH_ALEN)) { 111 111 if (bmcast) { 112 112 psta = rtw_get_bcmc_stainfo(padapter); 113 - pskb2 = rtw_skb_clone(pkt); 113 + pskb2 = skb_clone(pkt, GFP_ATOMIC); 114 114 } else { 115 115 psta = rtw_get_stainfo(pstapriv, pattrib->dst); 116 116 }