]> git.baikalelectronics.ru Git - kernel.git/commit
net caif: Register properly as a pernet subsystem.
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 26 Jan 2012 14:04:53 +0000 (14:04 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 28 Jan 2012 02:06:03 +0000 (21:06 -0500)
commit117e13137a920a1cdf126db92059f75c32456ee4
treebb905513ac457b8e7204056a17345ad3a5888db6
parenta9fff1b1d6d64c4bfb68e557e6b31976e427c3f7
net caif: Register properly as a pernet subsystem.

caif is a subsystem and as such it needs to register with
register_pernet_subsys instead of register_pernet_device.

Among other problems using register_pernet_device was resulting in
net_generic being called before the caif_net structure was allocated.
Which has been causing net_generic to fail with either BUG_ON's or by
return NULL pointers.

A more ugly problem that could be caused is packets in flight why the
subsystem is shutting down.

To remove confusion also remove the cruft cause by inappropriately
trying to fix this bug.

With the aid of the previous patch I have tested this patch and
confirmed that using register_pernet_subsys makes the failure go away as
it should.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: Sjur Brændeland <sjur.brandeland@stericsson.com>
Tested-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/caif/caif_dev.c
net/caif/cfcnfg.c