--- linux-2.5.2-pre7/drivers/block/xd.c Thu Jan 3 19:52:01 2002 +++ linux/drivers/block/xd.c Fri Jan 4 00:39:48 2002 @@ -249,7 +249,8 @@ for (i = 0; i < xd_drives; i++) { xd_valid[i] = 1; - register_disk(&xd_gendisk, MKDEV(MAJOR_NR,i<<6), 1<<6, &xd_fops, + register_disk(&xd_gendisk, mk_kdev(MAJOR_NR,i<<6), 1<<6, + &xd_fops, xd_info[i].heads * xd_info[i].cylinders * xd_info[i].sectors); } @@ -287,8 +288,9 @@ INIT_REQUEST; /* do some checking on the request structure */ if (CURRENT_DEV < xd_drives + && (CURRENT->flags & REQ_CMD) && CURRENT->sector + CURRENT->nr_sectors - <= xd_struct[MINOR(CURRENT->rq_dev)].nr_sects) { + <= xd_struct[minor(CURRENT->rq_dev)].nr_sects) { block = CURRENT->sector; count = CURRENT->nr_sectors; @@ -312,7 +314,7 @@ { int dev; - if ((!inode) || !(inode->i_rdev)) + if ((!inode) || kdev_none(inode->i_rdev)) return -EINVAL; dev = DEVICE_NR(inode->i_rdev);