public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Patch 2.4.18-pre9-SERIAL:Address in use error, mem based cards
@ 2002-02-11  9:08 Roman Kurakin
  0 siblings, 0 replies; only message in thread
From: Roman Kurakin @ 2002-02-11  9:08 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 372 bytes --]

Hi,

  I have found a bug. It is in support of serial cards which uses memory 
for I/O
insted of ports. I made a patch for serial.c and fix one place, but 
probably the
problem like this one could be somewhere else.

Description:
  If you try to use setserial with such cards you will get "Address in 
use" (-EADDRINUSE)

Best regards,
                      Kurakin Roman

[-- Attachment #2: serial-2.4.18.pch --]
[-- Type: text/plain, Size: 841 bytes --]

--- serial.c.orig	Mon Feb 11 11:54:21 2002
+++ serial.c	Mon Feb 11 11:55:44 2002
@@ -2084,6 +2084,7 @@
 	unsigned int		i,change_irq,change_port;
 	int 			retval = 0;
 	unsigned long		new_port;
+	unsigned long           new_mem;
 
 	if (copy_from_user(&new_serial,new_info,sizeof(new_serial)))
 		return -EFAULT;
@@ -2094,6 +2095,8 @@
 	if (HIGH_BITS_OFFSET)
 		new_port += (unsigned long) new_serial.port_high << HIGH_BITS_OFFSET;
 
+	new_mem = new_serial.iomem_base;
+
 	change_irq = new_serial.irq != state->irq;
 	change_port = (new_port != ((int) state->port)) ||
 		(new_serial.hub6 != state->hub6);
@@ -2134,6 +2137,7 @@
 		for (i = 0 ; i < NR_PORTS; i++)
 			if ((state != &rs_table[i]) &&
 			    (rs_table[i].port == new_port) &&
+			    (rs_table[i].iomem_base == new_mem) &&
 			    rs_table[i].type)
 				return -EADDRINUSE;
 	}

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-02-11  9:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-02-11  9:08 Patch 2.4.18-pre9-SERIAL:Address in use error, mem based cards Roman Kurakin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox