staging:r8723bs: remove wrappers around skb_clone() and remove unnecessary in_interru...
authorIvan Safonov <insafonov@gmail.com>
Sun, 31 May 2020 18:17:52 +0000 (21:17 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Jun 2020 07:57:55 +0000 (09:57 +0200)
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>
drivers/staging/rtl8723bs/include/osdep_service.h
drivers/staging/rtl8723bs/os_dep/osdep_service.c
drivers/staging/rtl8723bs/os_dep/recv_linux.c

index 5f681899bbece5d59f544179987db98966a0f0fd..be34e279670b0b371c7d33c5cb6237e4ac4d1182 100644 (file)
@@ -94,7 +94,6 @@ void _kfree(u8 *pbuf, u32 sz);
 
 struct sk_buff *_rtw_skb_alloc(u32 sz);
 struct sk_buff *_rtw_skb_copy(const struct sk_buff *skb);
-struct sk_buff *_rtw_skb_clone(struct sk_buff *skb);
 int _rtw_netif_rx(_nic_hdl ndev, struct sk_buff *skb);
 
 #define rtw_malloc(sz)                 _rtw_malloc((sz))
@@ -103,9 +102,7 @@ int _rtw_netif_rx(_nic_hdl ndev, struct sk_buff *skb);
 #define rtw_skb_alloc(size) _rtw_skb_alloc((size))
 #define rtw_skb_alloc_f(size, mstat_f) _rtw_skb_alloc((size))
 #define rtw_skb_copy(skb)      _rtw_skb_copy((skb))
-#define rtw_skb_clone(skb)     _rtw_skb_clone((skb))
 #define rtw_skb_copy_f(skb, mstat_f)   _rtw_skb_copy((skb))
-#define rtw_skb_clone_f(skb, mstat_f)  _rtw_skb_clone((skb))
 #define rtw_netif_rx(ndev, skb) _rtw_netif_rx(ndev, skb)
 
 extern void _rtw_init_queue(struct __queue     *pqueue);
index 4238209ec17562b883b0948503a53f5d085c8ab6..6d443197a0cf8966b453c68ea86ce67baea1029c 100644 (file)
@@ -47,11 +47,6 @@ inline struct sk_buff *_rtw_skb_copy(const struct sk_buff *skb)
        return skb_copy(skb, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL);
 }
 
-inline struct sk_buff *_rtw_skb_clone(struct sk_buff *skb)
-{
-       return skb_clone(skb, in_interrupt() ? GFP_ATOMIC : GFP_KERNEL);
-}
-
 inline int _rtw_netif_rx(_nic_hdl ndev, struct sk_buff *skb)
 {
        skb->dev = ndev;
index eb4d1c3008fea63f53d5c6aeaf72d3dc1bd04c68..b2a1bbb30df65421a953183bb57e827273bdfe81 100644 (file)
@@ -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);
                                } else {
                                        psta = rtw_get_stainfo(pstapriv, pattrib->dst);
                                }