Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

[Cardman 40x0] Fix udev device creation

This patch corrects the order of the calls to register_chrdev() and
pcmcia_register_driver(). Now udev correctly creates userspace device
files /dev/cmmN and /dev/cmxN respectively.

Based on an earlier patch by Jan Niehusmann <jan@gondor.com>.

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Harald Welte and committed by
Linus Torvalds
7fc5b1e3 3cd73eed

+13 -8
+6 -4
drivers/char/pcmcia/cm4000_cs.c
··· 1981 1981 if (!cmm_class) 1982 1982 return -1; 1983 1983 1984 - rc = pcmcia_register_driver(&cm4000_driver); 1985 - if (rc < 0) 1986 - return rc; 1987 - 1988 1984 major = register_chrdev(0, DEVICE_NAME, &cm4000_fops); 1989 1985 if (major < 0) { 1990 1986 printk(KERN_WARNING MODULE_NAME 1991 1987 ": could not get major number\n"); 1992 1988 return -1; 1989 + } 1990 + 1991 + rc = pcmcia_register_driver(&cm4000_driver); 1992 + if (rc < 0) { 1993 + unregister_chrdev(major, DEVICE_NAME); 1994 + return rc; 1993 1995 } 1994 1996 1995 1997 return 0;
+7 -4
drivers/char/pcmcia/cm4040_cs.c
··· 724 724 if (!cmx_class) 725 725 return -1; 726 726 727 - rc = pcmcia_register_driver(&reader_driver); 728 - if (rc < 0) 729 - return rc; 730 - 731 727 major = register_chrdev(0, DEVICE_NAME, &reader_fops); 732 728 if (major < 0) { 733 729 printk(KERN_WARNING MODULE_NAME 734 730 ": could not get major number\n"); 735 731 return -1; 736 732 } 733 + 734 + rc = pcmcia_register_driver(&reader_driver); 735 + if (rc < 0) { 736 + unregister_chrdev(major, DEVICE_NAME); 737 + return rc; 738 + } 739 + 737 740 return 0; 738 741 } 739 742