[PATCH] staging: rtl8192u: fix some type confusion
Ilia Mirkin
imirkin at alum.mit.edu
Sat Dec 7 04:59:26 UTC 2013
The first 8 bytes of skb->cb are used to store a struct net_device *.
Adjust the memcpy's src/dst types to reflect that.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
Noticed this with spatch looking for sizes in memcpy's inconsistent with the
arguments.
drivers/staging/rtl8192u/r8192U_core.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c
index c2bcbe2..36b3bd0 100644
--- a/drivers/staging/rtl8192u/r8192U_core.c
+++ b/drivers/staging/rtl8192u/r8192U_core.c
@@ -1038,7 +1038,7 @@ void rtl8192_hard_data_xmit(struct sk_buff *skb, struct net_device *dev, int rat
spin_lock_irqsave(&priv->tx_lock, flags);
- memcpy((unsigned char *)(skb->cb), &dev, sizeof(dev));
+ memcpy((struct net_device **)(skb->cb), &dev, sizeof(dev));
tcb_desc->bTxEnableFwCalcDur = 1;
skb_push(skb, priv->ieee80211->tx_headroom);
ret = rtl8192_tx(dev, skb);
@@ -1064,7 +1064,7 @@ int rtl8192_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
spin_lock_irqsave(&priv->tx_lock, flags);
- memcpy((unsigned char *)(skb->cb), &dev, sizeof(dev));
+ memcpy((struct net_device **)(skb->cb), &dev, sizeof(dev));
if (queue_index == TXCMD_QUEUE) {
skb_push(skb, USB_HWDESC_HEADER_LEN);
rtl819xU_tx_cmd(dev, skb);
@@ -1280,7 +1280,7 @@ static void rtl8192_tx_isr(struct urb *tx_urb)
cb_desc *tcb_desc = (cb_desc *)(skb->cb + MAX_DEV_ADDR_SIZE);
u8 queue_index = tcb_desc->queue_index;
- memcpy(&dev, (struct net_device *)(skb->cb), sizeof(struct net_device *));
+ memcpy(&dev, (struct net_device **)(skb->cb), sizeof(struct net_device *));
priv = ieee80211_priv(dev);
if (tcb_desc->queue_index != TXCMD_QUEUE) {
--
1.8.3.2
More information about the devel
mailing list