use -EAGAIN instead of -EINVAL
diff --git a/kernel/linux2.5/net/bridge/netfilter/ebtables.c b/kernel/linux2.5/net/bridge/netfilter/ebtables.c
index 9b2bbe5..89e27c5 100644
--- a/kernel/linux2.5/net/bridge/netfilter/ebtables.c
+++ b/kernel/linux2.5/net/bridge/netfilter/ebtables.c
@@ -365,7 +365,7 @@
m->u.match = match;
if (!try_module_get(match->me)) {
up(&ebt_mutex);
- return -EINVAL;
+ return -EAGAIN;
}
up(&ebt_mutex);
if (match->check &&
@@ -394,7 +394,7 @@
w->u.watcher = watcher;
if (!try_module_get(watcher->me)) {
up(&ebt_mutex);
- return -EINVAL;
+ return -EAGAIN;
}
up(&ebt_mutex);
if (watcher->check &&
@@ -634,6 +634,7 @@
goto cleanup_watchers;
if (!try_module_get(target->me)) {
up(&ebt_mutex);
+ ret = -EAGAIN;
goto cleanup_watchers;
}
up(&ebt_mutex);