patch-2.4.9 linux/drivers/net/irda/irport.c
Next file: linux/drivers/net/irda/smc-ircc.c
Previous file: linux/drivers/net/irda/Makefile
Back to the patch index
Back to the overall index
-  Lines: 53
-  Date:
Sun Aug 12 10:51:42 2001
-  Orig file: 
v2.4.8/linux/drivers/net/irda/irport.c
-  Orig date: 
Wed Jul 25 17:10:21 2001
diff -u --recursive --new-file v2.4.8/linux/drivers/net/irda/irport.c linux/drivers/net/irda/irport.c
@@ -293,9 +293,9 @@
 
 	iobase = self->io.sir_base;
 
-	spin_lock_irqsave(&self->lock, flags);
-
 	irport_stop(self);
+	
+	spin_lock_irqsave(&self->lock, flags);
 
 	/* Initialize UART */
 	outb(UART_LCR_WLEN8, iobase+UART_LCR);  /* Reset DLAB */
@@ -353,7 +353,7 @@
 	int lcr;    /* Line control reg */
 	int divisor;
 
-	IRDA_DEBUG(2, __FUNCTION__ "(), Setting speed to: %d\n", speed);
+	IRDA_DEBUG(0, __FUNCTION__ "(), Setting speed to: %d\n", speed);
 
 	ASSERT(self != NULL, return;);
 
@@ -616,7 +616,9 @@
 	struct irport_cb *self;
 	unsigned long flags;
 	int iobase;
-	__s32 speed;
+	s32 speed;
+
+	IRDA_DEBUG(0, __FUNCTION__ "()\n");
 
 	ASSERT(dev != NULL, return 0;);
 	
@@ -773,14 +775,19 @@
 	struct irport_cb *self;
 	int iobase;
 
+	IRDA_DEBUG(0, __FUNCTION__ "()\n");
+	
 	ASSERT(dev != NULL, return -1;);
 	self = (struct irport_cb *) dev->priv;
 
 	iobase = self->io.sir_base;
 
 	if (request_irq(self->io.irq, self->interrupt, 0, dev->name, 
-			(void *) dev))
+			(void *) dev)) {
+		IRDA_DEBUG(0, __FUNCTION__ "(), unable to allocate irq=%d\n",
+			   self->io.irq);
 		return -EAGAIN;
+	}
 
 	irport_start(self);
 
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)