
From: Angus Sawyer <angus.sawyer@dsl.pipex.com>

Prevent OOPS on removing floppy driver with "rmmod -f floppy".

floppy.c would attempt to unregister resources for nonexistent device.  

Patch stops the driver attempting to register and unregister the nonexistent
device by removing the drive from the allowed drives mask (defaults to
present).  

(forwarded by akpm@digeo.com)


 drivers/block/floppy.c |    2 ++
 1 files changed, 2 insertions(+)

diff -puN drivers/block/floppy.c~floppy-oops-fix drivers/block/floppy.c
--- 25/drivers/block/floppy.c~floppy-oops-fix	2003-03-20 03:11:48.000000000 -0800
+++ 25-akpm/drivers/block/floppy.c	2003-03-20 03:11:48.000000000 -0800
@@ -3649,6 +3649,8 @@ static void __init config_types(void)
 				name = default_drive_params[type].name;
 				allowed_drive_mask |= 1 << drive;
 			}
+			else
+				allowed_drive_mask &= ~(1 << drive);
 		} else {
 			params = &default_drive_params[0].params;
 			sprintf(temparea, "unknown type %d (usb?)", type);

_
