|
@@ -412,12 +412,15 @@ static void __qmi_rmnet_update_mq(struct net_device *dev,
|
|
bearer->mq_idx = itm->mq_idx;
|
|
bearer->mq_idx = itm->mq_idx;
|
|
}
|
|
}
|
|
|
|
|
|
- qmi_rmnet_flow_control(dev, itm->mq_idx,
|
|
|
|
- bearer->grant_size > 0 ? 1 : 0);
|
|
|
|
-
|
|
|
|
|
|
+ /* Always enable flow for the newly associated bearer */
|
|
|
|
+ if (!bearer->grant_size) {
|
|
|
|
+ bearer->grant_size = DEFAULT_GRANT;
|
|
|
|
+ bearer->grant_thresh =
|
|
|
|
+ qmi_rmnet_grant_per(DEFAULT_GRANT);
|
|
|
|
+ }
|
|
|
|
+ qmi_rmnet_flow_control(dev, itm->mq_idx, 1);
|
|
if (dfc_mode == DFC_MODE_SA)
|
|
if (dfc_mode == DFC_MODE_SA)
|
|
- qmi_rmnet_flow_control(dev, bearer->ack_mq_idx,
|
|
|
|
- bearer->grant_size > 0 ? 1 : 0);
|
|
|
|
|
|
+ qmi_rmnet_flow_control(dev, bearer->ack_mq_idx, 1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|