--- zzzz-none-000/linux-2.4.17/drivers/block/ll_rw_blk.c 2001-10-29 20:11:17.000000000 +0000 +++ sangam-fb-322/linux-2.4.17/drivers/block/ll_rw_blk.c 2004-11-24 13:23:44.000000000 +0000 @@ -31,6 +31,19 @@ #include #include +/* Maybe something to cleanup in 2.3? + * We shouldn't touch 0x3f2 on machines which don't have a PC floppy controller + * - it may contain something else which could cause a system hang. This is + * now selected by a configuration option, but maybe it ought to be in the + * floppy code itself? - rmk + */ +#if defined(__i386__) || (defined(__arm__) && defined(CONFIG_ARCH_ACORN)) +#define FLOPPY_BOOT_DISABLE +#endif +#ifdef CONFIG_BLK_DEV_FD +#undef FLOPPY_BOOT_DISABLE +#endif + /* * MAC Floppy IWM hooks */ @@ -1165,12 +1178,14 @@ #ifdef CONFIG_ATARI_FLOPPY atari_floppy_init(); #endif +#ifdef CONFIG_BLK_DEV_FD1772 + fd1772_init(); +#endif #ifdef CONFIG_BLK_DEV_FD floppy_init(); -#else -#if defined(__i386__) /* Do we even need this? */ - outb_p(0xc, 0x3f2); #endif +#ifdef FLOPPY_BOOT_DISABLE + outb_p(0xc, 0x3f2); #endif #ifdef CONFIG_CDU31A cdu31a_init();