Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Dec 1998 09:10:01 -0800 (PST)
From:      Nate Williams <nate@mt.sri.com>
To:        freebsd-bugs@FreeBSD.ORG
Subject:   Re: kern/9030: DMPno2 - PCCards are not being recognised on insertion  after system startup 
Message-ID:  <199812091710.JAA06063@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/9030; it has been noted by GNATS.

From: Nate Williams <nate@mt.sri.com>
To: David Pick <D.M.Pick@qmw.ac.uk>
Cc: Nate Williams <nate@mt.sri.com>, FreeBSD-gnats-submit@FreeBSD.ORG
Subject: Re: kern/9030: DMPno2 - PCCards are not being recognised on insertion 
         after system startup 
Date: Wed, 9 Dec 1998 10:05:19 -0700

 > >> >Number:         9030
 > >> >Category:       kern
 > >> >Synopsis:       DMPno2 - PCCards are not being recognised on insertion afte
 > >r system startup
 > >> >Confidential:   no
 > >> >Severity:       serious
 > >> >Priority:       high
 > >> >Responsible:    freebsd-bugs
 > >> >State:          open
 > >> >Quarter:
 > >> >Keywords:
 > >> >Date-Required:
 > >> >Class:          sw-bug
 > >> >Submitter-Id:   current-users
 > >> >Arrival-Date:   Wed Dec  9 03:30:01 PST 1998
 > >> >Last-Modified:
 > >> >Originator:     David Pick
 > >> >Organization:
 > >> >Release:        FreeBSD 3.0-RELEASE i386
 > >> >Environment:
 > >> 
 > >> 	FreeBSD 3.0 installed from Walnut Creek CDROM onto a
 > >> 	Toshiba Libretto 50CT.
 > >> 
 > >> >Description:
 > >> 
 > >> 	PCCards are not being recognised on insertion.
 > >
 > >Here's a quick fix for the problem.  The correct fix is to configure
 > >your PCIC controller quickly.  The reason this hasn't been done is
 > >no-one with the ability to do it has the time to do it.
 > >
 > >On line 816 of /sys/pcic.c:
 > >        if (validslots && pcic_irq <= 0)
 > >Change this to:
 > >        if (validslots)
 > >
 > >And it will work.  However, you're wasting an IRQ for the PCIC
 > >controller that is doing nothing for you.
 > 
 > And indeed it *did* work. Many thanks. I must admit to some
 > curiosity about how/why this causes an IRQ to be wasted, and
 > if the code you advised removing was there only to prevent an
 > IRQ from being wasted; but I guess I'll have to read the code
 > to find out why/what is happening ( ;-) - and if I understand
 > it fix it myself ( ;-) (!)
 
 The issue is that the PCIC is assigned an interrupt to inform the kernel
 of insertion/removal events.  However, this interrupt is not being
 generated by these events, so in effect the asignment of the interrupt
 to the controller is 'wasting' an interrupt since it doesn't work.
 
 The code in question above causes the kernel to 'poll' for
 insertion/removal events, thus eliminating the need for the kernel to
 get interrupts for the events.  The reason this isn't the default is
 because the 'interrupt' code (hopefully) reduces the race condition that
 occurs when hardware is removed out from under a software driver.
 
 Whether or not this is the case is unknown, but it's something to be
 
 
 Nate

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199812091710.JAA06063>