diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2013-04-30 17:48:50 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-05-21 04:48:40 -0400 |
commit | 73f3adb9b91efac04e4e7f8379a85400fc57121e (patch) | |
tree | 2b11e413e51aae905d2853a177f804cfff07c4cc /drivers/nfc/microread/mei.c | |
parent | d999e4db0ac409c582cb15e6b120241ed9105064 (diff) |
NFC: mei_phy: Register event callback when enabling the device
The callback registration starts a waiting read, so it needs to be fired
everytime the device is enabled. Otherwise following writes will never get
an answer back.
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/nfc/microread/mei.c')
-rw-r--r-- | drivers/nfc/microread/mei.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/drivers/nfc/microread/mei.c b/drivers/nfc/microread/mei.c index 1ad044dce7b6..51d44fb18be9 100644 --- a/drivers/nfc/microread/mei.c +++ b/drivers/nfc/microread/mei.c | |||
@@ -43,24 +43,16 @@ static int microread_mei_probe(struct mei_cl_device *device, | |||
43 | return -ENOMEM; | 43 | return -ENOMEM; |
44 | } | 44 | } |
45 | 45 | ||
46 | r = mei_cl_register_event_cb(device, nfc_mei_event_cb, phy); | ||
47 | if (r) { | ||
48 | pr_err(MICROREAD_DRIVER_NAME ": event cb registration failed\n"); | ||
49 | goto err_out; | ||
50 | } | ||
51 | |||
52 | r = microread_probe(phy, &mei_phy_ops, LLC_NOP_NAME, | 46 | r = microread_probe(phy, &mei_phy_ops, LLC_NOP_NAME, |
53 | MEI_NFC_HEADER_SIZE, 0, MEI_NFC_MAX_HCI_PAYLOAD, | 47 | MEI_NFC_HEADER_SIZE, 0, MEI_NFC_MAX_HCI_PAYLOAD, |
54 | &phy->hdev); | 48 | &phy->hdev); |
55 | if (r < 0) | 49 | if (r < 0) { |
56 | goto err_out; | 50 | nfc_mei_phy_free(phy); |
57 | |||
58 | return 0; | ||
59 | 51 | ||
60 | err_out: | 52 | return r; |
61 | nfc_mei_phy_free(phy); | 53 | } |
62 | 54 | ||
63 | return r; | 55 | return 0; |
64 | } | 56 | } |
65 | 57 | ||
66 | static int microread_mei_remove(struct mei_cl_device *device) | 58 | static int microread_mei_remove(struct mei_cl_device *device) |