The attached patch was submitted by Andrzej Krzysztofowicz
<ankry@green.mif.pg.gda.pl> to fix resource problems when
floppy initialization fails. I assume it's still needed...
-- Chip Salzenberg - a.k.a. - <chip@perlsupport.com> "There -- we made them swerve slightly!" //MST3K--EVF5PPMfhYS0aIcm Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=patch
Index: drivers/block/floppy.c *************** __initfunc(int floppy_init(void)) *** 4182,4185 **** --- 4182,4188 ---- FDCS->rawcmd = 2; if (user_reset_fdc(-1,FD_RESET_ALWAYS,0)){ + /* free ioports reserved by floppy_grab_irq_and_dma() */ + release_region(FDCS->address, 6); + release_region(FDCS->address+7, 1); FDCS->address = -1; FDCS->version = FDC_NONE; *************** __initfunc(int floppy_init(void)) *** 4189,4192 **** --- 4192,4198 ---- FDCS->version = get_fdc_version(); if (FDCS->version == FDC_NONE){ + /* free ioports reserved by floppy_grab_irq_and_dma() */ + release_region(FDCS->address, 6); + release_region(FDCS->address+7, 1); FDCS->address = -1; continue; *************** __initfunc(int floppy_init(void)) *** 4210,4213 **** --- 4216,4225 ---- { DPRINT("no floppy controllers found\n"); + floppy_tq.routine = (void *)(void *) empty; + mark_bh(IMMEDIATE_BH); + schedule(); + if (usage_count) + floppy_release_irq_and_dma(); + blk_dev[MAJOR_NR].request_fn = NULL; unregister_blkdev(MAJOR_NR,"fd"); }
--EVF5PPMfhYS0aIcm--
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/