cmpci oops on rmmod + fix

From: Krzysztof Rusocki
Date: Thu Jun 17 2004 - 15:29:44 EST



Hi,

The cmpci driver included in Linux 2.6.7 causes an oops on rmmod,
I believe cm_remove should be marked __devexit rather than __devinit.

Patch attached.

Cheers,
Krzysztof
--- cmpci.c.2.6.7 2004-06-17 15:09:29.061994072 +0200
+++ cmpci.c 2004-06-17 22:34:20.660244240 +0200
@@ -3280,7 +3280,7 @@
MODULE_DESCRIPTION("CM8x38 Audio Driver");
MODULE_LICENSE("GPL");

-static void __devinit cm_remove(struct pci_dev *dev)
+static void __devexit cm_remove(struct pci_dev *dev)
{
struct cm_state *s = pci_get_drvdata(dev);

@@ -3337,7 +3337,7 @@
.name = "cmpci",
.id_table = id_table,
.probe = cm_probe,
- .remove = cm_remove
+ .remove = __devexit_p(cm_remove)
};

static int __init init_cmpci(void)