diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/char/rocket.c linux-2.5/drivers/char/rocket.c
--- bk-linus/drivers/char/rocket.c	2002-11-21 02:13:57.000000000 +0000
+++ linux-2.5/drivers/char/rocket.c	2002-11-21 17:57:44.000000000 +0000
@@ -1330,7 +1330,7 @@ static char *rp_tty_name(struct tty_stru
 {
 	if (tty)
 		sprintf(buf, "%s%d", tty->driver.name,
-			MINOR(tty->device) - tty->driver.minor_start +
+			minor(tty->device) - tty->driver.minor_start +
 			tty->driver.name_base);
 	else
 		strcpy(buf, "NULL tty");
@@ -1794,6 +1794,10 @@ int __init register_PCI(int i, unsigned 
 		str = "8-port Modem";
 		max_num_aiops = 1;
 		break;
+	case 0x8:
+		str = "mysterious 8 port";
+		max_num_aiops = 1;
+		break;
 	default:
 		str = "(unknown/unsupported)";
 		max_num_aiops = 0;
@@ -1872,6 +1876,10 @@ static int __init init_PCI(int boards_fo
 			PCI_DEVICE_ID_RP8M, i, &bus, &device_fn)) 
 			if(register_PCI(count+boards_found, bus, device_fn))
 				count++;
+		if(!pcibios_find_device(PCI_VENDOR_ID_RP,
+			0x8, i, &bus, &device_fn)) 
+			if(register_PCI(count+boards_found, bus, device_fn))
+				count++;
 	}
 	return(count);
 }
@@ -2072,6 +2080,7 @@ int __init rp_init(void)
 	if (retval < 0) {
 		printk("Couldn't install Rocketport callout driver "
 		       "(error %d)\n", -retval);
+		release_region(controller, 4);
 		return -1;
 	}
 
@@ -2079,6 +2088,7 @@ int __init rp_init(void)
 	if (retval < 0) {
 		printk("Couldn't install tty Rocketport driver "
 		       "(error %d)\n", -retval);
+		release_region(controller, 4);
 		return -1;
 	}
 #ifdef ROCKET_DEBUG_OPEN