mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-07 12:25:00 -04:00
net: qrtr: mhi_dev: Handle mhi register error case
Handle -EEXIST error case while register state callback with mhi device. If channel is open during registration no callback will issue instead mhi stack return -EEXIST to notify the client. Further state change notification will be informed via registered callback. commit net: qrtr: mhi_dev: Handle mhi register error case (f1eeca90b18b7). Change-Id: Icf60de35d23393a0808ef90058c1108e950d02b9 Signed-off-by: Arun Prakash <app@codeaurora.org> Signed-off-by: Manoharan Vijaya Raghavan <mraghava@codeaurora.org>
This commit is contained in:
parent
d7842ded91
commit
2c04602122
1 changed files with 15 additions and 1 deletions
|
|
@ -202,6 +202,7 @@ static int qrtr_mhi_dev_probe(struct platform_device *pdev)
|
|||
struct qrtr_mhi_dev_ep *qep;
|
||||
struct device_node *node;
|
||||
int rc;
|
||||
struct mhi_dev_client_cb_data cb_data;
|
||||
|
||||
qep = devm_kzalloc(&pdev->dev, sizeof(*qep), GFP_KERNEL);
|
||||
if (!qep)
|
||||
|
|
@ -228,8 +229,21 @@ static int qrtr_mhi_dev_probe(struct platform_device *pdev)
|
|||
*/
|
||||
rc = mhi_register_state_cb(qrtr_mhi_dev_state_cb, qep,
|
||||
QRTR_MHI_DEV_OUT);
|
||||
if (rc)
|
||||
if (rc == -EEXIST) {
|
||||
/**
|
||||
* MHI stack will return -EEXIST if mhi channel is already
|
||||
* opend by the host and will not invoke reqistered callback.
|
||||
* But future state change notification will inform through
|
||||
* registered callback.
|
||||
*/
|
||||
complete_all(&qep->out_tre);
|
||||
cb_data.user_data = (void *)qep;
|
||||
cb_data.channel = QRTR_MHI_DEV_OUT;
|
||||
cb_data.ctrl_info = MHI_STATE_CONNECTED;
|
||||
qrtr_mhi_dev_state_cb(&cb_data);
|
||||
} else if (rc) {
|
||||
return rc;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue