diff options
| author | David S. Miller <davem@nuts.davemloft.net> | 2004-09-07 00:50:36 -0700 |
|---|---|---|
| committer | David S. Miller <davem@nuts.davemloft.net> | 2004-09-07 00:50:36 -0700 |
| commit | 8d34d4fde2dfa67d29298f4bb4c636c3ee1914aa (patch) | |
| tree | 5ff55676d4e3bad5bc21046ae0114e78ce04de6e /net/decnet/dn_dev.c | |
| parent | 2cd242672eca6ba741dda2a13adf7e9ccd7d7451 (diff) | |
| parent | ef31c0c83addad073e6fda9885f0196b9308b6e3 (diff) | |
Merge
Diffstat (limited to 'net/decnet/dn_dev.c')
| -rw-r--r-- | net/decnet/dn_dev.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c index 5a05efb83092..a21a326808b4 100644 --- a/net/decnet/dn_dev.c +++ b/net/decnet/dn_dev.c @@ -41,6 +41,7 @@ #include <linux/sysctl.h> #include <linux/notifier.h> #include <asm/uaccess.h> +#include <asm/system.h> #include <net/neighbour.h> #include <net/dst.h> #include <net/flow.h> @@ -1108,6 +1109,7 @@ struct dn_dev *dn_dev_create(struct net_device *dev, int *err) memset(dn_db, 0, sizeof(struct dn_dev)); memcpy(&dn_db->parms, p, sizeof(struct dn_dev_parms)); + smp_wmb(); dev->dn_ptr = dn_db; dn_db->dev = dev; init_timer(&dn_db->timer); @@ -1215,6 +1217,7 @@ static void dn_dev_delete(struct net_device *dev) dev->dn_ptr = NULL; neigh_parms_release(&dn_neigh_table, dn_db->neigh_parms); + neigh_ifdown(&dn_neigh_table, dev); if (dn_db->router) neigh_release(dn_db->router); |
