From: Adam Belay <ambx1@neo.rr.com>

Add missing 8250_pnp module_exit() handler.  Without this the driver leaves
tables registered after being unloaded which causes mysterious crashes.



---

 drivers/serial/8250_pnp.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)

diff -puN drivers/serial/8250_pnp.c~8250_pnp-cleanup drivers/serial/8250_pnp.c
--- 25/drivers/serial/8250_pnp.c~8250_pnp-cleanup	2004-01-23 10:28:43.000000000 -0800
+++ 25-akpm/drivers/serial/8250_pnp.c	2004-01-23 10:28:43.000000000 -0800
@@ -420,6 +420,9 @@ serial_pnp_probe(struct pnp_dev * dev, c
 
 static void serial_pnp_remove(struct pnp_dev * dev)
 {
+	int line = (int)pnp_get_drvdata(dev);
+	if (line)
+		unregister_serial(line - 1);
 	return;
 }
 
@@ -437,7 +440,7 @@ static int __init serial8250_pnp_init(vo
 
 static void __exit serial8250_pnp_exit(void)
 {
-	/* FIXME */
+	pnp_unregister_driver(&serial_pnp_driver);
 }
 
 module_init(serial8250_pnp_init);

_