Subject: Re: kern/32567 umidi cable number
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: Chapman Flack <nbgnats@anastigmatix.net>
List: netbsd-bugs
Date: 01/20/2006 13:45:01
The following reply was made to PR kern/32567; it has been noted by GNATS.
From: Chapman Flack <nbgnats@anastigmatix.net>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: kern/32567 umidi cable number
Date: Fri, 20 Jan 2006 08:49:24 -0500
hmm ... belay that patch for a moment ... this is more complicated yet.
There exist devices that require a particular assignment of cable
numbers, such as { 1, 3 } on endpoint 2 and { 2, 4 } on endpoint 4,
which will not match either general scheme. A CN_FIXED quirk type that
explicitly gives the mapping will be needed. I am working on updating
the patch.
My comments about array bounds were (taken literally) off base, as the
array has a fixed size of 16 so any CN will be a legal index; taken
broadly, they were still on the mark because alloc_all_jacks places the
jacks in the first consecutive slots of the array, not the slots
corresponding to their CNs. But just putting the jacks in the right slots
would be an easier fix than the cn_base field I added, and would have
the advantage of being able to cover the CN_FIXED case, which the cn_base
approach cannot.