aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wan/hdlc_ppp.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-05-12 06:29:11 -0400
committerDavid S. Miller <davem@davemloft.net>2008-05-12 06:29:11 -0400
commit4951704b4e23d71b99ac933d8e6993bc6225ac13 (patch)
treeafcc69d6ec071f5d0bb19517635e9b3cf8f668ba /drivers/net/wan/hdlc_ppp.c
parentc4492586a618d18e8a5343a04bad0ec606064846 (diff)
syncppp: Fix crashes.
The syncppp layer wants a mid-level netdev private pointer. It was using netdev->priv but that only worked by accident, and thus this scheme was broken when the device private allocation strategy changed. Add a proper mid-layer private pointer for uses like this, update syncppp and all users, and remove the HDLC_PPP broken tag from drivers/net/wan/Kconfig Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wan/hdlc_ppp.c')
-rw-r--r--drivers/net/wan/hdlc_ppp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wan/hdlc_ppp.c b/drivers/net/wan/hdlc_ppp.c
index 10396d9686f4..00308337928e 100644
--- a/drivers/net/wan/hdlc_ppp.c
+++ b/drivers/net/wan/hdlc_ppp.c
@@ -45,7 +45,7 @@ static int ppp_open(struct net_device *dev)
45 int (*old_ioctl)(struct net_device *, struct ifreq *, int); 45 int (*old_ioctl)(struct net_device *, struct ifreq *, int);
46 int result; 46 int result;
47 47
48 dev->priv = &state(hdlc)->syncppp_ptr; 48 dev->ml_priv = &state(hdlc)->syncppp_ptr;
49 state(hdlc)->syncppp_ptr = &state(hdlc)->pppdev; 49 state(hdlc)->syncppp_ptr = &state(hdlc)->pppdev;
50 state(hdlc)->pppdev.dev = dev; 50 state(hdlc)->pppdev.dev = dev;
51 51