git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
net
/
atm
/
mpc.c
diff --git
a/net/atm/mpc.c
b/net/atm/mpc.c
index
ba4a156
..
a28db2d
100644
(file)
--- a/
net/atm/mpc.c
+++ b/
net/atm/mpc.c
@@
-267,8
+267,8
@@
static struct mpoa_client *alloc_mpc(void)
if (mpc == NULL)
return NULL;
memset(mpc, 0, sizeof(struct mpoa_client));
if (mpc == NULL)
return NULL;
memset(mpc, 0, sizeof(struct mpoa_client));
-
mpc->ingress_lock = RW_LOCK_UNLOCKED
;
-
mpc->egress_lock = RW_LOCK_UNLOCKED
;
+
rwlock_init(&mpc->ingress_lock)
;
+
rwlock_init(&mpc->egress_lock)
;
mpc->next = mpcs;
atm_mpoa_init_cache(mpc);
mpc->next = mpcs;
atm_mpoa_init_cache(mpc);
@@
-755,13
+755,18
@@
int atm_mpoa_mpoad_attach (struct atm_vcc *vcc, int arg)
{
struct mpoa_client *mpc;
struct lec_priv *priv;
{
struct mpoa_client *mpc;
struct lec_priv *priv;
+ int err;
if (mpcs == NULL) {
init_timer(&mpc_timer);
mpc_timer_refresh();
/* This lets us now how our LECs are doing */
if (mpcs == NULL) {
init_timer(&mpc_timer);
mpc_timer_refresh();
/* This lets us now how our LECs are doing */
- register_netdevice_notifier(&mpoa_notifier);
+ err = register_netdevice_notifier(&mpoa_notifier);
+ if (err < 0) {
+ del_timer(&mpc_timer);
+ return err;
+ }
}
mpc = find_mpc_by_itfnum(arg);
}
mpc = find_mpc_by_itfnum(arg);