Loading drivers/usb/gadget/f_qc_rndis.c +17 −0 Original line number Diff line number Diff line Loading @@ -1050,6 +1050,23 @@ bool is_rndis_ipa_supported(void) return rndis_ipa_supported; } void rndis_ipa_reset_trigger(void) { struct f_rndis_qc *rndis; unsigned long flags; spin_lock_irqsave(&rndis_lock, flags); rndis = _rndis_qc; if (!rndis) { pr_err("%s: No RNDIS instance", __func__); spin_unlock_irqrestore(&rndis_lock, flags); return; } rndis->net_ready_trigger = false; spin_unlock_irqrestore(&rndis_lock, flags); } /* * Callback let RNDIS_IPA trigger us when network interface is up * and userspace is ready to answer DHCP requests Loading drivers/usb/gadget/u_bam_data.c +7 −1 Original line number Diff line number Diff line Loading @@ -1187,9 +1187,15 @@ void u_bam_data_stop_rndis_ipa(void) { pr_debug("%s\n", __func__); if (is_ipa_rndis_net_on) if (is_ipa_rndis_net_on) { struct bam_data_port *port = bam2bam_data_ports[RNDIS_QC_ACTIVE_PORT]; rndis_ipa_reset_trigger(); bam_data_stop_endless_tx(port); queue_work(bam_data_wq, rndis_disconn_w); } } void bam_data_disconnect(struct data_port *gr, u8 port_num) { Loading Loading
drivers/usb/gadget/f_qc_rndis.c +17 −0 Original line number Diff line number Diff line Loading @@ -1050,6 +1050,23 @@ bool is_rndis_ipa_supported(void) return rndis_ipa_supported; } void rndis_ipa_reset_trigger(void) { struct f_rndis_qc *rndis; unsigned long flags; spin_lock_irqsave(&rndis_lock, flags); rndis = _rndis_qc; if (!rndis) { pr_err("%s: No RNDIS instance", __func__); spin_unlock_irqrestore(&rndis_lock, flags); return; } rndis->net_ready_trigger = false; spin_unlock_irqrestore(&rndis_lock, flags); } /* * Callback let RNDIS_IPA trigger us when network interface is up * and userspace is ready to answer DHCP requests Loading
drivers/usb/gadget/u_bam_data.c +7 −1 Original line number Diff line number Diff line Loading @@ -1187,9 +1187,15 @@ void u_bam_data_stop_rndis_ipa(void) { pr_debug("%s\n", __func__); if (is_ipa_rndis_net_on) if (is_ipa_rndis_net_on) { struct bam_data_port *port = bam2bam_data_ports[RNDIS_QC_ACTIVE_PORT]; rndis_ipa_reset_trigger(); bam_data_stop_endless_tx(port); queue_work(bam_data_wq, rndis_disconn_w); } } void bam_data_disconnect(struct data_port *gr, u8 port_num) { Loading