diff options
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 1ad044dce7b..51d44fb18be 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,  		return -ENOMEM;  	} -	r = mei_cl_register_event_cb(device, nfc_mei_event_cb, phy); -	if (r) { -		pr_err(MICROREAD_DRIVER_NAME ": event cb registration failed\n"); -		goto err_out; -	} -  	r = microread_probe(phy, &mei_phy_ops, LLC_NOP_NAME,  			    MEI_NFC_HEADER_SIZE, 0, MEI_NFC_MAX_HCI_PAYLOAD,  			    &phy->hdev); -	if (r < 0) -		goto err_out; - -	return 0; +	if (r < 0) { +		nfc_mei_phy_free(phy); -err_out: -	nfc_mei_phy_free(phy); +		return r; +	} -	return r; +	return 0;  }  static int microread_mei_remove(struct mei_cl_device *device)  |