diff options
author | Vincent Cuissard <cuissard@marvell.com> | 2015-11-03 19:19:34 +0100 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2015-11-05 00:32:25 +0100 |
commit | b2fe288eac7247f83b52377b4134ecc5cd856bf2 (patch) | |
tree | 0444295e1dd66c5e9dea119e0b23e429c695f63f /drivers/nfc/nfcmrvl/main.c | |
parent | d2d2e6456ebccb5d31163dcc3191d83183bbd0b5 (diff) | |
download | lwn-b2fe288eac7247f83b52377b4134ecc5cd856bf2.tar.gz lwn-b2fe288eac7247f83b52377b4134ecc5cd856bf2.zip |
NFC: nfcmrvl: free reset gpio
Reset GPIO shall be freed by the driver since the device used
in devm_ calls can be still valid on unregister.
If user removes the module and inserts it again, the devm_gpio_request
will fail because the underlying physical device (e.g i2c) was not
removed so the device management won't have freed the gpio.
Signed-off-by: Vincent Cuissard <cuissard@marvell.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/nfc/nfcmrvl/main.c')
-rw-r--r-- | drivers/nfc/nfcmrvl/main.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/nfc/nfcmrvl/main.c b/drivers/nfc/nfcmrvl/main.c index 8079ae0de21e..743c74c31cf0 100644 --- a/drivers/nfc/nfcmrvl/main.c +++ b/drivers/nfc/nfcmrvl/main.c @@ -194,6 +194,9 @@ void nfcmrvl_nci_unregister_dev(struct nfcmrvl_private *priv) nfcmrvl_fw_dnld_deinit(priv); + if (priv->config.reset_n_io) + devm_gpio_free(priv->dev, priv->config.reset_n_io); + nci_unregister_device(ndev); nci_free_device(ndev); kfree(priv); |