netfilter: fix nf_queue handling
[cascardo/linux.git] / net / nfc / llcp_commands.c
index 3425532..c5959ce 100644 (file)
@@ -438,19 +438,17 @@ int nfc_llcp_send_connect(struct nfc_llcp_sock *sock)
                goto error_tlv;
        }
 
-       if (service_name_tlv != NULL)
-               skb = llcp_add_tlv(skb, service_name_tlv,
-                                  service_name_tlv_length);
-
-       skb = llcp_add_tlv(skb, miux_tlv, miux_tlv_length);
-       skb = llcp_add_tlv(skb, rw_tlv, rw_tlv_length);
+       llcp_add_tlv(skb, service_name_tlv, service_name_tlv_length);
+       llcp_add_tlv(skb, miux_tlv, miux_tlv_length);
+       llcp_add_tlv(skb, rw_tlv, rw_tlv_length);
 
        skb_queue_tail(&local->tx_queue, skb);
 
-       return 0;
+       err = 0;
 
 error_tlv:
-       pr_err("error %d\n", err);
+       if (err)
+               pr_err("error %d\n", err);
 
        kfree(service_name_tlv);
        kfree(miux_tlv);
@@ -493,15 +491,16 @@ int nfc_llcp_send_cc(struct nfc_llcp_sock *sock)
                goto error_tlv;
        }
 
-       skb = llcp_add_tlv(skb, miux_tlv, miux_tlv_length);
-       skb = llcp_add_tlv(skb, rw_tlv, rw_tlv_length);
+       llcp_add_tlv(skb, miux_tlv, miux_tlv_length);
+       llcp_add_tlv(skb, rw_tlv, rw_tlv_length);
 
        skb_queue_tail(&local->tx_queue, skb);
 
-       return 0;
+       err = 0;
 
 error_tlv:
-       pr_err("error %d\n", err);
+       if (err)
+               pr_err("error %d\n", err);
 
        kfree(miux_tlv);
        kfree(rw_tlv);