]> git.neil.brown.name Git - history.git/commitdiff
[PNP]: Fix Serial PnP driver
authorAdam Belay <ambx1@neo.rr.com>
Sun, 8 Feb 2004 15:23:01 +0000 (15:23 +0000)
committerAdam Belay <ambx1@neo.rr.com>
Sun, 8 Feb 2004 15:23:01 +0000 (15:23 +0000)
The serial driver currently fails to unregister its pnp driver upon
module unload.  This patch corrects the problem by calling
pnp_unregister_driver and implementing a proper remove function.

drivers/serial/8250_pnp.c

index deb1ebe9ed9fdf6386fff9a23021505bd97a73c6..ba3fd2acfa21de8b209816d7dcd44aaec60796f1 100644 (file)
@@ -413,7 +413,9 @@ serial_pnp_probe(struct pnp_dev * dev, const struct pnp_device_id *dev_id)
 
 static void serial_pnp_remove(struct pnp_dev * dev)
 {
-       return;
+       int line = (int)pnp_get_drvdata(dev);
+       if (line)
+               unregister_serial(line - 1);
 }
 
 static struct pnp_driver serial_pnp_driver = {
@@ -430,7 +432,7 @@ static int __init serial8250_pnp_init(void)
 
 static void __exit serial8250_pnp_exit(void)
 {
-       /* FIXME */
+       pnp_unregister_driver(&serial_pnp_driver);
 }
 
 module_init(serial8250_pnp_init);