X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fchar%2Fsynclink.c;h=fee2aca3f6a5c7eb77c8c07135489644e5ec8ab2;hb=9464c7cf61b9433057924c36e6e02f303a00e768;hp=dc812609693b2daeb9ae687cb1f29d3bdfa56849;hpb=41689045f6a3cbe0550e1d34e9cc20d2e8c432ba;p=linux-2.6.git diff --git a/drivers/char/synclink.c b/drivers/char/synclink.c index dc8126096..fee2aca3f 100644 --- a/drivers/char/synclink.c +++ b/drivers/char/synclink.c @@ -63,6 +63,7 @@ #define MAX_PCI_DEVICES 10 #define MAX_TOTAL_DEVICES 20 +#include #include #include #include @@ -1343,12 +1344,8 @@ static void mgsl_isr_io_pin( struct mgsl_struct *info ) } else info->input_signal_events.dcd_down++; #ifdef CONFIG_HDLC - if (info->netcount) { - if (status & MISCSTATUS_DCD) - netif_carrier_on(info->netdev); - else - netif_carrier_off(info->netdev); - } + if (info->netcount) + hdlc_set_carrier(status & MISCSTATUS_DCD, info->netdev); #endif } if (status & MISCSTATUS_CTS_LATCHED) @@ -7847,10 +7844,8 @@ static int hdlcdev_open(struct net_device *dev) spin_lock_irqsave(&info->irq_spinlock, flags); usc_get_serial_signals(info); spin_unlock_irqrestore(&info->irq_spinlock, flags); - if (info->serial_signals & SerialSignal_DCD) - netif_carrier_on(dev); - else - netif_carrier_off(dev); + hdlc_set_carrier(info->serial_signals & SerialSignal_DCD, dev); + return 0; } @@ -8155,7 +8150,7 @@ static int __devinit synclink_init_one (struct pci_dev *dev, info->bus_type = MGSL_BUS_TYPE_PCI; info->io_addr_size = 8; - info->irq_flags = IRQF_SHARED; + info->irq_flags = SA_SHIRQ; if (dev->device == 0x0210) { /* Version 1 PCI9030 based universal PCI adapter */