NFC: Move checking valid gb_len value to nfc_llcp_set_remote_gb
authorAxel Lin <axel.lin@ingics.com>
Tue, 25 Feb 2014 01:18:10 +0000 (09:18 +0800)
committerSamuel Ortiz <sameo@linux.intel.com>
Fri, 14 Mar 2014 19:19:08 +0000 (20:19 +0100)
This checking is common for all caller, so move the checking to one place.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
net/nfc/core.c
net/nfc/llcp_core.c

index be5d50c6d81dcb6a17c433049e23d1977417ab5e..819b87702b7039ceed68085139d2820a2d5711c0 100644 (file)
@@ -652,9 +652,6 @@ int nfc_set_remote_general_bytes(struct nfc_dev *dev, u8 *gb, u8 gb_len)
 {
        pr_debug("dev_name=%s gb_len=%d\n", dev_name(&dev->dev), gb_len);
 
-       if (gb_len > NFC_MAX_GT_LEN)
-               return -EINVAL;
-
        return nfc_llcp_set_remote_gb(dev, gb, gb_len);
 }
 EXPORT_SYMBOL(nfc_set_remote_general_bytes);
index 9d37dedec906c4df8a26e5f5a67423341b96e63d..0cf9d4f45e6a7cc46430615c89d572c3ced242d6 100644 (file)
@@ -609,14 +609,16 @@ u8 *nfc_llcp_general_bytes(struct nfc_dev *dev, size_t *general_bytes_len)
 
 int nfc_llcp_set_remote_gb(struct nfc_dev *dev, u8 *gb, u8 gb_len)
 {
-       struct nfc_llcp_local *local = nfc_llcp_find_local(dev);
+       struct nfc_llcp_local *local;
+
+       if (gb_len < 3 || gb_len > NFC_MAX_GT_LEN)
+               return -EINVAL;
 
+       local = nfc_llcp_find_local(dev);
        if (local == NULL) {
                pr_err("No LLCP device\n");
                return -ENODEV;
        }
-       if (gb_len < 3)
-               return -EINVAL;
 
        memset(local->remote_gb, 0, NFC_MAX_GT_LEN);
        memcpy(local->remote_gb, gb, gb_len);