int data_bridge_open(struct bridge *brdg) { struct data_bridge *dev; int ch_id; if (!brdg) { err("bridge is null\n"); return -EINVAL; } ch_id = get_data_bridge_chid(brdg->name); if (ch_id < 0 || ch_id >= MAX_BRIDGE_DEVICES) { err("%s: %s dev not found\n", __func__, brdg->name); return ch_id; } brdg->ch_id = ch_id; dev = __dev[ch_id]; dev_dbg(&dev->intf->dev, "%s: dev:%p\n", __func__, dev); dev->brdg = brdg; // ASUS_BSP+++ Wenli "tty device for AT command" #ifndef DISABLE_ASUS_DUN if (is_bridge_open()) { is_open_usb = true; return 0; } is_open_usb = true; #endif // ASUS_BSP--- Wenli "tty device for AT command" dev->err = 0; atomic_set(&dev->pending_txurbs, 0); dev->to_host = 0; dev->to_modem = 0; dev->txurb_drp_cnt = 0; dev->tx_throttled_cnt = 0; dev->tx_unthrottled_cnt = 0; dev->rx_throttled_cnt = 0; dev->rx_unthrottled_cnt = 0; queue_work(dev->wq, &dev->process_rx_w); return 0; }
int data_bridge_open(struct bridge *brdg) { struct data_bridge *dev; int ch_id; if (!brdg) { pr_err("bridge is null\n"); return -EINVAL; } ch_id = get_data_bridge_chid(brdg->name); if (ch_id < 0 || ch_id >= MAX_BRIDGE_DEVICES) { pr_err("%s: %s dev not found\n", __func__, brdg->name); return ch_id; } brdg->ch_id = ch_id; dev = __dev[ch_id]; dev_dbg(&dev->intf->dev, "%s: dev:%p\n", __func__, dev); dev->brdg = brdg; dev->err = 0; atomic_set(&dev->pending_txurbs, 0); dev->to_host = 0; dev->to_modem = 0; dev->txurb_drp_cnt = 0; dev->tx_throttled_cnt = 0; dev->tx_unthrottled_cnt = 0; dev->rx_throttled_cnt = 0; dev->rx_unthrottled_cnt = 0; dev->tx_num_of_bytes = 0; dev->rx_num_of_bytes = 0; queue_work(dev->wq, &dev->process_rx_w); return 0; }