patch-2.4.0-test12 linux/drivers/media/radio/radio-zoltrix.c

Next file: linux/drivers/media/video/bttv-cards.c
Previous file: linux/drivers/media/radio/radio-typhoon.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test11/linux/drivers/media/radio/radio-zoltrix.c linux/drivers/media/radio/radio-zoltrix.c
@@ -355,20 +355,22 @@
 		printk(KERN_ERR "You must set an I/O address with io=0x???\n");
 		return -EINVAL;
 	}
-	if (check_region(io, 2)) {
-		printk(KERN_ERR "zoltrix: port 0x%x already in use\n", io);
-		return -EBUSY;
-	}
 	if ((io != 0x20c) && (io != 0x30c)) {
 		printk(KERN_ERR "zoltrix: invalid port, try 0x20c or 0x30c\n");
 		return -ENXIO;
 	}
+
 	zoltrix_radio.priv = &zoltrix_unit;
+	if (request_region(io, 2, "zoltrix")) {
+		printk(KERN_ERR "zoltrix: port 0x%x already in use\n", io);
+		return -EBUSY;
+	}
 
 	if (video_register_device(&zoltrix_radio, VFL_TYPE_RADIO) == -1)
+	{
+		release_region(io, 2);
 		return -EINVAL;
-
-	request_region(io, 2, "zoltrix");
+	}
 	printk(KERN_INFO "Zoltrix Radio Plus card driver.\n");
 
 	init_MUTEX(&zoltrix_unit.lock);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)