diff options
author | Paul Moore <pmoore@redhat.com> | 2013-11-26 17:32:55 -0500 |
---|---|---|
committer | Paul Moore <pmoore@redhat.com> | 2013-11-26 17:32:55 -0500 |
commit | dd0a11815a339d6deeea8357574f8126a8404c92 (patch) | |
tree | c3c743ac6323e1caf9e987d6946cc4b2333a8256 /net/nfc/core.c | |
parent | 42d64e1add3a1ce8a787116036163b8724362145 (diff) | |
parent | 5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52 (diff) |
Merge tag 'v3.12'
Linux 3.12
Diffstat (limited to 'net/nfc/core.c')
-rw-r--r-- | net/nfc/core.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/net/nfc/core.c b/net/nfc/core.c index 1d074dd1650f..e92923cf3e03 100644 --- a/net/nfc/core.c +++ b/net/nfc/core.c | |||
@@ -77,11 +77,19 @@ error: | |||
77 | return rc; | 77 | return rc; |
78 | } | 78 | } |
79 | 79 | ||
80 | int nfc_fw_download_done(struct nfc_dev *dev, const char *firmware_name) | 80 | /** |
81 | * nfc_fw_download_done - inform that a firmware download was completed | ||
82 | * | ||
83 | * @dev: The nfc device to which firmware was downloaded | ||
84 | * @firmware_name: The firmware filename | ||
85 | * @result: The positive value of a standard errno value | ||
86 | */ | ||
87 | int nfc_fw_download_done(struct nfc_dev *dev, const char *firmware_name, | ||
88 | u32 result) | ||
81 | { | 89 | { |
82 | dev->fw_download_in_progress = false; | 90 | dev->fw_download_in_progress = false; |
83 | 91 | ||
84 | return nfc_genl_fw_download_done(dev, firmware_name); | 92 | return nfc_genl_fw_download_done(dev, firmware_name, result); |
85 | } | 93 | } |
86 | EXPORT_SYMBOL(nfc_fw_download_done); | 94 | EXPORT_SYMBOL(nfc_fw_download_done); |
87 | 95 | ||
@@ -129,7 +137,7 @@ int nfc_dev_up(struct nfc_dev *dev) | |||
129 | /* We have to enable the device before discovering SEs */ | 137 | /* We have to enable the device before discovering SEs */ |
130 | if (dev->ops->discover_se) { | 138 | if (dev->ops->discover_se) { |
131 | rc = dev->ops->discover_se(dev); | 139 | rc = dev->ops->discover_se(dev); |
132 | if (!rc) | 140 | if (rc) |
133 | pr_warn("SE discovery failed\n"); | 141 | pr_warn("SE discovery failed\n"); |
134 | } | 142 | } |
135 | 143 | ||
@@ -575,12 +583,14 @@ int nfc_enable_se(struct nfc_dev *dev, u32 se_idx) | |||
575 | goto error; | 583 | goto error; |
576 | } | 584 | } |
577 | 585 | ||
578 | if (se->type == NFC_SE_ENABLED) { | 586 | if (se->state == NFC_SE_ENABLED) { |
579 | rc = -EALREADY; | 587 | rc = -EALREADY; |
580 | goto error; | 588 | goto error; |
581 | } | 589 | } |
582 | 590 | ||
583 | rc = dev->ops->enable_se(dev, se_idx); | 591 | rc = dev->ops->enable_se(dev, se_idx); |
592 | if (rc >= 0) | ||
593 | se->state = NFC_SE_ENABLED; | ||
584 | 594 | ||
585 | error: | 595 | error: |
586 | device_unlock(&dev->dev); | 596 | device_unlock(&dev->dev); |
@@ -618,12 +628,14 @@ int nfc_disable_se(struct nfc_dev *dev, u32 se_idx) | |||
618 | goto error; | 628 | goto error; |
619 | } | 629 | } |
620 | 630 | ||
621 | if (se->type == NFC_SE_DISABLED) { | 631 | if (se->state == NFC_SE_DISABLED) { |
622 | rc = -EALREADY; | 632 | rc = -EALREADY; |
623 | goto error; | 633 | goto error; |
624 | } | 634 | } |
625 | 635 | ||
626 | rc = dev->ops->disable_se(dev, se_idx); | 636 | rc = dev->ops->disable_se(dev, se_idx); |
637 | if (rc >= 0) | ||
638 | se->state = NFC_SE_DISABLED; | ||
627 | 639 | ||
628 | error: | 640 | error: |
629 | device_unlock(&dev->dev); | 641 | device_unlock(&dev->dev); |