Merge "usb: f_gsi: Add EP_LOOKUP for USB_PROT_GPS_CTRL"

This commit is contained in:
qctecmdr 2020-12-22 23:31:08 -08:00 • committed by Gerrit - the friendly Code Review server
commit 5f1e9b6d76

View file

@ -1565,26 +1565,35 @@ static long gsi_ctrl_dev_ioctl(struct file *fp, unsigned int cmd,
break;
}
if (gsi->d_port.in_channel_handle == -EINVAL &&
gsi->d_port.out_channel_handle == -EINVAL) {
ret = -EAGAIN;
break;
if (gsi->prot_id != IPA_USB_GPS) {
if (gsi->d_port.in_channel_handle == -EINVAL &&
gsi->d_port.out_channel_handle == -EINVAL) {
ret = -EAGAIN;
break;
}
info.ph_ep_info.ep_type = GSI_MBIM_DATA_EP_TYPE_HSUSB;
info.ph_ep_info.peripheral_iface_id = gsi->data_id;
} else {
info.ph_ep_info.ep_type = GSI_MBIM_DATA_EP_TYPE_HSUSB;
info.ph_ep_info.peripheral_iface_id = gsi->ctrl_id;
}
info.ph_ep_info.ep_type = GSI_MBIM_DATA_EP_TYPE_HSUSB;
info.ph_ep_info.peripheral_iface_id = gsi->data_id;
info.ipa_ep_pair.cons_pipe_num =
(gsi->prot_id == IPA_USB_DIAG) ? -1 :
gsi->d_port.out_channel_handle;
info.ipa_ep_pair.prod_pipe_num = gsi->d_port.in_channel_handle;
log_event_dbg("%s: prot id :%d ep_type:%d intf:%d",
__func__, gsi->prot_id, info.ph_ep_info.ep_type,
info.ph_ep_info.peripheral_iface_id);
if (gsi->prot_id != IPA_USB_GPS) {
info.ipa_ep_pair.cons_pipe_num =
(gsi->prot_id == IPA_USB_DIAG) ? -1 :
gsi->d_port.out_channel_handle;
info.ipa_ep_pair.prod_pipe_num =
gsi->d_port.in_channel_handle;
log_event_dbg("%s: ipa_cons_idx:%d ipa_prod_idx:%d",
__func__, info.ipa_ep_pair.cons_pipe_num,
info.ipa_ep_pair.prod_pipe_num);
log_event_dbg("%s: ipa_cons_idx:%d ipa_prod_idx:%d",
__func__,
info.ipa_ep_pair.cons_pipe_num,
info.ipa_ep_pair.prod_pipe_num);
}
ret = copy_to_user((void __user *)arg, &info,
sizeof(info));