From: Julia Lawall <julia.law...@lip6.fr>

On success, the function netdev_alloc_skb initializes the dev field of its
result to its first argument, so this doesn't have to be done in the
calling context.

The semantic patch that fixes this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression skb,privn,e;
@@

skb = netdev_alloc_skb(privn,...);
... when strict
(
-skb->dev = privn;
|
?skb = e
)
// </smpl>

Signed-off-by: Julia Lawall <julia.law...@lip6.fr>

---
 drivers/staging/rtl8712/rtl8712_recv.c |    2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/staging/rtl8712/rtl8712_recv.c 
b/drivers/staging/rtl8712/rtl8712_recv.c
index ea96537..0723b2f 100644
--- a/drivers/staging/rtl8712/rtl8712_recv.c
+++ b/drivers/staging/rtl8712/rtl8712_recv.c
@@ -90,7 +90,6 @@ int r8712_init_recv_priv(struct recv_priv *precvpriv, struct 
_adapter *padapter)
                pskb = netdev_alloc_skb(padapter->pnetdev, MAX_RECVBUF_SZ +
                       RECVBUFF_ALIGN_SZ);
                if (pskb) {
-                       pskb->dev = padapter->pnetdev;
                        tmpaddr = (addr_t)pskb->data;
                        alignment = tmpaddr & (RECVBUFF_ALIGN_SZ-1);
                        skb_reserve(pskb, (RECVBUFF_ALIGN_SZ - alignment));
@@ -1083,7 +1082,6 @@ static int recvbuf2recvframe(struct _adapter *padapter, 
struct sk_buff *pskb)
                alloc_sz += 6;
                pkt_copy = netdev_alloc_skb(padapter->pnetdev, alloc_sz);
                if (pkt_copy) {
-                       pkt_copy->dev = padapter->pnetdev;
                        precvframe->u.hdr.pkt = pkt_copy;
                        skb_reserve(pkt_copy, 4 - ((addr_t)(pkt_copy->data)
                                    % 4));

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to