Date: Thu, 16 Nov 1995 09:42:34 -0800 From: "Justin T. Gibbs" <gibbs@freefall.freebsd.org> To: joerg_wunsch@interface-business.de (Joerg Wunsch) Cc: freebsd-scsi@freebsd.org Subject: Re: SCSI reprobe Message-ID: <199511161742.JAA01290@freefall.freebsd.org> In-Reply-To: Your message of "Thu, 16 Nov 1995 15:21:50 %2B0100." <199511161421.PAA00329@ida.interface-business.de>
next in thread | previous in thread | raw e-mail | index | archive | help
>This basically fixes the problem, but opens up another can of worms >whenever the reprobe actually finds a new device, and wants to wire >this one into the system. In my case, the reprobe found a new tape >drive, and these lines in st.c: > >errval >stattach(struct scsi_link *sc_link) >{ >... > if (st_mode_sense(unit, SCSI_NOSLEEP | SCSI_NOMASK | SCSI_SILENT, > ^^^^^^^^^^^^^^^^^^^^^^^^^^ >...caused it to hang again. I assume this is a basic problem also >inside the other device-specific driver, and gave up by now. Perhaps >there's a better solution to base the decision of polled >vs. intterupt-controlled mode on? Well, its even worse than this. The ahc driver, since it uses the eisa/pc interrupt registration routines, has access to its interrupt even during the first attach phase. If you look closely at the code, it masks its interrupt (or in the case of the Eisa probe doesn't turn it on) until after the attach because it knows the SCSI code is going to send the stupid NOSLEEP, NOMASK flags. The only time that the NOSLEEP flag is of any interrest is for the areas of the driver that may use tsleep during an interrupt, but even then, the SCSI code only guesses if interrupts are disabled or not. The NOMASK flag is bogus. I'll experiment with ignoring, and always relying on interrupts, when I get some time. >-- >J"org Wunsch Unix support engineer >joerg_wunsch@interface-business.de > [private: http://www.sax.de/~joerg/] -- Justin T. Gibbs =========================================== FreeBSD: Turning PCs into workstations ===========================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511161742.JAA01290>