idetape_chrdev_open() is finding drive == NULL; test why? Signed-off-by: Randy Dunlap diffstat:= drivers/ide/ide-tape.c | 5 +++++ 1 files changed, 5 insertions(+) diff -Naurp ./drivers/ide/ide-tape.c~ide_tape_test ./drivers/ide/ide-tape.c --- ./drivers/ide/ide-tape.c~ide_tape_test 2005-03-01 23:37:54.000000000 -0800 +++ ./drivers/ide/ide-tape.c 2005-03-09 21:16:57.000000000 -0800 @@ -4108,6 +4108,8 @@ static int idetape_chrdev_open (struct i if (i >= MAX_HWIFS * MAX_DRIVES) return -ENXIO; drive = idetape_chrdevs[i].drive; + printk("ide-tape-open-test: using minor = %d, i = %d, drive = 0x%p\n", + minor, i, drive); tape = drive->driver_data; filp->private_data = drive; @@ -4640,6 +4642,7 @@ static int idetape_cleanup (ide_drive_t return 1; } idetape_chrdevs[minor].drive = NULL; + printk("ide-tape-cleanup-test: clearing drive for minor = %d\n", minor); spin_unlock_irqrestore(&ide_lock, flags); DRIVER(drive)->busy = 0; (void) ide_unregister_subdriver(drive); @@ -4779,6 +4782,8 @@ static int idetape_attach (ide_drive_t * ; idetape_setup(drive, tape, minor); idetape_chrdevs[minor].drive = drive; + printk("ide-tape-attach-test: using minor = %d for drive = 0x%p\n", + minor, drive); devfs_mk_cdev(MKDEV(HWIF(drive)->major, minor), S_IFCHR | S_IRUGO | S_IWUGO,