patch-2.4.5 linux/drivers/net/irda/nsc-ircc.c
Next file: linux/drivers/net/irda/toshoboe.c
Previous file: linux/drivers/net/irda/irda-usb.c
Back to the patch index
Back to the overall index
- Lines: 72
- Date:
Tue May 1 16:05:00 2001
- Orig file:
v2.4.4/linux/drivers/net/irda/nsc-ircc.c
- Orig date:
Tue Mar 20 12:04:59 2001
diff -u --recursive --new-file v2.4.4/linux/drivers/net/irda/nsc-ircc.c linux/drivers/net/irda/nsc-ircc.c
@@ -251,9 +251,14 @@
IRDA_DEBUG(2, __FUNCTION__ "()\n");
+ MESSAGE("%s, Found chip at base=0x%03x\n", driver_name,
+ info->cfg_base);
+
if ((nsc_ircc_setup(info)) == -1)
return -1;
+ MESSAGE("%s, driver loaded (Dag Brattli)\n", driver_name);
+
/* Allocate new instance of the driver */
self = kmalloc(sizeof(struct nsc_ircc_cb), GFP_KERNEL);
if (self == NULL) {
@@ -315,8 +320,8 @@
self->tx_buff.head = (__u8 *) kmalloc(self->tx_buff.truesize,
GFP_KERNEL|GFP_DMA);
if (self->tx_buff.head == NULL) {
- kfree(self);
kfree(self->rx_buff.head);
+ kfree(self);
return -ENOMEM;
}
memset(self->tx_buff.head, 0, self->tx_buff.truesize);
@@ -699,8 +704,6 @@
ERROR("%s, Wrong chip version %02x\n", driver_name, version);
return -1;
}
- MESSAGE("%s, Found chip at base=0x%03x\n", driver_name,
- info->cfg_base);
/* Switch to advanced mode */
switch_bank(iobase, BANK2);
@@ -729,8 +732,6 @@
outb(0x0d, iobase+2); /* Set SIR pulse width to 1.6us */
outb(0x2a, iobase+4); /* Set beginning frag, and preamble length */
- MESSAGE("%s, driver loaded (Dag Brattli)\n", driver_name);
-
/* Enable receive interrupts */
switch_bank(iobase, BANK0);
outb(IER_RXHDL_IE, iobase+IER);
@@ -1858,7 +1859,7 @@
if (request_dma(self->io.dma, dev->name)) {
WARNING("%s, unable to allocate dma=%d\n", driver_name,
self->io.dma);
- free_irq(self->io.irq, self);
+ free_irq(self->io.irq, dev);
return -EAGAIN;
}
@@ -2008,18 +2009,10 @@
static void nsc_ircc_wakeup(struct nsc_ircc_cb *self)
{
- int iobase;
-
if (!self->io.suspended)
return;
- iobase = self->io.fir_base;
-
- /* Switch to advanced mode */
- switch_bank(iobase, BANK2);
- outb(ECR1_EXT_SL, iobase+ECR1);
- switch_bank(iobase, BANK0);
-
+ nsc_ircc_setup(&self->io);
nsc_ircc_net_open(self->netdev);
MESSAGE("%s, Waking up\n", driver_name);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)