if (pvc->open_count++ == 0) {
hdlc_device *hdlc = dev_to_hdlc(pvc->master);
if (hdlc->state.fr.settings.lmi == LMI_NONE)
- pvc->state.active = netif_carrier_ok(pvc->master);
+ pvc->state.active = hdlc->carrier;
pvc_carrier(pvc->state.active, pvc);
hdlc->state.fr.dce_changed = 1;
hdlc->state.fr.reliable = reliable;
if (reliable) {
- netif_dormant_off(dev);
+#if 0
+ if (!netif_carrier_ok(dev))
+ netif_carrier_on(dev);
+#endif
+
hdlc->state.fr.n391cnt = 0; /* Request full status */
hdlc->state.fr.dce_changed = 1;
}
}
} else {
- netif_dormant_on(dev);
+#if 0
+ if (netif_carrier_ok(dev))
+ netif_carrier_off(dev);
+#endif
+
while (pvc) { /* Deactivate all PVCs */
pvc_carrier(0, pvc);
pvc->state.exist = pvc->state.active = 0;