]> Pileus Git - ~andy/linux/blobdiff - net/nfc/hci/command.c
Merge tag 'for-v3.8' of git://git.infradead.org/users/cbou/linux-pstore
[~andy/linux] / net / nfc / hci / command.c
index 71c6a7086b8f04b4e6264969d21f1ba5a362fcb8..7d99410e6c1a542d91795a40f5e9d8bf9e719c5f 100644 (file)
@@ -257,16 +257,16 @@ static u8 nfc_hci_create_pipe(struct nfc_hci_dev *hdev, u8 dest_host,
        *result = nfc_hci_execute_cmd(hdev, NFC_HCI_ADMIN_PIPE,
                                      NFC_HCI_ADM_CREATE_PIPE,
                                      (u8 *) &params, sizeof(params), &skb);
-       if (*result == 0) {
-               resp = (struct hci_create_pipe_resp *)skb->data;
-               pipe = resp->pipe;
-               kfree_skb(skb);
+       if (*result < 0)
+               return NFC_HCI_INVALID_PIPE;
 
-               pr_debug("pipe created=%d\n", pipe);
+       resp = (struct hci_create_pipe_resp *)skb->data;
+       pipe = resp->pipe;
+       kfree_skb(skb);
 
-               return pipe;
-       } else
-               return NFC_HCI_INVALID_PIPE;
+       pr_debug("pipe created=%d\n", pipe);
+
+       return pipe;
 }
 
 static int nfc_hci_delete_pipe(struct nfc_hci_dev *hdev, u8 pipe)
@@ -279,8 +279,6 @@ static int nfc_hci_delete_pipe(struct nfc_hci_dev *hdev, u8 pipe)
 
 static int nfc_hci_clear_all_pipes(struct nfc_hci_dev *hdev)
 {
-       int r;
-
        u8 param[2];
 
        /* TODO: Find out what the identity reference data is
@@ -288,10 +286,8 @@ static int nfc_hci_clear_all_pipes(struct nfc_hci_dev *hdev)
 
        pr_debug("\n");
 
-       r = nfc_hci_execute_cmd(hdev, NFC_HCI_ADMIN_PIPE,
-                               NFC_HCI_ADM_CLEAR_ALL_PIPE, param, 2, NULL);
-
-       return 0;
+       return nfc_hci_execute_cmd(hdev, NFC_HCI_ADMIN_PIPE,
+                                  NFC_HCI_ADM_CLEAR_ALL_PIPE, param, 2, NULL);
 }
 
 int nfc_hci_disconnect_gate(struct nfc_hci_dev *hdev, u8 gate)
@@ -348,7 +344,7 @@ int nfc_hci_connect_gate(struct nfc_hci_dev *hdev, u8 dest_host, u8 dest_gate,
                return -EADDRINUSE;
 
        if (pipe != NFC_HCI_INVALID_PIPE)
-               goto pipe_is_open;
+               goto open_pipe;
 
        switch (dest_gate) {
        case NFC_HCI_LINK_MGMT_GATE:
@@ -365,6 +361,7 @@ int nfc_hci_connect_gate(struct nfc_hci_dev *hdev, u8 dest_host, u8 dest_gate,
                break;
        }
 
+open_pipe:
        r = nfc_hci_open_pipe(hdev, pipe);
        if (r < 0) {
                if (pipe_created)
@@ -375,7 +372,6 @@ int nfc_hci_connect_gate(struct nfc_hci_dev *hdev, u8 dest_host, u8 dest_gate,
                return r;
        }
 
-pipe_is_open:
        hdev->gate2pipe[dest_gate] = pipe;
 
        return 0;