Bug 41104

Summary: Stale comment removal from pccardd(8)
Product: Documentation Reporter: Hiten Pandya <hiten>
Component: Books & ArticlesAssignee: Warner Losh <imp>
Status: Closed FIXED    
Severity: Affects Only Me CC: hiten
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Hiten Pandya 2002-07-29 05:40:01 UTC
	The pccardd(8) manual page holds a very stale comment, which notes
	some (old) facts about how things could mess up with a driver if a
	card was removed; such as freeing the private data structures etc.

	This note is pre-{lkm,kld} times, so it nows needs to be removed.

	NOTE: There is still a note in the BUGS section, about how things
	can really fry, if system resources have been allocated, for e.g.
	Network Mounted Filesystems; I _explicitly_ did not remove this
	comment, as I was not sure about this.
	
	Please do not hesitate to comment on this patch:
	hiten@uk.FreeBSD.org

	Thanks.
	
	  -- Hiten
	  -- http://www.unixdaemons.com/~hiten

Fix: 

Apply this patch to pccard(8), from 'src/'.  This patch CAN be
	MFC'ed as it does apply to -STABLE releases as well.  Heck!, it
	applies to any release which can do loadable kernel modules. :-)

	Index: usr.sbin/pccard/pccardd/pccardd.8
	===================================================================
	RCS file: /home/ncvs/src/usr.sbin/pccard/pccardd/pccardd.8,v
	retrieving revision 1.26
	diff -u -r1.26 pccardd.8
	--- usr.sbin/pccard/pccardd/pccardd.8	2002/07/14 14:44:49	1.26
	+++ usr.sbin/pccard/pccardd/pccardd.8	2002/07/29 04:15:31
	@@ -110,18 +110,6 @@
	 Once a card/driver instance is configured, the resources
	 bound to that instance are remembered, and if the card is removed
	 and reinserted, the same driver is allocated.
	-The primary reason
	-is that once a driver is associated with a card, the
	-driver's
	-.Fn probe
	-routine has been called, and this usually causes driver specific
	-data areas to be initialized with the I/O ports or memory resources
	-allocated to the card.
	-Most drivers are not designed to be
	-disassociated from the hardware and then reassociated with different
	-parameters.
	-This will change significantly when loadable kernel
	-modules are supported.
	 .Pp
	 SIGHUP causes
	 .Nm
How-To-Repeat: 
	Visit the pccardd(8) man page.
Comment 1 John Baldwin freebsd_committer freebsd_triage 2002-07-29 13:14:34 UTC
On 29-Jul-2002 Hiten Pandya wrote:
> 
>>Number:         41104
>>Category:       docs
>>Synopsis:       Stale comment removal from pccardd(8)
>>Confidential:   no
>>Severity:       non-critical
>>Priority:       low
>>Responsible:    freebsd-doc
>>State:          open
>>Quarter:        
>>Keywords:       
>>Date-Required:
>>Class:          doc-bug
>>Submitter-Id:   current-users
>>Arrival-Date:   Sun Jul 28 21:40:01 PDT 2002
>>Closed-Date:
>>Last-Modified:
>>Originator:     Hiten Pandya
>>Release:        FreeBSD 4.6-STABLE i386
>>Organization:
>>Environment:
> 
>       Not Applicable.
> 
>>Description:
> 
>       The pccardd(8) manual page holds a very stale comment, which notes
>       some (old) facts about how things could mess up with a driver if a
>       card was removed; such as freeing the private data structures etc.
> 
>       This note is pre-{lkm,kld} times, so it nows needs to be removed.
> 
>       NOTE: There is still a note in the BUGS section, about how things
>       can really fry, if system resources have been allocated, for e.g.
>       Network Mounted Filesystems; I _explicitly_ did not remove this
>       comment, as I was not sure about this.
>       
>       Please do not hesitate to comment on this patch:
>       hiten@uk.FreeBSD.org
> 
>       Thanks.
>       
>         -- Hiten
>         -- http://www.unixdaemons.com/~hiten

Unfortunately using KLD's does not fix this problem and it is still an
issue.  I can't eject my cardbus rl0 card w/o my laptop locking up for
exactly this reason.  This patch should not be committed unless Warner
(imp@, cc'd) approves.

>>Fix:
> 
>       Apply this patch to pccard(8), from 'src/'.  This patch CAN be
>       MFC'ed as it does apply to -STABLE releases as well.  Heck!, it
>       applies to any release which can do loadable kernel modules. :-)
> 
>       Index: usr.sbin/pccard/pccardd/pccardd.8
>       ===================================================================
>       RCS file: /home/ncvs/src/usr.sbin/pccard/pccardd/pccardd.8,v
>       retrieving revision 1.26
>       diff -u -r1.26 pccardd.8
>       --- usr.sbin/pccard/pccardd/pccardd.8   2002/07/14 14:44:49     1.26
>       +++ usr.sbin/pccard/pccardd/pccardd.8   2002/07/29 04:15:31
>       @@ -110,18 +110,6 @@
>        Once a card/driver instance is configured, the resources
>        bound to that instance are remembered, and if the card is removed
>        and reinserted, the same driver is allocated.
>       -The primary reason
>       -is that once a driver is associated with a card, the
>       -driver's
>       -.Fn probe
>       -routine has been called, and this usually causes driver specific
>       -data areas to be initialized with the I/O ports or memory resources
>       -allocated to the card.
>       -Most drivers are not designed to be
>       -disassociated from the hardware and then reassociated with different
>       -parameters.
>       -This will change significantly when loadable kernel
>       -modules are supported.
>        .Pp
>        SIGHUP causes
>        .Nm

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
Comment 2 M. Warner Losh 2002-07-29 16:03:26 UTC
In message: <XFMail.20020729081434.jhb@FreeBSD.org>
            John Baldwin <jhb@FreeBSD.org> writes:
: Unfortunately using KLD's does not fix this problem and it is still an
: issue.  I can't eject my cardbus rl0 card w/o my laptop locking up for
: exactly this reason.  This patch should not be committed unless Warner
: (imp@, cc'd) approves.

Yes, the comments in the pccardd man page are correct (eg, that's why
things are they way they are).  However, once the underlying problems
in the kernel were fixed, pccardd wasn't updated to be less smart
about the resources a card uses.  Likely it should read:

	The primary reasons are historical.

What happens in NEWCARD with a rl card aren't relevant to this
discussion :-) The reason that you can't eject the rl0 card has to do
with something else (likely an ISR that doesn't properly terminate
when the card is gone or a detach routine that's minorly bogus).

Warner
Comment 3 John Baldwin freebsd_committer freebsd_triage 2002-07-29 16:10:03 UTC
On 29-Jul-2002 M. Warner Losh wrote:
> In message: <XFMail.20020729081434.jhb@FreeBSD.org>
>             John Baldwin <jhb@FreeBSD.org> writes:
>: Unfortunately using KLD's does not fix this problem and it is still an
>: issue.  I can't eject my cardbus rl0 card w/o my laptop locking up for
>: exactly this reason.  This patch should not be committed unless Warner
>: (imp@, cc'd) approves.
> 
> Yes, the comments in the pccardd man page are correct (eg, that's why
> things are they way they are).  However, once the underlying problems
> in the kernel were fixed, pccardd wasn't updated to be less smart
> about the resources a card uses.  Likely it should read:
> 
>       The primary reasons are historical.

Ah, ok.

> What happens in NEWCARD with a rl card aren't relevant to this
> discussion :-) The reason that you can't eject the rl0 card has to do
> with something else (likely an ISR that doesn't properly terminate
> when the card is gone or a detach routine that's minorly bogus).

Well, it's the same behavior. :-P  The rl(4) driver doesn't allow for
devices to go away and gets stuck in a loop spinning forever waiting
for a card reset to succeed and the reset keeps failing for obvious
reasons.  Completely hangs the machine.  *sigh*

> Warner

-- 

John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/
Comment 4 M. Warner Losh 2002-07-29 16:19:23 UTC
In message: <XFMail.20020729111003.jhb@FreeBSD.org>
            John Baldwin <jhb@FreeBSD.org> writes:
: 
: On 29-Jul-2002 M. Warner Losh wrote:
: > In message: <XFMail.20020729081434.jhb@FreeBSD.org>
: >             John Baldwin <jhb@FreeBSD.org> writes:
: >: Unfortunately using KLD's does not fix this problem and it is still an
: >: issue.  I can't eject my cardbus rl0 card w/o my laptop locking up for
: >: exactly this reason.  This patch should not be committed unless Warner
: >: (imp@, cc'd) approves.
: > 
: > Yes, the comments in the pccardd man page are correct (eg, that's why
: > things are they way they are).  However, once the underlying problems
: > in the kernel were fixed, pccardd wasn't updated to be less smart
: > about the resources a card uses.  Likely it should read:
: > 
: >       The primary reasons are historical.
: 
: Ah, ok.
: 
: > What happens in NEWCARD with a rl card aren't relevant to this
: > discussion :-) The reason that you can't eject the rl0 card has to do
: > with something else (likely an ISR that doesn't properly terminate
: > when the card is gone or a detach routine that's minorly bogus).
: 
: Well, it's the same behavior. :-P  The rl(4) driver doesn't allow for
: devices to go away and gets stuck in a loop spinning forever waiting
: for a card reset to succeed and the reset keeps failing for obvious
: reasons.  Completely hangs the machine.  *sigh*

Yes.  I've seen it succeed for me.  any chance you can get me a
traceback of where it is happening?

Warner
Comment 5 Hiten Pandya 2002-07-29 17:11:22 UTC
On Mon, Jul 29, 2002 at 09:03:26AM -0600, M. Warner Losh wrote the words in effect of:
> In message: <XFMail.20020729081434.jhb@FreeBSD.org>
>             John Baldwin <jhb@FreeBSD.org> writes:
> : Unfortunately using KLD's does not fix this problem and it is still an
> : issue.  I can't eject my cardbus rl0 card w/o my laptop locking up for
> : exactly this reason.  This patch should not be committed unless Warner
> : (imp@, cc'd) approves.
> 
> Yes, the comments in the pccardd man page are correct (eg, that's why
> things are they way they are).  However, once the underlying problems
> in the kernel were fixed, pccardd wasn't updated to be less smart
> about the resources a card uses.  Likely it should read:
> 
> 	The primary reasons are historical.

Ok.  When I submitted the PR, and after a while, Greg Lehey, first asked
me, "I removed the explanation, but not the claim".  Although, we now
already have the so-called "loadable kernel modules", so I think, we
would need to move the paragraph down, to an "ISSUES" section, and there
it can be marked as "historical".  Is that permitted?

> What happens in NEWCARD with a rl card aren't relevant to this
> discussion :-) The reason that you can't eject the rl0 card has to do
> with something else (likely an ISR that doesn't properly terminate
> when the card is gone or a detach routine that's minorly bogus).

Does this issue happen with all NEWCARD (network) devices?

-- 
Hiten Pandya
http://www.unixdaemons.com/~hiten
hiten@unixdaemons.com, hiten@uk.FreeBSD.org, hiten@xMach.org
PGP: http://pgp.mit.edu:11371/pks/lookup?search=Hiten+Pandya&op=index
Comment 6 M. Warner Losh 2002-07-29 17:15:48 UTC
In message: <20020729121121.A24715@angelica.unixdaemons.com>
            Hiten Pandya <hiten@angelica.unixdaemons.com> writes:
: On Mon, Jul 29, 2002 at 09:03:26AM -0600, M. Warner Losh wrote the words in effect of:
: > In message: <XFMail.20020729081434.jhb@FreeBSD.org>
: >             John Baldwin <jhb@FreeBSD.org> writes:
: > : Unfortunately using KLD's does not fix this problem and it is still an
: > : issue.  I can't eject my cardbus rl0 card w/o my laptop locking up for
: > : exactly this reason.  This patch should not be committed unless Warner
: > : (imp@, cc'd) approves.
: > 
: > Yes, the comments in the pccardd man page are correct (eg, that's why
: > things are they way they are).  However, once the underlying problems
: > in the kernel were fixed, pccardd wasn't updated to be less smart
: > about the resources a card uses.  Likely it should read:
: > 
: > 	The primary reasons are historical.
: 
: Ok.  When I submitted the PR, and after a while, Greg Lehey, first asked
: me, "I removed the explanation, but not the claim".  Although, we now
: already have the so-called "loadable kernel modules", so I think, we
: would need to move the paragraph down, to an "ISSUES" section, and there
: it can be marked as "historical".  Is that permitted?

Maybe.  Assign the PR to me and I'll take a look at how to better
document things.

: > What happens in NEWCARD with a rl card aren't relevant to this
: > discussion :-) The reason that you can't eject the rl0 card has to do
: > with something else (likely an ISR that doesn't properly terminate
: > when the card is gone or a detach routine that's minorly bogus).
: 
: Does this issue happen with all NEWCARD (network) devices?

It should happen with none.  It does happen with drivers that are
imporperly written, or assume that their hardware can never go away.

Warner
Comment 7 Hiten Pandya 2002-07-29 17:21:45 UTC
On Mon, Jul 29, 2002 at 10:15:48AM -0600, M. Warner Losh wrote the words in effect of:
> : > Yes, the comments in the pccardd man page are correct (eg, that's why
> : > things are they way they are).  However, once the underlying problems
> : > in the kernel were fixed, pccardd wasn't updated to be less smart
> : > about the resources a card uses.  Likely it should read:
> : > 
> : > 	The primary reasons are historical.
> : 
> : Ok.  When I submitted the PR, and after a while, Greg Lehey, first asked
> : me, "I removed the explanation, but not the claim".  Although, we now
> : already have the so-called "loadable kernel modules", so I think, we
> : would need to move the paragraph down, to an "ISSUES" section, and there
> : it can be marked as "historical".  Is that permitted?
> 
> Maybe.  Assign the PR to me and I'll take a look at how to better
> document things.

Me != Committer. :-)

> It should happen with none.  It does happen with drivers that are
> imporperly written, or assume that their hardware can never go away.

Ah. Understood.

-- 
Hiten Pandya
http://www.unixdaemons.com/~hiten
hiten@unixdaemons.com, hiten@uk.FreeBSD.org, hiten@xMach.org
PGP: http://pgp.mit.edu:11371/pks/lookup?search=Hiten+Pandya&op=index
Comment 8 John Baldwin freebsd_committer freebsd_triage 2002-07-29 18:03:38 UTC
Responsible Changed
From-To: freebsd-doc->imp

imp@ wants this one.
Comment 9 Warner Losh freebsd_committer freebsd_triage 2002-09-30 00:53:53 UTC
State Changed
From-To: open->closed

Committed.