diff options
author | Jeff Moyer <jmoyer@redhat.com> | 2005-06-22 22:05:59 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-06-22 22:05:59 -0700 |
commit | fbeec2e1552949002065435c9829dc244ad85407 (patch) | |
tree | d97dc663bbef4bf59a1858b23a327f14043c33d1 /net/appletalk | |
parent | 115c1d6e61b70851d9a363328c3b8d4c2559a1d3 (diff) | |
download | op-kernel-dev-fbeec2e1552949002065435c9829dc244ad85407.zip op-kernel-dev-fbeec2e1552949002065435c9829dc244ad85407.tar.gz |
[NETPOLL]: allow multiple netpoll_clients to register against one interface
This patch provides support for registering multiple netpoll clients to the
same network device. Only one of these clients may register an rx_hook,
however. In practice, this restriction has not been problematic. It is
worth mentioning, though, that the current design can be easily extended to
allow for the registration of multiple rx_hooks.
The basic idea of the patch is that the rx_np pointer in the netpoll_info
structure points to the struct netpoll that has rx_hook filled in. Aside
from this one case, there is no need for a pointer from the struct
net_device to an individual struct netpoll.
A lock is introduced to protect the setting and clearing of the np_rx
pointer. The pointer will only be cleared upon netpoll client module
removal, and the lock should be uncontested.
Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/appletalk')
0 files changed, 0 insertions, 0 deletions