* [PATCH] pcmcia/serial release of memory I/O twice
@ 2004-03-03 14:59 Jose Alonso
0 siblings, 0 replies; only message in thread
From: Jose Alonso @ 2004-03-03 14:59 UTC (permalink / raw)
To: linux-serial; +Cc: rmk+serial
I am using a pcmcia modem (linux-2.6.3) and when I unplug the
card the kernel warms:
"kernel: Trying to free nonexistent resource <000003e8-000003ef>"
The I/O address is allocated by pcmcia_request_io and released by
serial8250_release_port and pcmcia_release_io.
The allocation of I/O address is done in:
module serial_cs:
simple_config:
pcmcia_request_io ---> allocate I/O address
setup_serial ... serial8250_request_port --> doesn't allocate I/O
because flag UPF_RESOURCES is not set.
The release of I/O address is done in:
module serial_cs:
serial_remove:
unregister_serial ... serial8250_release_port ---> release I/O
pcmcia_release_io ---> release again the I/O
I suggest the patch bellow:
"serial8250_release_port undo only what serial8250_request_port does"
--- linux-2.6.3/drivers/serial/8250.c.ORIG 2004-02-18 00:57:14.000000000
-0300
+++ linux-2.6.3/drivers/serial/8250.c 2004-03-03 11:26:27.757353637 -
0300
@@ -1670,6 +1670,8 @@
struct uart_8250_port *up = (struct uart_8250_port *)port;
unsigned long start, offset = 0, size = 0;
+ if (!(up->port.flags & UPF_RESOURCES))
+ return;
if (up->port.type == PORT_RSA) {
offset = UART_RSA_BASE << up->port.regshift;
size = 8;
--
alonso
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-03-03 14:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-03 14:59 [PATCH] pcmcia/serial release of memory I/O twice Jose Alonso
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox