From owner-freebsd-hackers Tue Mar 28 16:56:47 1995 Return-Path: hackers-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id QAA01611 for hackers-outgoing; Tue, 28 Mar 1995 16:56:47 -0800 Received: from vitruvius.arbld.unimelb.EDU.AU (vitruvius.arbld.unimelb.EDU.AU [128.250.136.1]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id QAA01604 for ; Tue, 28 Mar 1995 16:56:44 -0800 Received: (darrenr@localhost) by vitruvius.arbld.unimelb.EDU.AU (8.6.9/8.6.4) id KAA00923; Wed, 29 Mar 1995 10:55:19 +1000 From: Darren Reed Message-Id: <199503290055.KAA00923@vitruvius.arbld.unimelb.EDU.AU> Subject: Re: Configuring driver added via LKM To: dufault@hda.com (Peter Dufault) Date: Wed, 29 Mar 1995 10:55:17 +1000 (EST) Cc: dufault@hda.com, freebsd-hackers@freefall.cdrom.com In-Reply-To: <199503290024.TAA00578@hda.com> from "Peter Dufault" at Mar 28, 95 07:24:18 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Content-Length: 1056 Sender: hackers-owner@FreeBSD.org Precedence: bulk In some email I received from Peter Dufault, they wrote: > > Is it on purpose that "id_alive" isn't set if you are reconfiguring > a device in "isa/isa.c"? Is there an entry point for "I'm about > to remove you"? > How completely thrashed out is registering a device with the kernel > (completely, including using Garrett's devconf routines) and then > de-registering it in order to completely clean up and register > again? > I may be missing something, but I don't see a set of entry points > that look like there are many people adding and removing device > drivers for debug. I'd like the device driver code to remain > completely clean without any conditionals for the LKM. > > If anyone has any pointers I'd appreciate them. You might want to do the unload of the LKM in stages...first, shut the device down from further IO requests (open/read/write), allow outstanding ones to complete and then remove it from the various tables. I can't see why this wouldn't be doable, as long as you weren't expecting the unload to be immeadiate. darren