On Mon, 19 Mar 2007 18:42:22 +0100, Jesper Juhl wrote:
> --- a/drivers/block/floppy.c
> +++ b/drivers/block/floppy.c
> @@ -4302,7 +4302,12 @@ static int __init floppy_init(void)
> if (err)
> goto out_flush_work;
>
> - device_create_file(&floppy_device[drive].dev,&dev_attr_cmos);
> + err = device_create_file(&floppy_device[drive].dev, &dev_attr_cmos);
> + if (err)
> + goto out_flush_work;
> +
> /* to be cleaned up... */
> disks[drive]->private_data = (void *)(long)drive;
> disks[drive]->queue = floppy_queue;
The floppy driver's sysfs file just provides some auxiliary
information to user-space, none of which matters for most of
its users. It is IMO totally inappropriate to fail floppy
driver init in this case.