int diagfwd_connect(void) { int err; printk(KERN_DEBUG "diag: USB connected\n"); err = diag_open(driver->poolsize + 3); /* 2 for A9 ; 1 for q6*/ if (err) printk(KERN_ERR "diag: USB port open failed"); driver->usb_connected = 1; driver->in_busy_1 = 0; driver->in_busy_2 = 0; driver->in_busy_qdsp_1 = 0; driver->in_busy_qdsp_2 = 0; driver->in_busy_mdm_1 = 0; driver->in_busy_mdm_2 = 0; /* Poll SMD channels to check for data*/ queue_work(driver->diag_wq, &(driver->diag_read_smd_work)); queue_work(driver->diag_wq, &(driver->diag_read_smd_qdsp_work)); /*queue_work(driver->mdm_diag_workqueue, &(driver->diag_read_smd_mdm_work));*/ driver->usb_read_ptr->buf = driver->usb_buf_out; driver->usb_read_ptr->length = USB_MAX_OUT_BUF; APPEND_DEBUG('a'); diag_read(driver->usb_read_ptr); APPEND_DEBUG('b'); return 0; }
void diag_read_work_fn(struct work_struct *work) { APPEND_DEBUG('d'); diag_process_hdlc(driver->usb_buf_out, driver->read_len); driver->usb_read_ptr->buf = driver->usb_buf_out; driver->usb_read_ptr->length = USB_MAX_OUT_BUF; APPEND_DEBUG('e'); diag_read(driver->usb_read_ptr); APPEND_DEBUG('f'); }
void diag_read_work_fn(struct work_struct *work) { APPEND_DEBUG('d'); driver->usb_read_ptr->buf = driver->usb_buf_out; driver->usb_read_ptr->length = USB_MAX_OUT_BUF; #ifdef CONFIG_SH_USB_CUST diag_read(driver->usb_read_ptr); #else /* CONFIG_SH_USB_CUST */ usb_diag_read(driver->legacy_ch, driver->usb_read_ptr); #endif /* CONFIG_SH_USB_CUST */ APPEND_DEBUG('e'); }
void diag_read_mdm_work_fn(struct work_struct *work) { if (driver->sdio_ch) { wait_event_interruptible(driver->wait_q, (sdio_write_avail (driver->sdio_ch) >= driver->read_len_mdm)); if (driver->sdio_ch && driver->usb_buf_mdm_out && (driver->read_len_mdm > 0)) sdio_write(driver->sdio_ch, driver->usb_buf_mdm_out, driver->read_len_mdm); APPEND_DEBUG('x'); driver->usb_read_mdm_ptr->buf = driver->usb_buf_mdm_out; driver->usb_read_mdm_ptr->length = USB_MAX_OUT_BUF; #ifdef CONFIG_SH_USB_CUST diag_read(driver->usb_read_mdm_ptr); #else /* CONFIG_SH_USB_CUST */ usb_diag_read(driver->mdm_ch, driver->usb_read_mdm_ptr); #endif /* CONFIG_SH_USB_CUST */ APPEND_DEBUG('y'); } }
int diagfwd_connect(void) { int err; printk(KERN_DEBUG "diag: USB connected\n"); err = diag_open(driver->poolsize + 3); if (err) printk(KERN_ERR "diag: USB port open failed"); driver->usb_connected = 1; driver->in_busy = 0; driver->in_busy_qdsp = 0; queue_work(driver->diag_wq, &(driver->diag_read_smd_work)); queue_work(driver->diag_wq, &(driver->diag_read_smd_qdsp_work)); driver->usb_read_ptr->buf = driver->usb_buf_out; driver->usb_read_ptr->length = USB_MAX_OUT_BUF; APPEND_DEBUG('a'); diag_read(driver->usb_read_ptr); APPEND_DEBUG('b'); return 0; }