|
@@ -1174,8 +1174,12 @@ static void dcd_change(MGSLPC_INFO *info)
|
|
|
else
|
|
|
info->input_signal_events.dcd_down++;
|
|
|
#ifdef CONFIG_HDLC
|
|
|
- if (info->netcount)
|
|
|
- hdlc_set_carrier(info->serial_signals & SerialSignal_DCD, info->netdev);
|
|
|
+ if (info->netcount) {
|
|
|
+ if (info->serial_signals & SerialSignal_DCD)
|
|
|
+ netif_carrier_on(info->netdev);
|
|
|
+ else
|
|
|
+ netif_carrier_off(info->netdev);
|
|
|
+ }
|
|
|
#endif
|
|
|
wake_up_interruptible(&info->status_event_wait_q);
|
|
|
wake_up_interruptible(&info->event_wait_q);
|
|
@@ -4251,8 +4255,10 @@ static int hdlcdev_open(struct net_device *dev)
|
|
|
spin_lock_irqsave(&info->lock, flags);
|
|
|
get_signals(info);
|
|
|
spin_unlock_irqrestore(&info->lock, flags);
|
|
|
- hdlc_set_carrier(info->serial_signals & SerialSignal_DCD, dev);
|
|
|
-
|
|
|
+ if (info->serial_signals & SerialSignal_DCD)
|
|
|
+ netif_carrier_on(dev);
|
|
|
+ else
|
|
|
+ netif_carrier_off(dev);
|
|
|
return 0;
|
|
|
}
|
|
|
|