From: Randy Dunlap register_chrdev() can return errors (negative) other then -EBUSY, so check for any negative error code. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton --- drivers/pcmcia/ds.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN drivers/pcmcia/ds.c~pcmcia-ds-handle-any-error-code drivers/pcmcia/ds.c --- 25/drivers/pcmcia/ds.c~pcmcia-ds-handle-any-error-code 2005-05-13 22:56:19.000000000 -0700 +++ 25-akpm/drivers/pcmcia/ds.c 2005-05-13 22:56:19.000000000 -0700 @@ -1592,9 +1592,9 @@ static int __init init_pcmcia_bus(void) /* Set up character device for user mode clients */ i = register_chrdev(0, "pcmcia", &ds_fops); - if (i == -EBUSY) + if (i < 0) printk(KERN_NOTICE "unable to find a free device # for " - "Driver Services\n"); + "Driver Services (error=%d)\n", i); else major_dev = i; _