Kill some duplicate code in nfulnl_log_packet().

Signed-off-by: Michał Mirosław <[EMAIL PROTECTED]>

--- linux-2.6.20/net/netfilter/nfnetlink_log.c.1        2007-02-11 
20:51:57.000000000 +0100
+++ linux-2.6.20/net/netfilter/nfnetlink_log.c  2007-02-11 20:43:24.000000000 
+0100
@@ -666,30 +666,23 @@ nfulnl_log_packet(unsigned int pf,
                break;
        
        default:
-               spin_unlock_bh(&inst->lock);
-               instance_put(inst);
-               return;
+               goto unlock_and_release;
        }
 
-       if (!inst->skb) {
-               if (!(inst->skb = nfulnl_alloc_skb(inst->nlbufsiz, size))) {
-                       UDEBUG("error in nfulnl_alloc_skb(%u, %u)\n",
-                               inst->nlbufsiz, size);
-                       goto alloc_failure;
-               }
-       } else if (inst->qlen >= qthreshold ||
-                  size > skb_tailroom(inst->skb)) {
+       if (inst->qlen >= qthreshold ||
+                  (inst->skb && size > skb_tailroom(inst->skb))) {
                /* either the queue len is too high or we don't have
                 * enough room in the skb left. flush to userspace. */
                UDEBUG("flushing old skb\n");
 
                __nfulnl_send(inst);
+       }
 
-               if (!(inst->skb = nfulnl_alloc_skb(inst->nlbufsiz, size))) {
-                       UDEBUG("error in nfulnl_alloc_skb(%u, %u)\n",
-                               inst->nlbufsiz, size);
+       if (!inst->skb) {
+               inst->skb = nfulnl_alloc_skb(inst->nlbufsiz, size);
+
+               if (!inst->skb)
                        goto alloc_failure;
-               }
        }
 
        UDEBUG("qlen %d, qthreshold %d\n", inst->qlen, qthreshold);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to