diff options
Diffstat (limited to 'net/bridge')
-rw-r--r-- | net/bridge/netfilter/ebtables.c | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c index 5bb88eb0aad4..0fa208e86405 100644 --- a/net/bridge/netfilter/ebtables.c +++ b/net/bridge/netfilter/ebtables.c | |||
@@ -305,23 +305,14 @@ find_inlist_lock_noload(struct list_head *head, const char *name, int *error, | |||
305 | return NULL; | 305 | return NULL; |
306 | } | 306 | } |
307 | 307 | ||
308 | #ifndef CONFIG_KMOD | ||
309 | #define find_inlist_lock(h,n,p,e,m) find_inlist_lock_noload((h),(n),(e),(m)) | ||
310 | #else | ||
311 | static void * | 308 | static void * |
312 | find_inlist_lock(struct list_head *head, const char *name, const char *prefix, | 309 | find_inlist_lock(struct list_head *head, const char *name, const char *prefix, |
313 | int *error, struct mutex *mutex) | 310 | int *error, struct mutex *mutex) |
314 | { | 311 | { |
315 | void *ret; | 312 | return try_then_request_module( |
316 | 313 | find_inlist_lock_noload(head, name, error, mutex), | |
317 | ret = find_inlist_lock_noload(head, name, error, mutex); | 314 | "%s%s", prefix, name); |
318 | if (!ret) { | ||
319 | request_module("%s%s", prefix, name); | ||
320 | ret = find_inlist_lock_noload(head, name, error, mutex); | ||
321 | } | ||
322 | return ret; | ||
323 | } | 315 | } |
324 | #endif | ||
325 | 316 | ||
326 | static inline struct ebt_table * | 317 | static inline struct ebt_table * |
327 | find_table_lock(const char *name, int *error, struct mutex *mutex) | 318 | find_table_lock(const char *name, int *error, struct mutex *mutex) |