Patchwork [next] hysdn: Kill directly reference of netdev->priv

login
register
mail settings
Submitter Wang Chen
Date Dec. 1, 2008, 2:28 p.m.
Message ID <4933F47A.5060104@cn.fujitsu.com>
Download mbox | patch
Permalink /patch/11600/
State Accepted
Delegated to: David Miller
Headers show

Comments

Wang Chen - Dec. 1, 2008, 2:28 p.m.
Usually, netdev->priv should point to the memory of private
data which is allocated in alloc_netdev().
netdev_priv() is used to get the address of the private data.

Change the netdev->priv pointer to another memory is wrong.
Use netdev->ml_priv for this case.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
---
 drivers/isdn/hysdn/hysdn_net.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)
David Miller - Dec. 3, 2008, 11:49 p.m.
From: Wang Chen <wangchen@cn.fujitsu.com>
Date: Mon, 01 Dec 2008 22:28:10 +0800

> Usually, netdev->priv should point to the memory of private
> data which is allocated in alloc_netdev().
> netdev_priv() is used to get the address of the private data.
> 
> Change the netdev->priv pointer to another memory is wrong.
> Use netdev->ml_priv for this case.
> 
> Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/isdn/hysdn/hysdn_net.c b/drivers/isdn/hysdn/hysdn_net.c
index cfa8fa5..5b4ae67 100644
--- a/drivers/isdn/hysdn/hysdn_net.c
+++ b/drivers/isdn/hysdn/hysdn_net.c
@@ -76,7 +76,7 @@  static int
 net_open(struct net_device *dev)
 {
 	struct in_device *in_dev;
-	hysdn_card *card = dev->priv;
+	hysdn_card *card = dev->ml_priv;
 	int i;
 
 	netif_start_queue(dev);	/* start tx-queueing */
@@ -159,7 +159,7 @@  net_send_packet(struct sk_buff *skb, struct net_device *dev)
 	spin_unlock_irq(&lp->lock);
 
 	if (lp->sk_count <= 3) {
-		schedule_work(&((hysdn_card *) dev->priv)->irq_queue);
+		schedule_work(&((hysdn_card *) dev->ml_priv)->irq_queue);
 	}
 	return (0);		/* success */
 }				/* net_send_packet */
@@ -295,7 +295,7 @@  hysdn_net_create(hysdn_card * card)
 		kfree(dev);
 		return (i);
 	}
-	dev->priv = card;	/* remember pointer to own data structure */
+	dev->ml_priv = card;	/* remember pointer to own data structure */
 	card->netif = dev;	/* setup the local pointer */
 
 	if (card->debug_flags & LOG_NET_INIT)